Beispiele: openWB Integration an Node-Red

aiole
Beiträge: 6780
Registriert: Mo Okt 08, 2018 4:51 pm

Re: Beispiele: openWB Integration an Node-Red

Beitrag von aiole »

node updaten?

Hier laufen:
node -v
v14.18.1

node-red --help
Node-RED v2.1.3

Aber eigentlich reicht mir zunächst ein kleines js-code-Beispiel, wenn Du nicht updaten willst.
Gero
Beiträge: 2371
Registriert: Sa Feb 20, 2021 9:55 am

Re: Beispiele: openWB Integration an Node-Red

Beitrag von Gero »

Oha, da bin ich aber noch nicht. node sagt 10.24.0, npm 5.8.0 und node-red 1.3.4. Ich wollte halt mal eine aktuelle node-red installation haben, weil das andere, was ich habe auf der homematic-ccu läuft und das ist sicherlich deutlich veraltet. Und dann hatte ich festgestellt, dass auf dem Raspi keine Dashboard Nodes drauf sind. Welches Dashboard läuft denn bei Dir? (Nachkucken unter "Palette verwalten") Wenn ich node-red-dashboard in der Version 3.2.1 installieren möchte, bekomme ich die Fehlermeldung, dass mein node.js zu neu sei. Müsste 8 oder 9 sein. Ist aber 10

Code: Alles auswählen

2021-11-21T10:34:00.366Z Installieren : node-red-dashboard 3.1.2

2021-11-21T10:34:00.494Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production node-red-dashboard@3.1.2
2021-11-21T10:34:02.575Z [err] npm
2021-11-21T10:34:02.575Z [err]  
2021-11-21T10:34:02.575Z [err] WARN npm npm does not support Node.js v10.24.0
2021-11-21T10:34:02.576Z [err] npm
2021-11-21T10:34:02.576Z [err]  WARN 
2021-11-21T10:34:02.576Z [err] npm You should probably upgrade to a newer version of node as we
2021-11-21T10:34:02.576Z [err] npm
2021-11-21T10:34:02.576Z [err]  WARN npm
2021-11-21T10:34:02.577Z [err]  can't make any promises that npm will work with this version.
2021-11-21T10:34:02.577Z [err] npm WARN
2021-11-21T10:34:02.577Z [err]  npm
2021-11-21T10:34:02.577Z [err]  Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
2021-11-21T10:34:02.577Z [err] npm 
2021-11-21T10:34:02.577Z [err] WARN npm You can find the latest version at https://nodejs.org/
2021-11-21T10:34:04.481Z [err] npm
2021-11-21T10:34:04.481Z [err]  ERR! code Z_BUF_ERROR
2021-11-21T10:34:04.482Z [err] npm
2021-11-21T10:34:04.482Z [err]  ERR! errno
2021-11-21T10:34:04.482Z [err]  -5
2021-11-21T10:34:04.492Z [err] npm
2021-11-21T10:34:04.492Z [err]  ERR! zlib: unexpected end of file
2021-11-21T10:34:04.520Z [err] 
2021-11-21T10:34:04.520Z [err] npm ERR! A complete log of this run can be found in:
2021-11-21T10:34:04.521Z [err] npm ERR!     /home/pi/.npm/_logs/2021-11-21T10_34_04_496Z-debug.log
2021-11-21T10:34:04.533Z rc=251
Und in der Doku zu node-red-dashboard steht auch, dass es node.js 8.0 sein muss:

https://flows.nodered.org/node/node-red-dashboard

Ob's da noch ein anderes Dashboard gibt? Oder muss da npm ein bissl neuer? (sudo sh -c 'apt-get update&&apt-get dist-upgrade' habe ich schon gemacht)


PS: Die statistic-Node ist in node-red-contrib-combine enthalten. Musst Du wahrscheinlich noch nachinstallieren. Auf meinem redMatic war das per Default schon drauf.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
Gero
Beiträge: 2371
Registriert: Sa Feb 20, 2021 9:55 am

Re: Beispiele: openWB Integration an Node-Red

Beitrag von Gero »

