Improve basement climate control
This commit is contained in:
@ -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'})
|
||||||
}
|
}
|
Reference in New Issue
Block a user