NEWS
Test Adapter sun2000 v0.1.x - Huawei Wechselrichter
-
@lcars Hallo Lars,
Normalerweise hängt am Master der Dongle, der Smartmeter und die erste Batterieeinheit. Insofern könnte es sein, das die ID 2 der Master ist. Dann müsste die Einstellung für die Ids = 2,1 lauten.
In deinem andern Post hast du ein Fehler beim Zugriff auf 37700 aufgezeigt. Das wäre die SN der 2ten Battery Unit., die du u.U. nicht hast.Sofern du mit mehreren Clients auf den Modus (seriell) zugreifen möchtest, benötigst du einen sog. modbus proxy. In einem anderen Projekt (Home Assistant) wird auf den https://pypi.org/project/modbus-proxy/ verwiesen. Den Proxy habe ich allerdings noch nicht eingesetzt.
Wichtig ist es auch die Software von den WR und dem Dongle auf den neusten Stand upzudaten.
Stephan
-
@bolliy Das mit der geänderten Angabe der IDs habe ich gleich getestet und mal das Abfrageintervall verkürzt auf 10s aber seht selbst:
So sehen die Einstellungen bei mir aus:
-
@lcars Werden denn einige Daten gelesen oder nichts?
-
@bolliy Die Daten kommen schon rein, ich musste aber das Intervall auf 60s setzen. EinAusschnitt der Daten sieht so aus:
Das Log jetzt mit 60s Intervall und den IDs 2,1:
Sogar jetzt Timeouts.
Ok werde ggf. mal am Wochenende alles (Wechselrichter) neustarten und schauen ob sich da was ändert. -
@lcars Da einige Dongle mit der hohen Datenabfragerate anscheinend Probleme haben, baue ich gerade an einer neuen Test-Version (kein Release). Dort kann man einige Einstellungen zum modbus Timing vornehmen.
Ich melde mich bei dir, sofern die Test-Version fertig ist.
Stephan -
Da bei einigen immer wieder timeout- oder busy-Fehlermeldungen im Log auftauchen, habe ich jetzt gerade eine neue Entwickler-Version auf github hochgeladen.
Nun kann man beim sun2000 Adapter unter dem Reiter „MODBUS TIMING“ Einfluß auf das zeitliche Verhalten der modbus-Verbindung nehmen.
timeout (s) : Die Zeit um auf eine modbus-Anfrage seitens des Dongles zuantworten. Default = 5)
delay (ms) : Zeitverzögerung zwischen den modbus-Anfragen. Default = 0
connect delay (ms) : Zeitverzögerung nachdem eine modbus-Verbindung aufgebaut wurde. Default = 2000Besonders mit dem delay Wert sollte gespielt werden. Vielleicht erstmal mit einem hohen Wert (zb. 5000) starten und danach sukzessive nach unter korrigieren bis keine Fehler mehr auftauchen.
Die Installation erfolgt über den Expertenmodus. Danach auf die „Krakenkatze“ klicken und dann die benutzerdefinierte Url
https://github.com/bolliy/ioBroker.sun2000/tarball/dev
eingeben und die Installation starten.
Bitte mir eine Rückmeldung geben - ob es funktioniert – und beim welcher Einstellung die Funktion gegeben ist. -
@bolliy Klasse. Das ist mit dem Timing ist schonmal Prima. Da ich zwei Wechselrichter habe, hatte er immer den zweiten nie gleichzeitg abfragen können. Derzeit läuft bei mir im nodered noch die Register Abfrage, auch ähnlich mit dem Verzögerung.
Allerdings kommen bei mir nun ein Fehler beim WR2:
Error while reading from 192.168.2.16 [Reg: 37700, Len: 10, modbusID: 2] with: Modbus exception 2: Illegal data address (register not supported by device) -
@dragst3r hallo,
mit der Abfrage (Reg 37700 "SN") versuche ich die Anzahl der vorhandenen Battery units zuermitteln. Bei meinem WR (ich habe nur 1 WR) kommt der "Illegal data address" Fehler nicht.Vielleicht muss ich mir eine andere Möglichkeit suchen um herauszufinden wie viele Battery Units an einem WR angeschlossen sind. Ich wollte den Nutzer nicht mit weiteren Settings langweilen.
Mit welchen Modbus-Timing-Einstellungen funktioniert dein Setup?
Dann könnte ich die Daten als default Einstellungen zur Verfügung stellen.Stephan
-
@bolliy Die Slave WR haben doch meist keine Batterie, vielleicht in den Settings fragen ob Batterie vorhanden und wenn ja, bei welcher ID?
Als Einstellung habe ich derzeit: alle 10sek, wobei Debug sagt: Interval 13.254 sec. Habe heute erst deinen Adapter verwendet und muss meine Skripte umschreiben.
timeout: 5000ms
delay: 1000ms (hatte ich bei NodeRed auch)
connect: 5000msPS: Vielleicht kannst du noch als Setting den Netzbezug (Grid) berechnen. InputPower (loss) - HouseConsumption. Den brauch man z.B. bei evcc
Gruß
Steffen -
@dragst3r hi Steffen,
für den "Illegal data address" habe ich schon eine Lösung.
Falls ich eine Dev-Version fertig habe - gebe ich Bescheid.
Würdest du den neuen State Netzbezug ein issue https://github.com/bolliy/ioBroker.sun2000/issues erstellen. Dann vergesse ich dein Anliegen nicht. -
@dragst3r hi Steffen,
habe gerade eine neue Dev-Version hochgeladen.Intallation wie oben beschrieben. Allerdings muss der Adapter manuell neugestartet werden, da dieses nicht auto. funktioniert.
Der Intervall wird vom Adapter ggf. angepasst. Dann findest du folgendes im log:
warn Please check your configuration! warn The interval is too small. The value has been changed on 6 sec.
Die Fehlermeldung zu Reg 37700 wird nun ignoriert und nicht neu angefragt. Was ggf. auch zu Verzögerung (13 Sekunden Intervall) geführt haben könnte.
Ich freue mich auf deine/eure Rückmeldung.
P.S.
Zur Zeit kann ich keine neue Versionen veröffentlichen, da der Adaper noch in der Validierung durch das ioBroker Core Team steckt.Stephan
-
@dragst3r der Post https://forum.iobroker.net/post/1123119 war eigentlich für dich bestimmt.
-
@bolliy danke, der Fehler zu 37700 ist weg, jedoch habe ich noch
Error while reading from 192.168.2.16 [Reg: 37200, Len: 3, modbusID: 2] with: Modbus exception 2: Illegal data address (register not supported by device)
Scheinbar nun auch der einzige.
-
@dragst3r hi steffen, kann es sein, dass deine Software nicht aktuell ist?
Die Softwarestände findest du in der Fusion Solar App oder auf dem Portal:
Bei mir:
Dongle V200R022C10SPC108
Inverter V100R001C00SPC159Stephan
-
@dragst3r ich vermute mal das der Slave WR aus der M0 Serie ist. Der kann keine Optimizer verarbeiten und würde auch die fehlenden Register erklären.
Das könnte ich aber auch wegprogrammieren.
Zeig mal was im State "sun2000.0.inverter.1.info.model" steht.Stephan
-
Ich habe auch mal meine Inverter und die Batterie neu gestartet um sicher zu gehen, dass da nicht intern der Rechner hängt. Weiterhin habe ich die 0.2.1 Version des Plugins installiert, gecheckt das Inverter und Batterie die neueste Version drauf haben und bei mir sieht es nun so aus:
Die Daten kommen schon rein aber ich bekomme ständig da Timeouts dazwischen.
Eingestellt habe ich bei mir:
Die Dev Version hatte ich auch mal laufen und habe die Timeouts mal hoch gesetzt aber da auch keine Verbesserung gewesen (war da noch in Version 0.2.0).Bei euch mit zwei Invertern und einem Akku läuft das ohne diese Fehlermeldungen?
-
@lcars zur Zeit gibt es nur eine Entwickler-Version, die das Problem lösen kann. Siehe https://forum.iobroker.net/post/1122230
Da ich z.Zt. den Adapter umstrukturiere, wird es etwas dauern bis ich ein neues Release rausbringen kann.
Stephan
-
@bolliy said in Test Adapter sun2000 v0.1.x - Huawei Wechselrichter:
Die Version läuft bei mir komplett nicht. Da habe ich z.B. das so eingestellt:
Und ich bekomme da nur im Protokoll:
Die Instanz bleibt auch gelb. Da funktioniert die 0.2.1 Version besser bei mir.
-
@lcars erhöhe mal
delay 5000
connect delay 8000...
-
Hab ich erhöht auf 8000 aber mit dem dev Teil sieht es schlechter aus und bleibt gelb. Hier das Log:
Nachtrag: Ich habe auch Errors im Inverter Logs gesehen. Ich stehe schon im Kontakt mit der Installationsfirma. Ggf. stimmt da was nicht.
Mit der "nicht" dev Version sieht es besser aus und der Adapter ist grün. Hier der Vergleich im Log dazu: