32 lines
827 B
JavaScript
32 lines
827 B
JavaScript
const states = global.get('homeassistant.homeAssistant.states')
|
|
const allowed = states['input_boolean.basement_studio_heat_allowed'].state
|
|
const outsideTemp = global.get('outdoorTemp.tempInt')
|
|
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 = "activity"
|
|
}
|
|
}
|
|
|
|
if (allowed === 'on') {
|
|
if (power === 'on') {
|
|
msg.preset = preset
|
|
node.status({fill:'green',shape:'dot',text:`Preset ${preset}`})
|
|
node.send(msg,null)
|
|
} else {
|
|
node.status({fill:'red',shape:'ring',text:'Heater Shutoff'})
|
|
node.send(null,msg)
|
|
}
|
|
} else {
|
|
node.status({fill:'red',shape:'ring',text:'Heat Disabled'})
|
|
}
|