[{"id":"161f9872.1bc6e8","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"15cbc07c.cf074","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"a7163696.6f4318","type":"mqtt-broker","z":"","name":"","broker":"172.16.2.16","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"64f763bb.19937c","type":"influxdb","z":"","hostname":"influxdb","port":"8086","protocol":"http","database":"smarthome2","name":"","usetls":false,"tls":""},{"id":"f8f00aca.2c3408","type":"twitter-credentials","z":"","screen_name":"wollud1969"},{"id":"47e2b918.6ee958","type":"mqtt in","z":"161f9872.1bc6e8","name":"","topic":"IoT/ParsedData/MeterbusHub","qos":"2","broker":"a7163696.6f4318","x":200,"y":340,"wires":[["24fb9c6e.71e374","37e8ad2f.f23a62"]]},{"id":"31ea9a27.6a4fc6","type":"debug","z":"161f9872.1bc6e8","name":"Meterbus","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":380,"y":400,"wires":[]},{"id":"2519cae9.83a656","type":"switch","z":"161f9872.1bc6e8","name":"KindSelector","property":"payload.kind","propertyType":"msg","rules":[{"t":"eq","v":"Temperature","vt":"str"},{"t":"eq","v":"ElectricEnergy","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":270,"y":480,"wires":[["12a37f1c.96b951"],["5ba7da32.19ad24"]]},{"id":"24fb9c6e.71e374","type":"json","z":"161f9872.1bc6e8","name":"","property":"payload","action":"","pretty":false,"x":190,"y":400,"wires":[["31ea9a27.6a4fc6","2519cae9.83a656"]]},{"id":"a498d969.d8bab8","type":"influxdb out","z":"161f9872.1bc6e8","influxdb":"64f763bb.19937c","name":"","measurement":"measured","precision":"","retentionPolicy":"","x":1150,"y":920,"wires":[]},{"id":"fea6250f.6ee3f8","type":"template","z":"161f9872.1bc6e8","name":"InfluxPowerPreparator","field":"payload","fieldType":"msg","format":"json","syntax":"mustache","template":"[\n { \n \"pv\":{{payload.values.power}},\n \"sv\":{{payload.values.energy}}\n },\n {\n \"deviceid\":\"{{payload.name}}\",\n \"kind\":\"{{payload.kind}}\",\n \"category\":\"{{payload.category}}\"\n }\n]","output":"json","x":1080,"y":720,"wires":[["6c3aad01.2ed1f4"]]},{"id":"e4be6a19.b1f318","type":"debug","z":"161f9872.1bc6e8","name":"InfluxReady","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":1070,"y":880,"wires":[]},{"id":"5b1b606f.0266e","type":"change","z":"161f9872.1bc6e8","name":"LowPowerCategorizer","rules":[{"t":"set","p":"payload.category","pt":"msg","to":"LowPower","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":800,"y":800,"wires":[["fea6250f.6ee3f8"]]},{"id":"e43bf443.5a0798","type":"change","z":"161f9872.1bc6e8","name":"HighPowerCategorizer","rules":[{"t":"set","p":"payload.category","pt":"msg","to":"HighPower","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":800,"y":840,"wires":[["fea6250f.6ee3f8"]]},{"id":"e89610fd.77041","type":"change","z":"161f9872.1bc6e8","name":"IndoorCategorizer","rules":[{"t":"set","p":"payload.category","pt":"msg","to":"Indoor","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":790,"y":700,"wires":[["24408300.280ebe"]]},{"id":"aa911dc7.bfdaf","type":"change","z":"161f9872.1bc6e8","name":"OutdoorCategorizer","rules":[{"t":"set","p":"payload.category","pt":"msg","to":"Outdoor","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":800,"y":660,"wires":[["24408300.280ebe"]]},{"id":"b543dc5c.f78ee","type":"switch","z":"161f9872.1bc6e8","name":"TemperatureDeviceSelector","property":"payload.name","propertyType":"msg","rules":[{"t":"eq","v":"Hedge","vt":"str"},{"t":"eq","v":"House","vt":"str"},{"t":"eq","v":"Bedroom","vt":"str"},{"t":"eq","v":"DiningRoom","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":5,"x":540,"y":700,"wires":[["aa911dc7.bfdaf"],["aa911dc7.bfdaf"],["e89610fd.77041","52c8f65b.50e438"],["e89610fd.77041","7ea720a.3c121e"],["6022a80d.129b78"]]},{"id":"5d4d2325.6124fc","type":"change","z":"161f9872.1bc6e8","name":"UnknownCategorizer","rules":[{"t":"set","p":"payload.category","pt":"msg","to":"Unknown","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":800,"y":920,"wires":[["fea6250f.6ee3f8"]]},{"id":"5ba7da32.19ad24","type":"switch","z":"161f9872.1bc6e8","name":"PowerDeviceSelector","property":"payload.name","propertyType":"msg","rules":[{"t":"eq","v":"Light","vt":"str"},{"t":"eq","v":"Computer","vt":"str"},{"t":"eq","v":"Fridge","vt":"str"},{"t":"eq","v":"Freezer","vt":"str"},{"t":"eq","v":"Laundry","vt":"str"},{"t":"eq","v":"Dryer","vt":"str"},{"t":"eq","v":"Dishwasher","vt":"str"},{"t":"eq","v":"Total","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":9,"x":500,"y":840,"wires":[["5b1b606f.0266e"],["5b1b606f.0266e"],["5b1b606f.0266e"],["5b1b606f.0266e"],["e43bf443.5a0798"],["e43bf443.5a0798"],["e43bf443.5a0798"],["e379acd7.5b501"],["5d4d2325.6124fc"]]},{"id":"24408300.280ebe","type":"template","z":"161f9872.1bc6e8","name":"InfluxTemperaturePreparator","field":"payload","fieldType":"msg","format":"json","syntax":"mustache","template":"[\n { \n \"pv\":{{payload.values.temperature}},\n \"sv\":{{payload.values.battery}}\n },\n {\n \"deviceid\":\"{{payload.name}}\",\n \"kind\":\"{{payload.kind}}\",\n \"category\":\"{{payload.category}}\"\n }\n]","output":"json","x":1100,"y":660,"wires":[["6c3aad01.2ed1f4"]]},{"id":"57f6d1fc.266a6","type":"mqtt in","z":"161f9872.1bc6e8","name":"","topic":"IoT/espThermometer2/measurement","qos":"2","broker":"a7163696.6f4318","x":180,"y":720,"wires":[["c61a7524.40f7f8"]]},{"id":"19fe1878.552c28","type":"debug","z":"161f9872.1bc6e8","name":"EspTherm","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":250,"y":900,"wires":[]},{"id":"c61a7524.40f7f8","type":"json","z":"161f9872.1bc6e8","name":"","property":"payload","action":"","pretty":false,"x":270,"y":780,"wires":[["8f0ce40b.a890c8"]]},{"id":"12a37f1c.96b951","type":"change","z":"161f9872.1bc6e8","name":"SetBattery","rules":[{"t":"set","p":"payload.values.battery","pt":"msg","to":"-1","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":270,"y":540,"wires":[["b543dc5c.f78ee"]]},{"id":"8f0ce40b.a890c8","type":"template","z":"161f9872.1bc6e8","name":"EspThermAdjuster","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\n \"name\":\"{{payload.location}}\",\n \"kind\":\"Temperature\",\n \"values\": {\n \"battery\":{{payload.battery}},\n \"temperature\":{{payload.temperature}}\n }\n}","output":"json","x":230,"y":840,"wires":[["19fe1878.552c28","b543dc5c.f78ee"]]},{"id":"6022a80d.129b78","type":"change","z":"161f9872.1bc6e8","name":"UnknownCategorizer","rules":[{"t":"set","p":"payload.category","pt":"msg","to":"Unknown","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":800,"y":740,"wires":[["24408300.280ebe"]]},{"id":"e379acd7.5b501","type":"change","z":"161f9872.1bc6e8","name":"TotalPowerCategorizer","rules":[{"t":"set","p":"payload.category","pt":"msg","to":"TotalPower","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":800,"y":880,"wires":[["fea6250f.6ee3f8"]]},{"id":"f15ec68e.36a8d8","type":"mqtt in","z":"161f9872.1bc6e8","name":"","topic":"IoT/Measurement/ModbusHub","qos":"2","broker":"a7163696.6f4318","x":640,"y":360,"wires":[["11f5a0f8.2fba8f","f626f9f7.932e88"]]},{"id":"11f5a0f8.2fba8f","type":"json","z":"161f9872.1bc6e8","name":"","property":"payload","action":"","pretty":false,"x":850,"y":360,"wires":[["8e8a1127.c80f2","b74ab46a.70e478"]]},{"id":"cd4f3d9.f2f6ec","type":"debug","z":"161f9872.1bc6e8","name":"ModbusTherm","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":1060,"y":420,"wires":[]},{"id":"8e8a1127.c80f2","type":"template","z":"161f9872.1bc6e8","name":"ModbusTherm1Adjuster","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\n \"name\":\"Rack\",\n \"kind\":\"Temperature\",\n \"category\":\"Device\",\n \"values\": {\n \"battery\":-1,\n \"temperature\":{{payload.data.t1}}\n }\n}","output":"json","x":790,"y":420,"wires":[["cd4f3d9.f2f6ec","24408300.280ebe"]]},{"id":"b74ab46a.70e478","type":"template","z":"161f9872.1bc6e8","name":"ModbusTherm2Adjuster","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\n \"name\":\"Freezer\",\n \"kind\":\"Temperature\",\n \"category\":\"Device\",\n \"values\": {\n \"battery\":-1,\n \"temperature\":{{payload.data.t2}}\n }\n}","output":"json","x":790,"y":460,"wires":[["cd4f3d9.f2f6ec","24408300.280ebe"]]},{"id":"6c3aad01.2ed1f4","type":"function","z":"161f9872.1bc6e8","name":"EventCounter","func":"let cnt = context.get('EventCounter') || 0\ncnt += 1\ncontext.set('EventCounter', cnt)\nnode.status({fill:\"blue\",shape:\"dot\",text:`${cnt}`})\nreturn msg;","outputs":1,"noerr":0,"x":1080,"y":800,"wires":[["e4be6a19.b1f318","a498d969.d8bab8"]]},{"id":"37e8ad2f.f23a62","type":"trigger","z":"161f9872.1bc6e8","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"15","extend":true,"units":"min","reset":"","bytopic":"all","name":"","x":270,"y":280,"wires":[["ff0dcef0.c1cfd"]]},{"id":"ff0dcef0.c1cfd","type":"change","z":"161f9872.1bc6e8","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"1","fromt":"str","to":"Meterbus okay","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"0","fromt":"str","to":"Meterbus failed","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":260,"y":220,"wires":[["15ac65bb.7d17ea"]]},{"id":"15ac65bb.7d17ea","type":"e-mail","z":"161f9872.1bc6e8","server":"mailer","port":"25","secure":false,"name":"wolfgang.hottgenroth@icloud.com","dname":"","x":320,"y":160,"wires":[]},{"id":"f626f9f7.932e88","type":"trigger","z":"161f9872.1bc6e8","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"15","extend":true,"units":"min","reset":"","bytopic":"all","name":"","x":690,"y":300,"wires":[["de5b4038.f98f2"]]},{"id":"de5b4038.f98f2","type":"change","z":"161f9872.1bc6e8","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"1","fromt":"str","to":"Modbus okay","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"0","fromt":"str","to":"Modbus failed","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":680,"y":240,"wires":[["f09aabb1.dd7238"]]},{"id":"f09aabb1.dd7238","type":"e-mail","z":"161f9872.1bc6e8","server":"mailer","port":"25","secure":false,"name":"wolfgang.hottgenroth@icloud.com","dname":"","x":740,"y":180,"wires":[]},{"id":"52c8f65b.50e438","type":"trigger","z":"161f9872.1bc6e8","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"15","extend":true,"units":"min","reset":"","bytopic":"all","name":"","x":770,"y":600,"wires":[["a54d311e.3d336"]]},{"id":"a54d311e.3d336","type":"change","z":"161f9872.1bc6e8","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"1","fromt":"str","to":"ESP Bedroom okay","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"0","fromt":"str","to":"ESP Bedroom failed","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":960,"y":600,"wires":[["420f276b.d32858"]]},{"id":"420f276b.d32858","type":"e-mail","z":"161f9872.1bc6e8","server":"mailer","port":"25","secure":false,"name":"wolfgang.hottgenroth@icloud.com","dname":"","x":1220,"y":560,"wires":[]},{"id":"7ea720a.3c121e","type":"trigger","z":"161f9872.1bc6e8","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"15","extend":true,"units":"min","reset":"","bytopic":"all","name":"","x":770,"y":540,"wires":[["d69c9d18.3f2d1"]]},{"id":"d69c9d18.3f2d1","type":"change","z":"161f9872.1bc6e8","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"1","fromt":"str","to":"ESP Diningroom okay","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"0","fromt":"str","to":"ESP Diningroom failed","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":960,"y":540,"wires":[["420f276b.d32858"]]},{"id":"4c2cff9d.77dca","type":"catch","z":"161f9872.1bc6e8","name":"","scope":null,"x":240,"y":1040,"wires":[["bdbb7cc1.47758"]]},{"id":"bdbb7cc1.47758","type":"e-mail","z":"161f9872.1bc6e8","server":"mailer","port":"25","secure":false,"name":"wolfgang.hottgenroth@icloud.com","dname":"","x":540,"y":1040,"wires":[]},{"id":"351bf964.5af466","type":"twitter out","z":"15cbc07c.cf074","twitter":"f8f00aca.2c3408","name":"Tweet","x":890,"y":500,"wires":[]},{"id":"26e39dac.99f412","type":"inject","z":"15cbc07c.cf074","name":"Daily at noon","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"00 12 * * *","once":false,"onceDelay":0.1,"x":140,"y":240,"wires":[["d0524503.6384a8","7d3d1673.57e388","e1524efe.856ff","5009f71a.1f24d8"]]},{"id":"d0524503.6384a8","type":"influxdb in","z":"15cbc07c.cf074","influxdb":"64f763bb.19937c","name":"avg_temp_hedge_last_15min","query":"select mean(pv) from measured where deviceid = 'Hedge' and kind = 'Temperature' and time > now() - 15m","rawOutput":false,"precision":"","retentionPolicy":"","x":430,"y":320,"wires":[["c4e40448.5247a8"]]},{"id":"7d3d1673.57e388","type":"influxdb in","z":"15cbc07c.cf074","influxdb":"64f763bb.19937c","name":"min_temp_hedge_last_24h","query":"select min(pv) from measured where deviceid = 'Hedge' and kind = 'Temperature' and time > now() - 24h","rawOutput":false,"precision":"","retentionPolicy":"","x":420,"y":400,"wires":[["d7e3c7a6.698798"]]},{"id":"5009f71a.1f24d8","type":"influxdb in","z":"15cbc07c.cf074","influxdb":"64f763bb.19937c","name":"max_temp_hedge_last_24h","query":"select max(pv) from measured where deviceid = 'Hedge' and kind = 'Temperature' and time > now() - 24h","rawOutput":false,"precision":"","retentionPolicy":"","x":420,"y":440,"wires":[["ebebc5f9.8565c8"]]},{"id":"e1524efe.856ff","type":"influxdb in","z":"15cbc07c.cf074","influxdb":"64f763bb.19937c","name":"avg_temp_hedge_last_24h","query":"select mean(pv) from measured where deviceid = 'Hedge' and kind = 'Temperature' and time > now() - 24h","rawOutput":false,"precision":"","retentionPolicy":"","x":420,"y":360,"wires":[["3298c777.4e34f8"]]},{"id":"c4e40448.5247a8","type":"change","z":"15cbc07c.cf074","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"avg15min","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":690,"y":320,"wires":[["4ad2acda.2099c4"]]},{"id":"3298c777.4e34f8","type":"change","z":"15cbc07c.cf074","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"avg24h","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":690,"y":360,"wires":[["4ad2acda.2099c4"]]},{"id":"d7e3c7a6.698798","type":"change","z":"15cbc07c.cf074","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"min","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":690,"y":400,"wires":[["4ad2acda.2099c4"]]},{"id":"ebebc5f9.8565c8","type":"change","z":"15cbc07c.cf074","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"max","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":690,"y":440,"wires":[["4ad2acda.2099c4"]]},{"id":"4ad2acda.2099c4","type":"join","z":"15cbc07c.cf074","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"4","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":870,"y":380,"wires":[["eaefee46.b7e6"]]},{"id":"eaefee46.b7e6","type":"function","z":"15cbc07c.cf074","name":"TextPreparator","func":"let output = \"\"\noutput += `Die aktuelle Temperatur zuhause ist ${msg.payload.avg15min[0].mean.toFixed(1)}°C.\\n`\noutput += `Die Durchschnittstemperatur der letzten 24 Stunden war ${msg.payload.avg24h[0].mean.toFixed(1)}°C, `\noutput += `die Tiefsttemperatur war ${msg.payload.min[0].min.toFixed(1)}°C um ${msg.payload.min[0].time.getHours()}:${msg.payload.min[0].time.getMinutes()} Uhr und `\noutput += `die Höchsttemperatur war ${msg.payload.max[0].max.toFixed(1)}°C um ${msg.payload.max[0].time.getHours()}:${msg.payload.max[0].time.getMinutes()} Uhr.\\n`\noutput += \"Powered by @NodeRED and @InfluxDB.\"\nmsg.payload = output\nreturn msg;","outputs":1,"noerr":0,"x":920,"y":440,"wires":[["351bf964.5af466"]]}]