FritzBox DECT Thermostate bei An- & Abwesenheit nach Zeitplan steuern.

Dieser Flow setzt nach dem Präsenzerkennungs-Flow "Home_Presence Detection mit FritzBox" (https://flows.nodered.org/flow/757c410dc9d4b7aae2139670428f8e81) an.

Der Flow kann bekommt eine Meldung über An- & Abwesenheit der Handys im WLAN.

Bei Abwesenheit wird die Temperatur auf Nacht gestellt.

Bei Anwesenheit wird die Temperatur nach dem in der FritzBox eingestellten Zeitplan eingestellt, also entweder Komfort oder Absenk.

[{"id":"f715c5e8.e9cf48","type":"tab","label":"Heizungsteuerung","disabled":false,"info":""},{"id":"335b2c80.8f1f34","type":"function","z":"f715c5e8.e9cf48","name":"Set AIN","func":"msg.ain=\"119610691960\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":440,"y":360,"wires":[["c8d8c63c.5aa298"]]},{"id":"aedc360f.306ff8","type":"switch","z":"f715c5e8.e9cf48","name":"Zuhause oder nicht Zuhause","property":"payload","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":180,"y":480,"wires":[["335b2c80.8f1f34","3eb12ea9.8acf72","edad7e40.2658","cf5d24c3.041538","c617f398.d52db"],["4a000247.76189c","bb6a9334.7e8fe","77549b7c.d4dbe4","9da7bb60.130fc8","b2b8d0ec.aa361"]]},{"id":"3eb12ea9.8acf72","type":"function","z":"f715c5e8.e9cf48","name":"Set AIN","func":"msg.ain=\"119610732552\";\nmsg.thermostat=\"Küche\"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":440,"y":240,"wires":[["c8d8c63c.5aa298"]]},{"id":"f31634c7.03b278","type":"fritz-thermostat","z":"f715c5e8.e9cf48","connection":"a5b34dc9.8fbbf","name":"setTargetTemperature","action":"setTempTarget","x":1300,"y":420,"wires":[["990640d7.c26b2"]]},{"id":"edad7e40.2658","type":"function","z":"f715c5e8.e9cf48","name":"Set AIN","func":"msg.ain=\"119600226064\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":440,"y":300,"wires":[["c8d8c63c.5aa298"]]},{"id":"cf5d24c3.041538","type":"function","z":"f715c5e8.e9cf48","name":"Set AIN","func":"msg.ain=\"117951024816\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":440,"y":420,"wires":[["c8d8c63c.5aa298"]]},{"id":"c617f398.d52db","type":"function","z":"f715c5e8.e9cf48","name":"Set AIN","func":"msg.ain=\"119600231896\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":440,"y":480,"wires":[["c8d8c63c.5aa298"]]},{"id":"77549b7c.d4dbe4","type":"function","z":"f715c5e8.e9cf48","name":"Set AIN","func":"msg.ain=\"119610691960\";\nmsg.thermostat=\"Kaminzimmer\"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":440,"y":700,"wires":[["381587aa.f62fa8"]]},{"id":"557a4c3d.138e74","type":"debug","z":"f715c5e8.e9cf48","name":"Abwesend: Temperatur eingestellt auf","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1230,"y":700,"wires":[]},{"id":"4a000247.76189c","type":"function","z":"f715c5e8.e9cf48","name":"Set AIN","func":"msg.ain=\"119610732552\";\nmsg.thermostat=\"Küche\"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":440,"y":580,"wires":[["381587aa.f62fa8"]]},{"id":"6b767ce8.ad03f4","type":"fritz-thermostat","z":"f715c5e8.e9cf48","connection":"a5b34dc9.8fbbf","name":"adjustToNightTemperature","action":"setTempNight","x":930,"y":700,"wires":[["557a4c3d.138e74"]]},{"id":"bb6a9334.7e8fe","type":"function","z":"f715c5e8.e9cf48","name":"Set AIN","func":"msg.ain=\"119600226064\";\nmsg.thermostat=\"Kinderbad\"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":440,"y":640,"wires":[["381587aa.f62fa8"]]},{"id":"9da7bb60.130fc8","type":"function","z":"f715c5e8.e9cf48","name":"Set AIN","func":"msg.ain=\"117951024816\";\nmsg.thermostat=\"Flur unten\"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":440,"y":760,"wires":[["381587aa.f62fa8"]]},{"id":"b2b8d0ec.aa361","type":"function","z":"f715c5e8.e9cf48","name":"Set AIN","func":"msg.ain=\"119600231896\";\nmsg.thermostat=\"Gästebad\"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":440,"y":820,"wires":[["381587aa.f62fa8"]]},{"id":"f34a296d.3394a8","type":"fritz-thermostat","z":"f715c5e8.e9cf48","connection":"a5b34dc9.8fbbf","name":"getDevice","action":"getDevice","x":880,"y":360,"wires":[["e3dcbda2.24e12"]]},{"id":"2282fc0a.18cbe4","type":"function","z":"f715c5e8.e9cf48","name":"getSollTemperatur","func":"//could be waaaay shorter, but works \nswitch(msg.payload) {\n  case \"16\":\n    msg.payload = 8\n    break;\n  case \"17\":\n    msg.payload = 8.5\n    break;\n  case \"19\":\n    msg.payload = 9\n    break;\n  case \"20\":\n    msg.payload = 9.5;\n    break;\n  case \"21\":\n    msg.payload=10;\n    break;\n  case \"22\":\n    msg.payload = 10.5\n    break;\n  case \"23\":\n    msg.payload = 11\n    break;\n  case \"24\":\n    msg.payload = 11.5\n    break;\n  case \"25\":\n    msg.payload = 12\n    break;\n  case \"26\":\n    msg.payload = 12.5\n    break;\n  case \"27\":\n    msg.payload = 13\n    break;\n  case \"28\":\n    msg.payload = 13.5\n    break;\n  case \"29\":\n    msg.payload = 14\n    break;\n  case \"30\":\n    msg.payload = 14.5\n    break;\n  case \"31\":\n    msg.payload = 15\n    break;\n  case \"32\":\n    msg.payload = 16\n    break;\n  case \"33\":\n    msg.payload = 16.5\n    break;\n  case \"34\":\n    msg.payload = 17\n    break;\n  case \"35\":\n    msg.payload = 17.5\n    break;\n  case \"36\":\n    msg.payload = 18\n    break;\n  case \"37\":\n    msg.payload = 18.5\n    break;  \n  case \"38\":\n    msg.payload = 19\n    break;\n  case \"39\":\n    msg.payload = 19.5\n    break;\n  case \"40\":\n    msg.payload = 20\n    break;\n  case \"41\":\n    msg.payload = 20.5\n    break;\n  case \"42\":\n    msg.payload = 21\n    break;\n  case \"43\":\n    msg.payload = 21.5\n    break;\n  case \"44\":\n    msg.payload = 22\n    break;\n  case \"45\":\n    msg.payload = 22.5\n    break;\n  case \"46\":\n    msg.payload = 23\n    break;\n  case \"47\":\n    msg.payload = 23.5\n    break;\n  case \"48\":\n    msg.payload = 24\n    break;\n  case \"49\":\n    msg.payload = 24.5\n    break;\n  case \"50\":\n    msg.payload = 25\n    break;\n  case \"51\":\n    msg.payload = 25.5\n    break;\n  case \"52\":\n    msg.payload = 26\n    break;\n  case \"53\":\n    msg.payload = 26.5\n    break;\n  case \"54\":\n    msg.payload = 27\n    break;\n  case \"55\":\n    msg.payload = 27.5\n    break;\n  case \"56\":\n    msg.payload = 28\n    break;\n  case \"254\":\n    msg.payload=\"An\";\n    break;\n  case \"253\":\n    msg.payload=\"Aus\";\n    break;\n  default:\n    msg.payload=\"Error\"\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1130,"y":360,"wires":[["f31634c7.03b278"]]},{"id":"e41c243e.0d92a8","type":"comment","z":"f715c5e8.e9cf48","name":"Zuhause","info":"","x":240,"y":300,"wires":[]},{"id":"dedd715.df07d9","type":"comment","z":"f715c5e8.e9cf48","name":"Nicht Zuhause","info":"","x":230,"y":640,"wires":[]},{"id":"e3dcbda2.24e12","type":"function","z":"f715c5e8.e9cf48","name":"Set comfort or absenk","func":"if (msg.payload.hkr.nextchange.tchange === msg.payload.hkr.komfort) {\n    msg.payload = msg.payload.hkr.absenk\nreturn msg;\n} else {\n    msg.payload = msg.payload.hkr.komfort\nreturn msg;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1020,"y":420,"wires":[["2282fc0a.18cbe4"]]},{"id":"990640d7.c26b2","type":"debug","z":"f715c5e8.e9cf48","name":"Anwesend: Temperatur eingestellt auf","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1470,"y":360,"wires":[]},{"id":"d9589f31.f883c","type":"link in","z":"f715c5e8.e9cf48","name":"","links":["8ec39d6d.0e967"],"x":15,"y":480,"wires":[["aedc360f.306ff8"]]},{"id":"c8d8c63c.5aa298","type":"delay","z":"f715c5e8.e9cf48","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"3","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":700,"y":360,"wires":[["f34a296d.3394a8"]]},{"id":"381587aa.f62fa8","type":"delay","z":"f715c5e8.e9cf48","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"3","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":700,"y":700,"wires":[["6b767ce8.ad03f4"]]},{"id":"cc7a274.6308ed8","type":"comment","z":"f715c5e8.e9cf48","name":"Wir besitzen 5 Thermostate","info":"","x":440,"y":180,"wires":[]},{"id":"a5b34dc9.8fbbf","type":"fritz-api","name":"Fritz Box","host":"http://fritz.box","strictSSL":false}]

Flow Info

Created 4 years, 9 months ago
Rating: not yet rated

Owner

Actions

Rate:

Node Types

Core
  • comment (x3)
  • debug (x2)
  • delay (x2)
  • function (x12)
  • link in (x1)
  • switch (x1)
Other

Tags

  • fritzbox
  • dect
  • presence
  • thermostat
Copy this flow JSON to your clipboard and then import into Node-RED using the Import From > Clipboard (Ctrl-I) menu option