NEWS
[HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write)
-
@heinzileilei Ok - dann kann ich leider auch nicht helfen, da ich die HW nicht habe. Dachte Du bekommst die Daten in NodeRed und hast nur Probleme, die in den iobroker zu schreiben, aber Du bekommst ja die Daten nicht in NodeRed.
Also tut mir leid, dass ich nicht helfen kann.
-
@mickym flow.txt So aber Jetzt Danke für deine Hilfe. Hab den Originalen Flow in Visual Studio bearbeitet und Überall wo "unit_id": "2", gestanden ist auf "unit_id": "1", umgeschrieben da bei meiner Anlage "unit_id": "1", stimmt. Und jetzt bekomme ich die Daten in Node red und auch in den IoBroker. Wär fast verzweifelt Anbei hab ich für alle die nur eine Anlage besitzen und sie laut Fusion Solar as Unit Id 1 gestellt ist den Flow angehängt der bei allen klappen sollte ( Bitte Ipadresse ändern bei mir ist 192.168.1.61 ) Lg
-
@heinzileilei
Ja, daran liegts. Mein WR war direkt am Anfang mal defekt und wurde getauscht. Deshalb hat er die ID: 2 bekommen. Aber normalerweise sollte da überall die ID 1 eingetragen sein. Ich habe den Hinweis, dass das zu ändern ist oben in der Anleitung ergänzt! -
@badsnoopy667 Ja das habe ich leider nur beim Stick geändert Hast du ne info ob du in deinem Flow die Möglichkeit hast beide Stings eparat auszuwerten ( Ost/West) . Danke Dir Lg
-
@heinzileilei
Importier mal den Flow von @ple, der hat mehrere Strings separat ausgewertet: -
Hallo zusammen,
mal eine vielleicht blöde Frage, aber ist es tatsächlich so gewollt, dass der SDongle sich inkl. Modbus TCP Interface tatsächlich bei Dunkelheit verabschiedet und erst am nächsten Tag bei Lichteinfall wieder zurückmeldet? Ich habe einen Huawei sun2000-8ktl-m1 ohne Speicher, dann scheint der Wechselrichter in den Standby zu gehen bei Dunkelheit. Da ich gerne Daten aufzeichne und visualisiere, fände ich es eigentlich schade, wenn dies nur tagsüber ginge. Auch so Daten wie Netzspannung, Frequenz sind ja u.U. nicht uninteressant. Oder wenn ich halt mit dem Modbus TCP Interface spielen will und es schon dunkel ist, habe ich auch schlechte Karten.
Kann man da evtl. irgendwo eine Einstellung tätigen, um den Dongle ständig online zu halten?
Danke und Grüße
André -
@asmm hast du hier mittlerweile eine Antwort?
ich möchte einfach nur den Wert, wieviel W mein Haus gerade verbraucht.
Das Register 37500 mit unit-id 100 vom Dongle scheint dieser Wert zu sein, is aber absolut nicht in Echtzeit.@all gibt es irgend ein Register was mir diesen Wert zurück liefert?
-
@chris-m said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
@all gibt es irgend ein Register was mir diesen Wert zurück liefert?
Nein, das Register gibt es nicht. Aber Du kannst den Eigenverbrauch einfach berechnen indem Du "Active Power Inverter" Minus "Active Power Meter" rechnest. Also Eigenverbrauch = Erzeugung - Einspeisung. Bei Netzbezug ist die Einspeisung negativ, daher gilt dieselbe Formel auch für Netzbezug.
Das geht aber nicht so ohne weiteres, da die beiden Werte vom Wechselrichter/Dongle nicht genau gleichzeitig gesendet werden. Daher gibt es zwischen den Werten einen Zeitverzug von 1-2 Sekunden. Das macht dummerweise einen riesen Unterschied für den Fall, das sich die Sonneneinstrahlung stark ändert.
Lösung: Man summiert die Erzeugung und die Einspeisung ein paar Sekunden lang auf (z.B. 20 Sekunden lang) und bildet dann den Mittelwert. Das geht mit Listen. Die beiden Mittelwerte kann man dann voneinander abziehen.
Ich hänge mal meinen Blockly-Export dafür hier rein, aber Achtung, das ist ziemlich unübersichtlich weil es "gewachsen" ist. Heute würde ich das bestimmt sauberer aufschreiben. -
Danke für die Anleitung! Habe auf Anhieb die Kommunikation aufbauen können.
Trotz plausibler Daten erhalte ich folgenden Fehler:
"[warn] [modbus-client:WLAN-FE] Client -> fsm broken state after failed Get More About It By Logging TCP@192.168.2.87:502 default Unit-Id: 1"
Da ich minütlich abfrage, sehe ich diesen auch entsprechend oft. Wie kann ich das beheben?Dann würde ich gerne die "realtime" Lade und entladewerte der Batterie haben wollen. In dem www.fusionsolar web interface kann man diese sehen. Wenn ich das richtig sehe, stehen die in dem Beispiel nicht zur Verfügung, nur die Battery_Total_Charge/Discharge. Kann man die zusätzlich noch abfragen und wenn ja wo oder wie muss ich die einrichten?
DANKE! -
@holgus
Meinst Du diese beiden Werte "Ladeenergie heute" und "Entladeenergie heute" aus der App? Dafür gibt es mMn keinen Datenpunkt. Ich hab auch bisher nicht wirklich verstanden, was die überhaupt bedeuten sollen.
Aber man kann ja den Ladezustand in % auslesen. Damit kann man sich die beiden Werte ja halbwegs selber zusammenbasteln. Und die aktuelle Lade- und Entladeleistung in W wird ja auch ausgegeben. -
@badsnoopy667
Sorry, ich glaube ich habe gefunden was ich suchte: 0_userdata.0.Huawei.Battery.Battery_Power
Ich gehe davon aus , dass das dieser Wert ist:
Dann bleibt jetzt nur noch die Frage nach diesem Fehler:
fsm broken state after failed Get More About It By Logging TCP@192.168.2.87:502 default Unit-Id: 1"
Was läuft da schief? -
@holgus
Ach der Fehler... Der kommt bei mir auch ab und zu mal. Ist ja nur eine Warnung. Einfach ignorieren, klappt trotzdem.
Ja, das ist dein gesuchter Wert. -
Ich hab für meine Anwendung eine schnelle Abfrage einiger Register benötigt, und die restlichen werden seltener benötigt. Das hab ich jetzt folgendermaßen realisiert (basierend auf Vorschlägen weiter oben - vielen Dank dafür):
Count 3 ist ein Zähler, der 3 Ausgänge durchtaktet, der 1. Ausgang triggert die Abfrage vom Meter.Active_Power, den Wert will ich häufig aktualisiert haben. Sobald die Daten empfangen wurden, geht die Meldung über den Link zurück an die Trigger - Funktion. Die triggert den Count 3, und der zählt weiter auf den 2. Ausgang und triggert die Abfrage vom Inverter.Active_Power (brauch ich auch häufig).
Der 3. Ausgang triggert dann einen Zähler mit 25 Ausgängen:
Hier wird die Abfrage der restlichen 25 Register, die ich nicht häufig brauche, getriggert.
Die Trigger Funktion hat auch noch eine Timeout - Überprüfung, wenn mal keine Antwort kommen sollte, dann wird nach 5 Sekunden getriggert.
Damit werden jetzt die beiden wichtigen Register alle 1-2 Sekunden aktualisiert und der Rest langsamer.
Mit dieser Lösung hab ich sicher gestellt, das eine Abfrage erst bzw. sofort nach dem Empfang der vorigen Abfrage erfolgt, somit hat man die max. Geschwindigkeit und keinen Datenverlust.PS: das Problem mit den fehlenden Datenpunkten und das manuelle Anlegen (siehe weiter oben) kann man sich sparen, wenn man in der Node-Red Instanz "Erstellung von Fremd-Objekten" zulässt
mfg
-
@joschipp
Hallo, eine Frage wie kann ich deine Datei "flows.json herunterladen bzw inportieren?
Wenn ich den Flow importieren möchte bekomme ich diese Meldung -
@matthias-5
Es lag am Google Chrome Browser! -
Hi,
hast du diese Meldungen jemals aus dem Log weg bekommen ?
Ich habe genau das gleiche "Problem".LG.
Thomas -
Ich habe leider nix Neues zu vermelden.
Das ganze geht mir auf den Keks und ist eine ziemlich große Baustelle
Auch in FusionSolar gibt es unplausible Werte.
Beim Ertrag jetzt in den schattigen Tagen steht am Ende des Tages 0, aber im Grafen sind eindeutig Ertragswerte zu sehen.
Sehr frustrierend das ganze -
Hat Jemand von euch eine Idee, wie ich die beiden PV Strings des zweiten Inverters auslesen kann?
In der Beschreibung von Huawei steht, dass ab Register 32016 max 24 Strings unterstützt werden.
Ich kann aber nur den ersten String des ersten Inverters auslesen. -
Vielen Dank für die viele Vorarbeit. Ich habe nun ziemlich schnell Werte von meinem Wechselrichter im iobroker. Freue mich darauf damit zu arbeiten.
Das Thema node-red und auch ModBus ist neu für mich, daher eine Frage dazu:
Wie auf vielen anderen Screenshots in diesem Thread auch zu sehen sind bei mir einige Werte connected und liefern Daten, es gibt aber auch ein paar andere, die heller und mit gestrichelter Linie ohne connected dargestellt werden. Für diese bekomme ich keine Werte. Wie kann ich das ändern?
In meinem Bild betrifft das z.B. die Werte der PV Voltage und Current, an denen ich grundsätzlich schon auch interessiert wäre...
Hat jemand eine Idee? -
@thomas-lippert
Die Nodes sind Deaktiviert. Mach mal einen Doppelklick dadrauf und dann unten auf "Deaktiviert" klicken, dann werden sie wieder aktiv.