NEWS
Huawei Sun2000 & ioBroker via JS script funktioniert
-
Hallo Zusammen,
ich habe 2 WR (SUN2000-10KTL-M1 als Master ID=16 & SUN2000-8KTL-M1 als slave ID=1) an einem Dongle.
Leider bekomme ich nur die Daten des Master WR.
Kann hier bitte jemand helfen? -
@julez318 Entweder ID 0 Oder ID16(Master) ID1 (Slave) usw bei meheren WR. Im Debug Fenster siehst du ob was zurück kommt. Ist auf beiden WR modbus tcp aktiviert?
-
@bolliy danke! Modbus tcp war/ist auf beiden WR aktiviert und der Master hat die ID16 und Slave die ID1.
Hab dann noch etwas rumprobiert und auf einmal ging es dann mit den ursprünglichen Einstellungen.
Die Werte beider WR werden nun angezeigt -
@julez318 Das freut mich
-
@chris_b Kein Problem , verstehe ich voll und ganz. Bin ja froh das es das Script gibt. Hat bei mir Zeit gespart
-
@backons said in Huawei Sun2000 & ioBroker via JS script funktioniert:
Hallo Zusammen,
habe seit knapp einer Woche auch ein Huawei System. Hab mir vor ein paar Tagen das Script geholt und angepasst an meine Konstellation.
2x WR in Kaskade und eine 10KW Luna am WR1.
Soweit funktioniert alles ohne Fehlermeldungen bis auf den Ordner Derived.
Dort wurden die Einträge zwar angelegt aber dort ist überall nur eine 0 zu sehen. Diese Werte werden auch nicht über Nacht aktualisiert. Wo könnte hier der Fehler bei mir sein ?
P.S. Die Werte der WR werden brav aktualisiert und sind auch vorhanden. Habe die neuste Version des Script aus Github in VerwendungIch hatte jetztmal mehr Zeit das zu prüfen.
Problem warum die Werte in Derived nicht erzeugt wurde war der nicht vorhandene Ordner des Smart-Meter. Dort hatte ich ursprünglich die ID 11 eingetragen weil das die Kommunikationsadresse meines Smart-Meters ist.Nach langem lesen habe ich kapiert das ja dort die Modbus-ID des WR rein muss indem der Samrat-Meter angeschlossen ist oder ?
Kann bitte mal jemand auf meine Konfiguration schauen ob das so alles Richtig ist ? Gerade beim Eintrag der Batterie ?
Ich habe zwei Wechselrichter in Kaskade mit den ID´s 16 und 1. Am WR mit der 16 ist der Dongle+Smartmeter+eine Luna Batterie angeschlossen.
Es ist also an WR1 eine Luna mit zwei Batteriepacks also 10KW dran.
Laut Anleitung im Script wäre meine eigentlich Lösung dafür const BatteryUnits = [[2, 0], [0, 0] ] ;
Damit kommt aber ein Compile-Fehler. Mit meine aktuellen Einstellung kommt er nicht mehr aber ist das so richtig alles ??
Es werden leider trotzdem nicht alle Werte geholt bzw. es kommt zu Fehlern im Log.// Enter the Modbus-IDs of your Sun2000 inverters here (example for two inverters): const ModBusIDs = [16, 1]; const ModBusIDs = [16, 1]; // On which Modbus-ID can we reach the power meter? (via Sun2000!) const PowerMeterID = 16; // Enter your battery stack setup. 2 dimensional array, e.g. [[3, 2], [3, 0]] means: // First inverter has two battery stacks with 3 + 2 battery modules // while second inverter has only one battery stack with 3 battery modules const BatteryUnits = [[2, 0]];
-
@bolliy, könntest du bitte dein Script mit der readRegisters Funktion zur Verfügung stellen? Ich würde den Ansatz gerne ausprobieren. Nur fehlt es mir leider am JS Know-how.
-
@mage, mein script jabe ich gerade auf github (https://github.com/bolliy/sun2000-script-iobroker) gepusht. Es handelt sich nur um ein "proof of concept" für einen iobroker Adapter, den ich erstellen will. Ich werde also keine weiteren Änderungen am script vornehmen, da ich mich auf meine Adapter Entwicklung (https://github.com/bolliy/ioBroker.sun2000) konzentrieren möchte.
-
@bolliy, vielen lieben fürs puschen auf github.
Gutes gelingen beim Entwickeln des Adapters. -
@bolliy hab den Adpater installiert. Auf ersten Blick tut alles
-
@atzeackermann das freut mich . Grundsätzlich funktioniert der ioBroker.sun2000 Adapter schon. Ich habe allerdings noch etliche Issues, die ich behandeln möchte.
- mehr Register Daten darstellen
- Abgeleitete Werte wie Hausverbrauch (consumptions), Erträge (yields) berechnen
- Kumulierte Werte bei der Nutzung von mehren Wechselrichtern ermitteln
usw…
Vielleicht hat der eine oder andere Lust mich dabei zu unterstützen. Darüber hinaus suche ich jemanden der 2 Wechselrichter mit mehr als einer LUNA2000 Batterie. Diese Konstellation ist eher selten – sollte aber dennoch korrekt dargestellt werden.
-
@bolliy Ich bin noch über diesen Adapter gestolpert....
https://github.com/daolis/ioBroker.sun2000-modbus
Ich denke ihr solltet euch zusammen schließen -
@atzeackermann danke für deinen Hinweis. Ich habe den Entwickler bereits angesprochen. Mal sehen was daraus wird...
-
Ich habe eine neue Version 0.1.1 von dem ioBroker.sun2000 Test-Adapter veröffentlicht.
https://github.com/bolliy/ioBroker.sun2000Würde mich über Tests und Feedback 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
-
@bolliy Ich habe gerade den Adapter 0.1.2-alpha.1 hier https://github.com/bolliy/ioBroker.sun2000 veröffentlicht. Ich hoffe, dass dieser nun auch bei mehreren WR funktioniert. Der Adapter ist ebenfalls auch auf https://www.npmjs.com/package/iobroker.sun2000 deployed.
Achtung: Die Konfiguration der "modbus IDs" hat sich geändert. (siehe readme)
- modbusIds: inverter IDs, separated with "," (default: 1, max. 5 inverters)
Über ein Feedback würde ich mich freuen
Wenn möglich bitte auf https://forum.iobroker.net/top…1-x-huawei-wechselrichter posten. -
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 -
Ich habe gerade den Adapter sun2000 in der Version 0.2.0 hier https://github.com/bolliy/ioBroker.sun2000 veröffentlicht. Der Adapter wurde ebenfalls auch auf https://www.npmjs.com/package/iobroker.sun2000 deployed.
Bitte den Adapter über npm installieren, damit keine unfertige Version in ioBroker eingespielt wird!Changelog:
- Add sun2000 to latest (https://github.com/ioBroker/ioBroker.repositories/pull/3219)
- improve error handling (#34)
- add simple optimizer info
- Riemann sum of input power with energy loss for new state
dailySolarYield
- try to recreate the "yield today" from the fusion portal in state
dailyInputYield
Über Tests und euer Feedback freue mich sehr.
-
Hallo bolliy,
danke für das Plugin. Ich habe das bei mir laufen aber renne immer wieder in Probleme so, dass ich z.T. Timeouts bekomme. Ich habe zwei Wechselrichter und habe deren IDs (1,2) auch korrekt eingegeben. Den Intervall habe ich schon auf 60s gesetzt! Trotzdem bekomme ich sogar bei diesem Intervall vereinzelt folgende Meldungen im Protokoll:
Error while reading from 192.168.1.x: [37000|68] id: 2 '' with : Modbus exception 6: Slave device busy (retry request again later)
...
Error while reading from 192.168.1.x: [47081|8] id: 2 '' with : Port Not Open
...
Error while reading from 192.168.1.x: [37765|2] id: 1 '' with : Timed out
...Habt ihr bei euch auch dieses Problem oder gibt es ein Tipp wie man es lösen kann? Der Effekt tritt auch auf wenn ich das mit dem anderem SUN2000_modbus Plugin teste und ich sehe Verbindungsabbrüche wenn ich z.B. mit der NRGKick App drauf zugreifen will. Das Netzwerk ist aber ok, die Error Meldungen z.B. mit "Slave device busy" kommt ja auch direkt vom Wechselrichter.
Danke falls jemand einen Tipp hat.
Gruß
lcars -
@lcars hast du auch die Fehlermeldungen mit dem script https://github.com/ChrisBCH/SunLuna2000_iobroker?
Du darfst auch nur mit einem Client auf den modbus zugreifen, da mobus nur seriell angesprochen werden darf. Ansonsten muss du ein proxy verwenden.
Stephan -
@bolliy Danke für den Hinweis. Ich habe das eben mal probiert aber auch da kamen Fehler: script.js.Huawei: Error received reading address 37700 from id: 1 with error: undefined
bzw. sind keine Daten in den erstellten Datenpunkten drin. Das war aber ein guter Hinweis, dass nur ein Client die Daten abfragen kann. Das würde erklären, warum meine Wallbox (NRGKick) da kurz durchkommt und dann abbricht.Hast du vielleicht noch ein Hinweis, wie man ggf. so ein Proxy realisieren kann? Ansonsten müsste ich der Wallbox wohl dann den Vorrang geben.