Shower mode nodes rewritten to handle rate-limiting
home_automation/Home-Assistant-Configs#237
This commit is contained in:
@ -6,17 +6,56 @@ const nightTemp = states['input_number.master_bedroom_night_temp'].state
|
||||
const bedTemp = states['input_number.master_bedroom_bedtime_temp'].state
|
||||
const sleeping = states['input_boolean.master_bedroom_sleeping'].state
|
||||
|
||||
const masterBedroomAircon = ["climate.master_bedroom_aircon"]
|
||||
|
||||
let setTemp = []
|
||||
let setHvac = "dry"
|
||||
let setEco = "turn_off"
|
||||
|
||||
if (sleeping === 'on') {
|
||||
setTemp = bedTemp
|
||||
} else {
|
||||
setTemp = nightTemp
|
||||
}
|
||||
|
||||
let sendHvac = {
|
||||
"payload": {
|
||||
"action": "climate.set_hvac_mode",
|
||||
"target": {
|
||||
"entity_id": masterBedroomAircon
|
||||
},
|
||||
"data": {
|
||||
"hvac_mode": setHvac
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let sendTemp = {
|
||||
"payload": {
|
||||
"action": "climate.set_temperature",
|
||||
"target": {
|
||||
"entity_id": masterBedroomAircon
|
||||
},
|
||||
"data": {
|
||||
"temperature": setTemp
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let sendEco = {
|
||||
"payload": {
|
||||
"action": `switch.${setEco}`,
|
||||
"target": {
|
||||
"entity_id": ["switch.master_bedroom_aircon_eco_mode"]
|
||||
},
|
||||
"data": {}
|
||||
}
|
||||
}
|
||||
|
||||
if (ac === 'on') {
|
||||
if (temp >= threshold) {
|
||||
if (sleeping === 'on') {
|
||||
msg.set = bedTemp
|
||||
node.status({fill:"green",shape:"dot",text:`Shower Mode On: ${bedTemp}`})
|
||||
return msg
|
||||
} else {
|
||||
msg.set = nightTemp
|
||||
node.status({fill:"green",shape:"dot",text:`Shower Mode On: ${nightTemp}`})
|
||||
return msg
|
||||
}
|
||||
node.status({fill:"green",shape:"dot",text:`Shower Mode On: ${setTemp}°F`})
|
||||
node.send([[sendHvac, sendTemp, sendEco]])
|
||||
} else {
|
||||
node.status({fill:"red",shape:"ring",text:"Too Cold"})
|
||||
return null
|
||||
|
Reference in New Issue
Block a user