« Elektrotechnik & Smarthome  |

Nodered - mit Werten verschiedener Flows rechnen

Teilen: facebook    whatsapp    email
  •  fudi6489
  •   Silber-Award
31.3. - 9.4.2025
3 Antworten | 2 Autoren 3
3
Hallo

Ich habe 3 Wechselrichter am Haus, und würde die Einzelwerte der momentanen Leistung bzw. den Gesamtzählerstand dieser gerne addieren. Die jeweiligen Wechselrichter werden auf eigenen Seiten ausgelesen.

Die Berechnungen würde ich gerne auf einer eigenen Seite (Flow) in Nodered durchführen. Mein Wissen ist eher bescheiden, aber bis jetzt habe ich durch viel lesen/probieren das meiste geschafft, nur hier stehe ich komplett am Schlauch.

Die kW Werte hole ich mir über "link out/link in" auf die Berechnungsseite und diese kommen auch korrekt an.


_aktuell/2025033199881.png

Die Funktion sieht so aus:
msg.payload = (msg.payload["erzeugungpv12kw"] + msg.payload["pac"] + msg.payload["erzeugungaktuellkw"]);
msg.topic = "ges_erzeugungaktuell";
return msg;


Es wird dann "erzeugungpv12kW" (3.464) und "pac" (2.98) korrekt zu (6.444) addiert, und der Wert von "erzeugungaktuellkw" (0.58) einfach hinten angestellt.
Ergebnis ist dann  fälschlicherweiße 6.4440.58 anstatt von 7,024 .


_aktuell/20250331576491.png

Wie gesagt, ich habe schon viel "geschafft" aber es noch immer nicht verstanden.
Kann mir bitte jemand sagen was ich falsch mache?

LG

  •  gloitom
  •   Gold-Award
31.3.2025  (#1)
Warum das Rad neu erfinden, nimm doch den 'Sum power inputs' flow:
https://github.com/victronenergy/node-red-contrib-victron/blob/master/examples/Sum%20power%20inputs.json

-) gesamten code kopieren
-) im node Red Editor: Strg + i
-) einfügen
-) import klicken
-) 'links' bei den nodes hast du dann den neuen Subflow, einfach reinziehen

1
  •  fudi6489
  •   Silber-Award
9.4.2025 9:22  (#2)

zitat..
gloitom schrieb:

Warum das Rad neu erfinden, nimm doch den 'Sum power inputs' flow:
https://github.com/victronenergy/node-red-contrib-victron/blob/master/examples/Sum%20power%20inputs.json

-) gesamten code kopieren
-) im node Red Editor: Strg + i
-) einfügen
-) import klicken
-) 'links' bei den nodes hast du dann den neuen Subflow, einfach reinziehen

hab ganz vergessen zu antworten.

Ich will doch nur 3 Werte zusammenzählen. Da wäre das Rad neu erfinden eher dein Weg, oder?
Ich bin dann selbst draufgekommen was mein Fehler war: Einer der drei Werte war ein String (siehe auch am Screenshot da der Wert dort rot und nicht blau ist) und ließ sich dadurch nicht rechnen, sondern wurde hinten angestellt.

Mit der folgenden Zeile wird nun korrekt gerechnet: 
"msg.payload = Number(msg.payload);"


1
  •  gloitom
  •   Gold-Award
9.4.2025 14:06  (#3)
Die Variante über 'join' funktioniert, IMHO, nur, wenn alle drei Werte kontinuierlich und im selben zeitlichen Abstand kommen. Wenn das immer sichergestellt ist, kein Problem!

1



Beitrag schreiben oder Werbung ausblenden?
Einloggen

 Kostenlos registrieren [Mehr Infos]

Nächstes Thema: Rollosteuerung ändern (von Currysmarter auf Berker + Shelly)