Files
HA-NerdFlows-Functions/climate/master-bedroom/meltdown-center.js

85 lines
1.8 KiB
JavaScript

const states = global.get('homeassistant.homeAssistant.states')
const toggle = msg.payload
const ac = global.get('masterBedroom.aircon.installed', "diskCon")
const lastMode = flow.get("masterBedroom.lastMode", "diskCon")
const bedTemp = states['input_number.master_bedroom_bedtime_temp'].state
const airconEntity = ["climate.master_bedroom_aircon"]
const fanEntity = ["fan.master_bedroom_fan"]
let setTemp = bedTemp
let setEco = 'turn_off'
let setHvac = 'cool'
let setAcFan = 'High'
let setFan = 'turn_off'
let sendFan = {
"payload": {
"action": `fan.${setFan}`,
"target": {
"entity_id": fanEntity
},
"data": {}
}
}
let sendHvac = {
"payload": {
"action": "climate.set_hvac_mode",
"target": {
"entity_id": airconEntity
},
"data": {
"hvac_mode": setHvac
}
}
}
let sendTemp = {
"payload": {
"action": "climate.set_temperature",
"target": {
"entity_id": airconEntity
},
"data": {
"temperature": setTemp
}
}
}
let sendEco = {
"payload": {
"action": `switch.${setEco}`,
"target": {
"entity_id": ["switch.master_bedroom_aircon_eco_mode"]
},
"data": {}
}
}
let sendAcFan = {
"payload": {
"action": "climate.set_fan_mode",
"target": {
"entity_id": airconEntity
},
"data": {
"fan_mode": setAcFan
}
}
}
let reset = {
"topic": "Reset"
}
if (toggle === 'on') {
node.status({fill:"red",shape:"dot",text:"DANGER MODE ACTIVE"})
node.send([null,sendFan,null])
if (ac === 'on') {
node.send([[sendHvac,sendTemp,sendAcFan,sendEco],null,null])
}
} else {
node.status({fill:"green",shape:"dot",text:"Danger Mode Off"})
node.send([null,null,reset])
}