Revert temperature logic changes

This commit is contained in:
2025-03-23 14:37:19 -04:00
parent 21d5844e06
commit 81f7ac5f5b

View File

@ -16767,7 +16767,7 @@
"z": "47f17992fab9b4f5",
"g": "c4c2c79b692236a0",
"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 = global.get('outdoorTemp.tempInt')\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,
"timeout": 0,
"noerr": 0,
@ -17554,7 +17554,7 @@
"z": "47f17992fab9b4f5",
"g": "550e5b2d99316b12",
"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 = global.get('outdoorTemp.tempInt')\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,
"timeout": 0,
"noerr": 0,
@ -33503,27 +33503,6 @@
[]
]
},
{
"id": "274be2385ae894ce",
"type": "api-render-template",
"z": "3e4ba157b540d183",
"g": "385f03591bc34bcc",
"name": "",
"server": "9e87348d.9c1c48",
"version": 0,
"template": "{% set temps = [\n states.sensor.kdfi_temperature,\n states.sensor.pirateweather_temperature,\n states.sensor.openweathermap_temperature,\n states.sensor.myradar_temperature\n] %}\n{% set sensor = temps | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}\n{{ states(sensor) | float }}\n",
"resultsLocation": "temperature",
"resultsLocationType": "msg",
"templateLocation": "",
"templateLocationType": "none",
"x": 320,
"y": 1040,
"wires": [
[
"15f7382daddb4b3e"
]
]
},
{
"id": "dcc947fe66b6342b",
"type": "inject",
@ -33556,7 +33535,7 @@
"z": "3e4ba157b540d183",
"g": "385f03591bc34bcc",
"name": "Set Global Variables",
"func": "const temp = msg.temperature\n\nglobal.set('outdoorTemp.tempInt',parseInt(temp))\nglobal.set('outdoorTemp.tempFloat',parseFloat(temp))\nglobal.set('outdoorTemp.tempStr',temp)\n\nnode.status({fill:\"green\",shape:\"dot\",text:temp})",
"func": "const temp = msg.temperature\nconst tempInt = parseInt(temp)\nconst tempFloat = parseFloat(temp)\n\nglobal.set('outdoorTemp.tempInt',tempInt)\nglobal.set('outdoorTemp.tempFloat',tempFloat)\nglobal.set('outdoorTemp.tempStr',temp)\n\nnode.status({fill:\"green\",shape:\"dot\",text:`Int: ${tempInt} | Float: ${tempFloat} | Str: ${temp}`})",
"outputs": 0,
"timeout": "",
"noerr": 0,
@ -33651,6 +33630,27 @@
"wires": [],
"icon": "font-awesome/fa-user"
},
{
"id": "274be2385ae894ce",
"type": "api-render-template",
"z": "3e4ba157b540d183",
"g": "385f03591bc34bcc",
"name": "",
"server": "9e87348d.9c1c48",
"version": 0,
"template": "{% set temps = [\n states.sensor.kdfi_temperature,\n states.sensor.pirateweather_temperature,\n states.sensor.openweathermap_temperature,\n states.sensor.home_temperature\n] %}\n{% set sensor = temps | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}\n{{ states(sensor) | float }}\n",
"resultsLocation": "temperature",
"resultsLocationType": "msg",
"templateLocation": "",
"templateLocationType": "none",
"x": 320,
"y": 1040,
"wires": [
[
"15f7382daddb4b3e"
]
]
},
{
"id": "e038489eca14b1dd",
"type": "discordMessage",