So, nun hab' ich's. Mit der Change-Node wird der aktuelle Wert des jeweiligen Sliders in den context des Flows geschrieben. Ist quasi eine Flow-globale Variable. Auf die greife ich dann in der Function Node zu um die Summe zu bilden.
summe.jpg
Interessanterweise scheint nodeRED Endlosschleifen zu erkennen und stoppt die. Anders ist es ja nicht zu erklären, dass die Verbindung vom Ausgang n1 mit dem Eingang von s1 nicht zu einem Absturz führt, sondern zum gewünschten Verhalten "Mit dem Klicker verändert sich der Schieberwert"

Code: Alles auswählen

[{"id":"92ccb261.70ca38","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"1f4e20e5.5aff07","type":"ui_slider","z":"92ccb261.70ca38","name":"","label":"slider1","tooltip":"","group":"1de0097c.41aea7","order":1,"width":"4","height":"1","passthru":true,"outs":"all","topic":"topic","topicType":"msg","min":0,"max":10,"step":1,"className":"","x":110,"y":100,"wires":[["d58dd632.025ca"]]},{"id":"58fc7632.f3bc5","type":"ui_slider","z":"92ccb261.70ca38","name":"","label":"slider2","tooltip":"","group":"1de0097c.41aea7","order":3,"width":"4","height":"1","passthru":true,"outs":"all","topic":"topic","topicType":"msg","min":0,"max":10,"step":1,"className":"","x":110,"y":180,"wires":[["ccfca0a7.a734a8"]]},{"id":"ccfca0a7.a734a8","type":"ui_numeric","z":"92ccb261.70ca38","name":"n2","label":"","tooltip":"","group":"1de0097c.41aea7","order":4,"width":"2","height":"1","wrap":false,"passthru":true,"topic":"topic","topicType":"msg","format":"{{value}}","min":0,"max":10,"step":1,"className":"","x":250,"y":180,"wires":[["1bbca886.7552df","58fc7632.f3bc5"]]},{"id":"d58dd632.025ca","type":"ui_numeric","z":"92ccb261.70ca38","name":"n1","label":"","tooltip":"","group":"1de0097c.41aea7","order":2,"width":"2","height":"1","wrap":false,"passthru":true,"topic":"topic","topicType":"msg","format":"{{value}}","min":0,"max":10,"step":1,"className":"","x":250,"y":100,"wires":[["4d57d866.cb8268","1f4e20e5.5aff07"]]},{"id":"4d57d866.cb8268","type":"change","z":"92ccb261.70ca38","name":"","rules":[{"t":"set","p":"s1","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":430,"y":100,"wires":[["e57b46bf.250cd"]]},{"id":"1bbca886.7552df","type":"change","z":"92ccb261.70ca38","name":"","rules":[{"t":"set","p":"s2","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":430,"y":180,"wires":[["e57b46bf.250cd"]]},{"id":"e57b46bf.250cd","type":"function","z":"92ccb261.70ca38","name":"flow.s1 + flow.s2","func":"msg.payload = flow.get(\"s1\")+flow.get(\"s2\");\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":660,"y":140,"wires":[["9930485d.b1aca"]]},{"id":"9930485d.b1aca","type":"ui_gauge","z":"92ccb261.70ca38","name":"","group":"1de0097c.41aea7","order":4,"width":0,"height":0,"gtype":"gage","title":"total","label":"units","format":"{{value}}","min":0,"max":"20","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","className":"","x":850,"y":140,"wires":[]},{"id":"1de0097c.41aea7","type":"ui_group","name":"Simulation","tab":"744b5117.d18b28","order":1,"disp":true,"width":"6","collapse":false,"className":""},{"id":"744b5117.d18b28","type":"ui_tab","name":"Haussimulation","icon":"dashboard","disabled":false,"hidden":false}]
Den Code bekommt man beim Export in die Zwischenablage mit dieser Option klein:
export.jpg
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
aiole
Beiträge: 6780
Registriert: Mo Okt 08, 2018 4:51 pm

Re: Beispiele: openWB Integration an Node-Red

Beitrag von aiole »

Hey Gero, Danke für Deine Mitarbeit. Hilft sehr.
Mein dasboard hat 3.1.2

Node in v8 oder 9? Bei mir steht da v14.18.1.

Sehr cool mit dem neuen flow. Das schaue ich mir kurzfristig an. Ist nur gerade viel los. Ich melde mich.
Gero
Beiträge: 2371
Registriert: Sa Feb 20, 2021 9:55 am

Re: Beispiele: openWB Integration an Node-Red

Beitrag von Gero »

Gero hat geschrieben: So Nov 21, 2021 3:12 pm Oha, da bin ich aber noch nicht. node sagt 10.24.0, npm 5.8.0 und node-red 1.3.4.
So, willkommen in der Pakethölle mit seinen Abhängigkeiten. Ich hab' mit mal ein neues Image gezogen und von Hand erst node.js installiert und dann darauf node-red:

pi@raspi:~ $ node -v
v12.22.5
pi@raspi:~ $ node-red --help
Node-RED v1.2.9
pi@raspi:~ $ npm -v
7.5.2

Interessanterweise klappt nun auch die Installation des Dashboards obwohl die node.js Version nun immer noch nicht 8 ist ;-)
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
aiole
Beiträge: 6780
Registriert: Mo Okt 08, 2018 4:51 pm

