const states = global.get('homeassistant.homeAssistant.states') const ac = global.get('masterBedroom.aircon.installed', "diskCon") const temp = global.get('outdoorTemp.tempStr') const threshold = states['input_number.master_bedroom_aircon_run_threshold'].state 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) { 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 } } else { node.status({fill:"red",shape:"ring",text:"A/C Not Installed"}) return null }