Improve templating in basement climate flows

This commit is contained in:
2025-03-23 04:43:47 -04:00
parent ea3ba2e77c
commit 4b4fab1907

View File

@ -16748,7 +16748,7 @@
"z": "47f17992fab9b4f5", "z": "47f17992fab9b4f5",
"g": "c4c2c79b692236a0", "g": "c4c2c79b692236a0",
"name": "Heat Logic", "name": "Heat Logic",
"func": "const states = global.get('homeassistant.homeAssistant.states')\nconst allowed = states['input_boolean.basement_studio_heat_allowed'].state\nconst outsideTemp = states['weather.iron_nerd_weather_station'].attributes.temperature\nconst nightMode = states['input_boolean.night_mode'].state\n\nlet power = {}\nlet preset = {}\n\nif (outsideTemp > 32) {\n power = 'off'\n} else {\n power = 'on'\n if (nightMode === 'on') {\n preset = \"frost\"\n } else {\n preset = \"activity\"\n }\n}\n\nif (allowed === 'on') {\n if (power === 'on') {\n msg.preset = preset\n node.status({fill:'green',shape:'dot',text:'Preset ' + preset})\n node.send(msg,null)\n } else {\n node.status({fill:'red',shape:'ring',text:'Heater Shutoff'})\n node.send(null,msg)\n }\n} else {\n node.status({fill:'red',shape:'ring',text:'Heat Disabled'})\n}\n", "func": "const states = global.get('homeassistant.homeAssistant.states')\nconst allowed = states['input_boolean.basement_studio_heat_allowed'].state\nconst outsideTemp = states['weather.iron_nerd_weather_station'].attributes.temperature\nconst nightMode = states['input_boolean.night_mode'].state\n\nlet power = {}\nlet preset = {}\n\nif (outsideTemp > 32) {\n power = 'off'\n} else {\n power = 'on'\n if (nightMode === 'on') {\n preset = \"frost\"\n } else {\n preset = \"activity\"\n }\n}\n\nif (allowed === 'on') {\n if (power === 'on') {\n msg.preset = preset\n node.status({fill:'green',shape:'dot',text:`Preset ${preset}`})\n node.send(msg,null)\n } else {\n node.status({fill:'red',shape:'ring',text:'Heater Shutoff'})\n node.send(null,msg)\n }\n} else {\n node.status({fill:'red',shape:'ring',text:'Heat Disabled'})\n}\n",
"outputs": 2, "outputs": 2,
"timeout": 0, "timeout": 0,
"noerr": 0, "noerr": 0,
@ -17535,7 +17535,7 @@
"z": "47f17992fab9b4f5", "z": "47f17992fab9b4f5",
"g": "550e5b2d99316b12", "g": "550e5b2d99316b12",
"name": "Heat Logic", "name": "Heat Logic",
"func": "const states = global.get('homeassistant.homeAssistant.states')\nconst allowed = states['input_boolean.basement_studio_heat_allowed'].state\nconst outsideTemp = states['weather.iron_nerd_weather_station'].attributes.temperature\nconst todaysHighTemp = states['sensor.todays_high_temp'].state\nconst basementTemp = states['sensor.basement_studio_temperature'].state\n\nlet power = {}\nlet reason = {}\n\nif (todaysHighTemp < 55) {\n power = 'on'\n reason = 'Todays High Temperature'\n} else if (outsideTemp < 40) {\n power = 'on'\n reason = 'Outside Temperature'\n} else if (basementTemp < 64) {\n power = 'on'\n reason = 'Basement Temperature'\n} else {\n power = 'off'\n}\n\nif (allowed === 'on') {\n if (power === 'on') {\n node.status({fill:'green',shape:'dot',text:'Heater Needed: ' + reason})\n node.send(msg,null)\n } else {\n node.status({fill:'red',shape:'ring',text:'Heater Not Needed'})\n node.send(null,msg)\n }\n} else {\n node.status({fill:'red',shape:'ring',text:'Heat Disabled'})\n}\n", "func": "const states = global.get('homeassistant.homeAssistant.states')\nconst allowed = states['input_boolean.basement_studio_heat_allowed'].state\nconst outsideTemp = states['weather.iron_nerd_weather_station'].attributes.temperature\nconst todaysHighTemp = states['sensor.todays_high_temp'].state\nconst basementTemp = states['sensor.basement_studio_temperature'].state\n\nlet power = {}\nlet reason = {}\n\nif (todaysHighTemp < 55) {\n power = 'on'\n reason = 'Todays High Temperature'\n} else if (outsideTemp < 40) {\n power = 'on'\n reason = 'Outside Temperature'\n} else if (basementTemp < 64) {\n power = 'on'\n reason = 'Basement Temperature'\n} else {\n power = 'off'\n}\n\nif (allowed === 'on') {\n if (power === 'on') {\n node.status({fill:'green',shape:'dot',text:`Heater Needed: ${reason}`})\n node.send(msg,null)\n } else {\n node.status({fill:'red',shape:'ring',text:'Heater Not Needed'})\n node.send(null,msg)\n }\n} else {\n node.status({fill:'red',shape:'ring',text:'Heat Disabled'})\n}\n",
"outputs": 1, "outputs": 1,
"timeout": 0, "timeout": 0,
"noerr": 0, "noerr": 0,