Re: Beispiele: openWB Integration an Node-Red

Beitrag von aiole »

Hast Du stretch oder buster oder bullseye laufen?

hier mit stretch:
node-red -v
22 Nov 15:20:29 - [info]
22 Nov 15:20:29 - [info] Node-RED Version: v2.1.3
22 Nov 15:20:29 - [info] Node.js Version: v14.18.1
22 Nov 15:20:29 - [info] Linux 4.19.66-v7+ arm LE

pi@openWB:~ $ npm -v
6.14.15
aiole
Beiträge: 6780
Registriert: Mo Okt 08, 2018 4:51 pm

Re: Beispiele: openWB Integration an Node-Red

Beitrag von aiole »

Kannst Du mal diesen flow bei Dir probieren:

Code: Alles auswählen

[{"id":"9c914c19df595675","type":"tab","label":"Gero","disabled":false,"info":"","env":[]},{"id":"97ce6c56cb2baf03","type":"ui_slider","z":"9c914c19df595675","name":"","label":"HV1","tooltip":"","group":"0268d1212c203718","order":1,"width":"4","height":"1","passthru":true,"outs":"all","topic":"topic","topicType":"msg","min":0,"max":"20","step":1,"className":"","x":110,"y":100,"wires":[["f975d815e97a181b"]]},{"id":"1024d77b919acba0","type":"ui_slider","z":"9c914c19df595675","name":"","label":"HV2","tooltip":"","group":"0268d1212c203718","order":3,"width":"4","height":"1","passthru":true,"outs":"all","topic":"topic","topicType":"msg","min":0,"max":"20","step":1,"className":"","x":110,"y":180,"wires":[["9bd96c0b53581396"]]},{"id":"9bd96c0b53581396","type":"ui_numeric","z":"9c914c19df595675","name":"n2","label":"","tooltip":"","group":"0268d1212c203718","order":4,"width":"2","height":"1","wrap":false,"passthru":true,"topic":"topic","topicType":"msg","format":"{{value}}","min":0,"max":"20","step":1,"className":"","x":250,"y":180,"wires":[["9b8b60bb10225244"]]},{"id":"f975d815e97a181b","type":"ui_numeric","z":"9c914c19df595675","name":"n1","label":"","tooltip":"","group":"0268d1212c203718","order":2,"width":"2","height":"1","wrap":false,"passthru":true,"topic":"topic","topicType":"msg","format":"{{value}}","min":0,"max":"20","step":1,"className":"","x":250,"y":100,"wires":[["f76fd4277af673dc"]]},{"id":"f76fd4277af673dc","type":"change","z":"9c914c19df595675","name":"","rules":[{"t":"set","p":"s1","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":450,"y":100,"wires":[["a410097e0fee0c91"]]},{"id":"9b8b60bb10225244","type":"change","z":"9c914c19df595675","name":"","rules":[{"t":"set","p":"s2","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":450,"y":180,"wires":[["a410097e0fee0c91"]]},{"id":"a410097e0fee0c91","type":"function","z":"9c914c19df595675","name":"Summe in Watt","func":"msg.payload = flow.get(\"s1\")+flow.get(\"s2\")+flow.get(\"s3\");\nmsg.payload = 230*msg.payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":180,"wires":[["366353fbdc4e66b1"]]},{"id":"366353fbdc4e66b1","type":"ui_gauge","z":"9c914c19df595675","name":"","group":"0268d1212c203718","order":7,"width":0,"height":0,"gtype":"gage","title":"total","label":"Watt","format":"{{value}}","min":0,"max":"13800","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","className":"","x":870,"y":180,"wires":[]},{"id":"37302d1de942153d","type":"mqtt in","z":"9c914c19df595675","name":"Hausverbrauch","topic":"openWB/global/WHouseConsumption","qos":"2","datatype":"auto","broker":"c4cb83c8.1bd0c","nl":false,"rap":true,"rh":0,"inputs":0,"x":140,"y":380,"wires":[[]]},{"id":"f60e38b81463bb64","type":"ui_slider","z":"9c914c19df595675","name":"","label":"HV3","tooltip":"","group":"0268d1212c203718","order":5,"width":"4","height":"1","passthru":true,"outs":"all","topic":"topic","topicType":"msg","min":0,"max":"20","step":1,"className":"","x":110,"y":260,"wires":[["77a398ae8b4481ab"]]},{"id":"77a398ae8b4481ab","type":"ui_numeric","z":"9c914c19df595675","name":"n3","label":"","tooltip":"","group":"0268d1212c203718","order":6,"width":"2","height":"1","wrap":false,"passthru":true,"topic":"topic","topicType":"msg","format":"{{value}}","min":0,"max":"20","step":1,"className":"","x":250,"y":260,"wires":[["4778cf914b1668f2"]]},{"id":"4778cf914b1668f2","type":"change","z":"9c914c19df595675","name":"","rules":[{"t":"set","p":"s3","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":450,"y":260,"wires":[["a410097e0fee0c91"]]},{"id":"0268d1212c203718","type":"ui_group","name":"Sim Hausverbrauch","tab":"744b5117.d18b28","order":1,"disp":true,"width":"6","collapse":false,"className":""},{"id":"c4cb83c8.1bd0c","type":"mqtt-broker","name":"OpenWB","broker":"192.168.8.11","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"30","cleansession":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","willTopic":"","willQos":"0","willRetain":"false","willPayload":""},{"id":"744b5117.d18b28","type":"ui_tab","name":"Sim Hausverbrauch / PV-Erzeug.","icon":"dashboard","disabled":false,"hidden":false}]
Ich musste die Schleifen der Sliderkopplung wieder rausnehmen, weil es bei mir an zu Flattern anfängt.
2021122_flow.jpg
2021122_dasboard.jpg
Gero
Beiträge: 2371
Registriert: Sa Feb 20, 2021 9:55 am

Re: Beispiele: openWB Integration an Node-Red

Beitrag von Gero »

Das Problem ist, dass die context-Variablen nicht ordentlich initialisiert sind. Da kommt dann aus der Summierfunktion ein NaN heraus (hab' ich mit der debug-node rausgefunden) und damit kann die Gauge nix anfangen. Die Inject-Node übernimmt nun das initialisieren. Alternativ halt auf allen drei Slidern rumklickern beim letzten kommt dann ein Wert in der Gauge an. Aber es gibt bestimmt auch einen anderen Weg das ordentlich zu machen: Entweder alle drei Variablen beim Deploy auf 0 initialisieren oder in der Summenfunktion nur die addieren, die auch gesetzt sind.

Code: Alles auswählen

[{"id":"cf354afd.9bc818","type":"tab","label":"Gero","disabled":false,"info":""},{"id":"5719608c.cb6d5","type":"ui_slider","z":"cf354afd.9bc818","name":"","label":"HV1","tooltip":"","group":"e4b1e54c.678138","order":1,"width":"4","height":"1","passthru":true,"outs":"all","topic":"topic","topicType":"msg","min":0,"max":"20","step":1,"className":"","x":270,"y":100,"wires":[["bbecace6.cf6118"]]},{"id":"4c4decd7.181c64","type":"ui_slider","z":"cf354afd.9bc818","name":"","label":"HV2","tooltip":"","group":"e4b1e54c.678138","order":3,"width":"4","height":"1","passthru":true,"outs":"all","topic":"topic","topicType":"msg","min":0,"max":"20","step":1,"className":"","x":270,"y":180,"wires":[["73c7b491.eca484"]]},{"id":"73c7b491.eca484","type":"ui_numeric","z":"cf354afd.9bc818","name":"n2","label":"","tooltip":"","group":"e4b1e54c.678138","order":4,"width":"2","height":"1","wrap":false,"passthru":true,"topic":"topic","topicType":"msg","format":"{{value}}","min":0,"max":"20","step":1,"className":"","x":410,"y":180,"wires":[["90ab8442.f81ce","4c4decd7.181c64"]]},{"id":"bbecace6.cf6118","type":"ui_numeric","z":"cf354afd.9bc818","name":"n1","label":"","tooltip":"","group":"e4b1e54c.678138","order":2,"width":"2","height":"1","wrap":false,"passthru":true,"topic":"topic","topicType":"msg","format":"{{value}}","min":0,"max":"20","step":1,"className":"","x":410,"y":100,"wires":[["c0e5a2f6.6011a8","5719608c.cb6d5"]]},{"id":"c0e5a2f6.6011a8","type":"change","z":"cf354afd.9bc818","name":"","rules":[{"t":"set","p":"s1","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":100,"wires":[["532109e9.94e058"]]},{"id":"90ab8442.f81ce","type":"change","z":"cf354afd.9bc818","name":"","rules":[{"t":"set","p":"s2","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":180,"wires":[["532109e9.94e058"]]},{"id":"532109e9.94e058","type":"function","z":"cf354afd.9bc818","name":"Summe in Watt","func":"msg.payload = flow.get(\"s1\")+flow.get(\"s2\")+flow.get(\"s3\");\nmsg.payload = 230*msg.payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":820,"y":180,"wires":[["73d4ae7a.9e5378","9e6ce960.f2e4a8"]]},{"id":"73d4ae7a.9e5378","type":"ui_gauge","z":"cf354afd.9bc818","name":"","group":"e4b1e54c.678138","order":7,"width":0,"height":0,"gtype":"gage","title":"total","label":"Watt","format":"{{value}}","min":0,"max":"13800","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","className":"","x":1030,"y":180,"wires":[]},{"id":"9f19e960.3fd5e8","type":"mqtt in","z":"cf354afd.9bc818","name":"Hausverbrauch","topic":"openWB/global/WHouseConsumption","qos":"2","datatype":"auto","broker":"978968c8.7b5238","x":300,"y":380,"wires":[[]]},{"id":"33e16f4f.c097e8","type":"ui_slider","z":"cf354afd.9bc818","name":"","label":"HV3","tooltip":"","group":"e4b1e54c.678138","order":5,"width":"4","height":"1","passthru":true,"outs":"all","topic":"topic","topicType":"msg","min":0,"max":"20","step":1,"className":"","x":270,"y":260,"wires":[["c46e3ffe.11dc18"]]},{"id":"c46e3ffe.11dc18","type":"ui_numeric","z":"cf354afd.9bc818","name":"n3","label":"","tooltip":"","group":"e4b1e54c.678138","order":6,"width":"2","height":"1","wrap":false,"passthru":true,"topic":"topic","topicType":"msg","format":"{{value}}","min":0,"max":"20","step":1,"className":"","x":410,"y":260,"wires":[["db7c49ee.fd03e8","33e16f4f.c097e8"]]},{"id":"db7c49ee.fd03e8","type":"change","z":"cf354afd.9bc818","name":"","rules":[{"t":"set","p":"s3","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":260,"wires":[["532109e9.94e058"]]},{"id":"9e6ce960.f2e4a8","type":"debug","z":"cf354afd.9bc818","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1020,"y":260,"wires":[]},{"id":"3b68517d.870aae","type":"inject","z":"cf354afd.9bc818","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":70,"y":180,"wires":[["5719608c.cb6d5","4c4decd7.181c64","33e16f4f.c097e8"]]},{"id":"e4b1e54c.678138","type":"ui_group","name":"Sim Hausverbrauch","tab":"744b5117.d18b28","order":1,"disp":true,"width":"6","collapse":false,"className":""},{"id":"978968c8.7b5238","type":"mqtt-broker","name":"OpenWB","broker":"192.168.8.11","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"30","cleansession":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","willTopic":"","willQos":"0","willRetain":"false","willPayload":""},{"id":"744b5117.d18b28","type":"ui_tab","name":"Haussimulation","icon":"dashboard","disabled":false,"hidden":false}]
Die Rückwärtsschleifen funktionieren bei mir aber. Sowohl auf dem Raspi als auf der CCU.

Wenn ich das hier:
pi@raspi:~ $ uname -r
5.10.63-v7l+
richtig interpretiere, ist das Buster. Das ist das aktuelle Image von raspberrypi.org
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
hominidae
Beiträge: 1159
Registriert: Di Sep 03, 2019 4:13 pm

Re: Beispiele: openWB Integration an Node-Red

Beitrag von hominidae »

aiole hat geschrieben: Sa Nov 20, 2021 9:07 pm Hallo Kollegen,
so - Node-Red samt Dashboard laufen auf dem RPi. Danke schon mal für den Support bis hierher.
20211121_openWB_testflow.jpg
Den Statistic-Node gab's nicht mehr, aber mit dem f-Zeichen scheint das zum function-node mutiert zu sein (ach nee - dort kann ich mit js manuell proggen). Ich habe schon etwas gesucht, aber es gestaltet sich anfangs immer schwierig.

Ich will dort die 3 Werte addieren und x 230V rechen, um den Hausverbrauch in Watt auszugeben (und auf den Gauge-node zu senden).
Kann mir hier jemand mit einem kleinen js-Bsp. im function-code behilflich sein.
Damit wäre HV fertig und ich müsste dasselbe nochmal mit PV-Erzeugung erstellen. Dort alles mit negativem Vorzeichen (Einspeisung).

Zum Schluss muss ich noch die einzelen Phasenströme addieren (vorzeichenbehaftet), die Volt-Variablen auf 230V und f auf 50 Hz setzen.
Die Wh lasse ich für die Sim, die nur die Regelkünste der oWB zeigen soll, erstmal weg.
Ich simuliere also nur HV und PV (phasenweise) und Node-red klöppelt mir alle für oWB nötigen Werte zusammen.
...in Node-Red ist eigentlich das Konzept, dass es sich bei den Messages in erster Linie *nicht* um Daten handelt, sondern um Events.
Wenn Du also 3 (oder mehr) Eingangsgrössen hast, können die asynchron zueinander, in beliebiger Reihenfolge "vorkommen"/sich ändern.
Jede Änderung wird über einen Event, mittels Message kommuniziert.
Eine künstliche Lösung, über Variablen finde ich kompliziert...da kommt Eines zum Anderen...man bedenke, was passieren muss, wenn der NR-Host mal durchstartet...sind dann die vorher vorhandenen Werte weg?

Es gibt zB noch den DSM Node .... dort zB auch sowas: https://github.com/cflurin/node-red-con ... ple-values

...nur als Anregung.
aiole
Beiträge: 6780
Registriert: Mo Okt 08, 2018 4:51 pm

Re: Beispiele: openWB Integration an Node-Red

Beitrag von aiole »

Danke für den Tipp. Die kleine Summation/Sim zieht ganz schön Kreise. DSM wird gerade installiert und ich werde mich dort durchhangeln.

Ich hatte in der Tat gehofft, mit node-red klassisch (mit Variablen) etwas code zu stricken, um die Sim zu realisieren. Das scheint nicht unbedingt NR's Stärke zu sein.
Beim GUI punktet es dagegen wieder gut und ich hoffe, dass der Datentransfer mittels MQTT auch zügig erstellt werden kann. Aber erstmal durch due basics durchbeißen.
Antworten