Improve basement climate control

This commit is contained in:
2025-01-25 22:22:19 -05:00
parent 7ea12a2afa
commit 6f5038bddb

View File

@ -1,17 +1,31 @@
const states = global.get('homeassistant.homeAssistant.states') const states = global.get('homeassistant.homeAssistant.states')
const allowed = states['input_boolean.basement_studio_heat_allowed'].state const allowed = states['input_boolean.basement_studio_heat_allowed'].state
const idleTemp = states['input_number.basement_studio_idle_temp'].state
const outsideTemp = states['weather.iron_nerd_weather_station'].attributes.temperature const outsideTemp = states['weather.iron_nerd_weather_station'].attributes.temperature
const nightMode = states['input_boolean.night_mode'].state
let power = {}
let preset = {}
if (outsideTemp > 32) {
power = 'off'
} else {
power = 'on'
if (nightMode === 'on') {
preset = "frost"
} else {
preset = "eco"
}
}
if (allowed === 'on') { if (allowed === 'on') {
if (outsideTemp <= 32) { if (power === 'on') {
msg.idle_temp = parseFloat(idleTemp) msg.preset = preset
node.status({fill:'green',shape:'dot',text:'Idle Temp Set'}) node.status({fill:'green',shape:'dot',text:'Preset ' + preset})
node.send(msg,null) node.send(msg,null)
} else { } else {
node.status({fill:'red',shape:'ring',text:'Heater Shutoff'}) node.status({fill:'red',shape:'ring',text:'Heater Shutoff'})
node.send(null,msg) node.send(null,msg)
} }
} else { } else {
node.status({fill:'red',shape:'ring',text:'Heat Not Allowed'}) node.status({fill:'red',shape:'ring',text:'Heat Disabled'})
} }