Revert temperature logic changes
This commit is contained in:
48
flows.json
48
flows.json
@ -16767,7 +16767,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 = 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,
|
"outputs": 2,
|
||||||
"timeout": 0,
|
"timeout": 0,
|
||||||
"noerr": 0,
|
"noerr": 0,
|
||||||
@ -17554,7 +17554,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 = 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,
|
"outputs": 1,
|
||||||
"timeout": 0,
|
"timeout": 0,
|
||||||
"noerr": 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",
|
"id": "dcc947fe66b6342b",
|
||||||
"type": "inject",
|
"type": "inject",
|
||||||
@ -33556,7 +33535,7 @@
|
|||||||
"z": "3e4ba157b540d183",
|
"z": "3e4ba157b540d183",
|
||||||
"g": "385f03591bc34bcc",
|
"g": "385f03591bc34bcc",
|
||||||
"name": "Set Global Variables",
|
"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,
|
"outputs": 0,
|
||||||
"timeout": "",
|
"timeout": "",
|
||||||
"noerr": 0,
|
"noerr": 0,
|
||||||
@ -33651,6 +33630,27 @@
|
|||||||
"wires": [],
|
"wires": [],
|
||||||
"icon": "font-awesome/fa-user"
|
"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",
|
"id": "e038489eca14b1dd",
|
||||||
"type": "discordMessage",
|
"type": "discordMessage",
|
||||||
|
Reference in New Issue
Block a user