From 81f7ac5f5b51b1cb1d57d54b1ad35cf7e381afb3 Mon Sep 17 00:00:00 2001 From: Tony Stork Date: Sun, 23 Mar 2025 14:37:19 -0400 Subject: [PATCH] Revert temperature logic changes --- flows.json | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flows.json b/flows.json index 8c794e2..893a162 100644 --- a/flows.json +++ b/flows.json @@ -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",