der wichtigste Grund für mich, vom Wiregate auf den Timberwolf Server umzusteigen, war die Möglichkeit, unsere Warmwasserbereitung an die Leistung der Fotovoltaikanlage anzupassen.(Beim Wiregate ließ sich das entsprechende CPAN Paket nicht installieren)
Wir haben einen SMA Sunny Home Manager 2.0 verbaut. Der Node Red Container ist als host gestartet. Mit diesem Flow (Der auf dieser Anleitung basiert: http://www.eb-systeme.de/?page_id=1240) lassen sich die wichtigsten Werte auslesen.
Code: Alles auswählen
[{"id":"4c902f85.811b6","type":"udp in","z":"efb43b56.a4341","name":"sma","iface":"","port":"9522","ipv":"udp4","multicast":"true","group":"239.12.255.254","datatype":"buffer","x":130,"y":320,"wires":[["6c1dec45.ea3424","1ed4e1f2.df92f6","139fc0e3.bd458f","8a762b53.9e3bb"]]},
{"id":"1ed4e1f2.df92f6","type":"function","z":"efb43b56.a4341","name":"Aktueller Bezug","func":"var buf = Buffer.from(msg.payload,);\nvar buf1 = buf.slice(32,36);\n\nvar buf2 = buf1.toString('hex');\nvar buf3= parseInt(buf2,16)/10;\nmsg.payload = buf3\n\n\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":370,"y":320,"wires":[[]]},
{"id":"6c1dec45.ea3424","type":"function","z":"efb43b56.a4341","name":"Verbrauchszähler","func":"\nvar buf = Buffer.from(msg.payload,);\nvar buf1 = buf.slice(40,48);\n\nvar buf2 = buf1.toString('hex');\nvar buf3= parseInt(buf2,16)/3600000;\nmsg.payload = buf3\n\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":370,"y":360,"wires":[[]]},
{"id":"139fc0e3.bd458f","type":"function","z":"efb43b56.a4341","name":"Einspeisezähler","func":"var buf = Buffer.from(msg.payload,);\nvar buf1 = buf.slice(60,68);\n\nvar buf2 = buf1.toString('hex');\nvar buf3= parseInt(buf2,16)/3600000;\nmsg.payload = buf3\n\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":380,"y":400,"wires":[[]]},
{"id":"8a762b53.9e3bb","type":"function","z":"efb43b56.a4341","name":"Aktuelle Einspeisung","func":"var buf = Buffer.from(msg.payload,);\nvar buf1 = buf.slice(52,56);\n\nvar buf2 = buf1.toString('hex');\nvar buf3= parseInt(buf2,16)/10;\nmsg.payload = buf3\n\n\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":360,"y":440,"wires":[[]]}]
Marcus