NEWS
[HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write)
-
@mage Nein - bzw. ist das keine Funktion von NodeRed an sich. Die ganzen Nodes, die in NodeRed mit Hardware sprechen - basieren entweder auf Standardkommunikationsmethoden, APIs der Hersteller, die entweder direkt oder über NodeJS Bibliotheken angesprochen werden. Trotzdem ist es immer ein Overhead - wenn ich mehrere kleine Abfragen mache, als eine große - weil dann nicht jedesmal neue Anforderungen übertragen werden müssen - das ist ja bei Datenbankabfragen in der Regel auch so. Allerdings dauern größere Abfragen eher länger.
Im Prinzip würde ich die Größe der Abfrage von der nötigen Aktualität der Daten abhängig machen. Daten, die sich häufig ändern und die unbedingt aktuelle sein müssen, sollte man in kleinen Stücken dafür öfters abfragen, während andere Teile in größeren Zeitabständen und dafür in größeren Blöcken abgerufen werden sollten. Ich kenn mich mit den Modbus Nodes nicht aus - generell ist die Frage ob man pollt oder lieber bei Änderungen triggern lässt.
-
ich habe die ID im "neuen Webportal" selber ausfindig machen können. Ging auch ohne Installateur Zugang. Der zweite WR hat bei mir die ID 16. Darunter finde ich auch nun den "Meter"
Bekomme nun entsprechend Werte.
-
Ich habe gerade den Adapter sun2000 in der Version 0.1.3 hier https://github.com/bolliy/ioBroker.sun2000 veröffentlicht. Der Adapter ist ebenfalls auch auf https://www.npmjs.com/package/iobroker.sun2000 deployed.
Kann mit max. 5 Wechselrichtern betrieben werden!Changelog:
• display the data from PV strings (#27)
• optimize the timing of interval loop
• improved handling of read timeouts from more then 2 invertersÜber Tests und euer Feedback freue mich sehr freuen.
Eure Anmerkungen könnt ihr auch gerne hier https://forum.iobroker.net/topic/71768/test-adapter-sun2000-huawei-wechselrichter-per-modbus oder https://github.com/bolliy/ioBroker.sun2000/issues posten.
LG Stephan -
Hallo,
ich setze für meinen Huawei das oben gepostete NodeRed ein (zugegeben habe ich von NodeRed keinerlei Ahnung und mich bisher nur sehr spärlich darum gekümmert).Leider kommt es immer wieder vor, dass der Wert für "Accumulated_Energy_Yield" irre Sprünge macht und mir damit das Sourceanalytix zerstört. Hier ein Auszug vom parallel per historie geloggten DP:
17.1.2024 11:03:27.590;31710.56;true;node-red.0 17.1.2024 11:17:05.292;31710.56;true;node-red.0 17.1.2024 11:17:45.018;31710.57;true;node-red.0 17.1.2024 11:24:01.366;31710.57;true;node-red.0 17.1.2024 11:25:40.496;2669977.62;true;node-red.0 17.1.2024 11:26:46.486;31710.57;true;node-red.0 17.1.2024 11:57:11.041;31710.57;true;node-red.0 17.1.2024 11:57:23.566;31710.58;true;node-red.0 17.1.2024 12:20:41.719;31710.58;true;node-red.0
Kann ein derartiger unplausibler Wert bereits im NodeRed Flow abgefangen werden (z.B. wenn der neue Wert im Vergleich zum alten Wert höher ist als "200" dann nicht speichern)?
-
@micklafisch Du kannst entweder mit einer switch node - absolute Werte ausfiltern oder Du nimmst eine filter node, damit kannst Du Sprünge generell ausschalten. Die kannst Du im Nahbandmodus betreiben um zu große Sprünge auszufiltern. Lies halt die Hilfe durch. Hier der entsprechende Auszug.
In den Nahband-Modies werden die Eingangswerte geblockt, wenn die Wertänderung größer oder größer-gleich ist als ± des Bandes um den voherigen Wert. Dies ist beispielsweise nützlich, um Ausreißer eines fehlerhaften Sensors zu ignorieren.
In den Totband und Nahband-Modies müssen die Eingangswerte analysierbare (parseable) Zahlenwerte sein und beide unterstützen auch % (prozentuale Angabe), d.h. der Node sendet nur, wenn der Eingangswert mehr als x% vom vorherigen Wert abweicht.
Die Totband- und Nahband-Modies erlauben den Vergleich entweder gegen den letzten gültigen Ausgangswert, dieses zum Ignorieren von Werten außerhalb des gültigen Bereichs, oder gegen den des vorherigen Eingangswertes, welches den Sollwert rücksetzt, was einen allmähligen Drift (Totband) oder einen eine schrittweise Veränderung (Nahband) ermöglicht.
-
Hallo zusammen,
hat jemand in Verbindung mit dem Speicher Luna2000 die richtigen Werte hinbekommen ?„Daily Energy Yield“zeigt mir seit dem Speicher falsche Werte an. Die App stimmt nicht mit dem in NodeRed überein.
Desweiteren kann mir jemand vielleicht helfen, wie ich dem Wechslrichter sage, wenn ich das Auto mit einer Wallbox laden möchte, dass er nicht die Batterie entläd? Habe eine Zappi Wallbox die Überschuss laden kann und möchte nicht dass Sie an die Batterie geht. Oder wenn möglich dann als Beispiel wenn Batterie zwischen 100% bis 70% kompensiere eine Wolke wenn nicht genug PV Energie kommt mit der Batterie wenn unter 70% beziehe Netzbezug. Vielleicht mit einem Blockly.
Dankbar über jeden Tipp bzw. Hilfe.Grüße
-
Guten Morgen zusammen,
ich habe einen Huawei SUN2000-4KTL-L1 in Betrieb. Die L1-Serie scheint ja kein Dongle mehr bei liegen zu haben, sondern dort ist das Wlan direkt im Wechselrichter verbaut.
Hat es hier schon jemand mal geschafft, die L1 per Modbus TCP auszulesen ohne einen Dongle zu kaufen?
-
@marcelinho : Daily Energy Yield = Ausgabe des WR an AC.
Energieertrag bei Huawei in der App = Daily Energy Yield + eingespeicherte kWh - ausgespeicherte kWh.
-
@christof-lewandowski
Hallo Christof,
ich versuche gerade ähnliches zu erreichen habe aber Probleme den Proxy ans Laufen zu bekommen.
Der Proxy sagt ready, aber der NodeRed Zugriff meldet den Fehler : "Port not open".
Wie hast du den Proxy in NodeRed konfiguriert ? -
Hallo zusammen,
ich habe zum wiederholten male das Problem, dass zwar alles connected ist, aber keine Werte kommen. Lief fast ein Jahr ohne Komplikationen und nun immer mal wieder dieses Problem. Geändert an der Hardware wurde nichts.
verstehe leider nicht, warum es auf einmal nicht mehr gehen soll....
Tips und Ideen?
Vielen Dank
-
-
@cksoft vielleicht hilft dir das weiter:
https://github.com/bolliy/ioBroker.sun2000/wiki/Energieertrag-(Yield-today) -
Hallo,
ich habe ein Problem mit dem AC Laden des Huawei Luna´s. Ich habe den Flow von dem Ersteller genommen und davor den Node-red Dashboard Switch um zu testen.
Leider stellt er nicht auf Zeitgesteuertes Laden wenn ich den Switch aktiviere im Huawei Dashboard ändert es sich von Maximalen Eigenverbrauch auf ein Freies Feld wie hier angehangen. Wenn ich den Switch ausschalte dann kommt nach einigen Sekunden wieder Maximaler Eigenverbrauch.
Was muss ich ändern damit es Funktioniert? in der Funktion ist folgendes drin:
var sa = 50; // Startadresse des Registers var address = 1; // Adressen des Registers var value = msg.payload; // Wert, den du schreiben möchtest (16-Bit) var buf = Buffer.alloc(2); buf.writeUInt16BE(value); // Schreibe den 16-Bit Wert in den Buffer msg.payload = { 'fc': 6, // Funktion 6 für das Schreiben eines einzelnen Registers 'unitid': 1, // Modbus-Geräte-ID 'value': buf.readUInt16BE(0) // Lese den Wert aus dem Buffer }; return msg;
MOD-EDIT: Code in code-tags gesetzt!
Ich hoffe ihr könnt mir helfen, ich bin Neuling was das angeht.
LG
Bryan -
@sylbry sagte in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
ich bin Neuling was das angeht.
Really? Als GF einer Energie GmbH?
-
@samson71 Ja wirklich, ist für mich privat für zuhause
-
@sylbry
Na dann herzlich willkommen im Forum -
@samson71 Danke dir kannst du mir helfen bei dem Thema was ich gefragt habe? ich habe echt schon massig ausprobiert aber er schaltet nie auf Zeitgesteuert...
-
-
@samson71 können wir gern für dich übernehmen
-
@sylbry
Ich werde es mir merken und komme ggf. drauf zurück (meine ich ernst!).