NEWS
[Adapter] cloudfreie Auslesung von Deye-Invertern
-
@rene55 ich schaue mir das die Tage Mal genauer an und melde mich dann.
-
Hallo @dontobi ,
die Einstellungsdatei stammt ursprünglich von mir: ich hatte sie vor ein paar Tagen in einem anderen Forum geteilt. Interessant wie schnell sie den Weg hierher gefunden hat...
Dort hatte ich auch geschrieben, das die Temperaturen nicht richtig ausgelesen werden. Das hier einfach nur "100 Grad" abgezogen werden müssen, ist mir gar nicht ins Auge gefallen. War wohl doch zu nah vor dem Monitor gesessen
Ich teile hier einfach nochmal meine aktuellste Version, jetzt auch mit den richtigen Temperaturen.
Unter "PV_Gesamtleistung" wird bei mir übrigens der GEN Output mit eingerechnet, da ich noch einen alten Microwechselrichter am GEN Eingang in Betrieb habe. Das müsstest du bei dir also ggf. anpassen.
Falls du noch mehr Werte anzeigen möchtest, hier die Datei mit den Modbus-Registern vom Hersteller in Englisch. Register die ich in grün hinterlegt habe liefern auch Werte, bei rot markierten kommt nichts...
Modbus Deye amit posun ENG aut.docx
LG,
Danny -
@df0101 Danke für die Info. Dann ist ja die Aussage, dass die großen WR damit nicht auslesbar sind, widerlegt. Bitte weitertesten .
-
@df0101 Vielen Dank. Ich habe mir die letzten beiden Tage bereits eine Konfiguration zusammen gestellt. Ich vergleiche diese mal mit deiner und teile dann meine ebenfalls an dieser Stelle.
-
hi, ich hab mal wieder ne Frage, ich hab heute mal meine Tasmota Poolsteckdose zwischen den Deye Wechselrichter gestöpselt, und folgende Werte erhalten.
Das komische ist, der Wert vom Adapter also dem was der Wechselrichter selbst sagt, ist immer rund 150-200 Watt höher wie was die Steckdose sagt. Da wo die Lücke ist, hab kurz das Analoge alte Verbrauchsmessgerät dazwischen gestöpselt. Die Abweichung zum Tasmota Bildschirm war unter 5 Watt. Das Ding sollte also richtig messen.
Gibt der Wechselrichter also viel mehr an, wie tatsächlich ankommt ? -
So... Ich habe jetzt meine Config seit über 3 Tagen am laufen. Den Typ Umrichter sieht man anhand der Datei, die ich hier angefügt habe. Vielleicht kann man die JSON Files bei GitHub sammeln oder sogar direkt in den Adapter als Beispiel Dateien mit einarbeiten.
-
@dontobi Danke für die Datei. Ich gehe davon aus, dass du alle Werte gefunden hast, die dein System hergibt. Was mich ein wenig erstaunt ist, dass du alle Werte mit Rule=1 heraus bekommst. Das ist eine Berechnung mit 16-bit Werten, die nach meiner Erkenntnis bei einem Wert von ca. 6553 kWh zu ende ist. Ist deine Anlage noch nicht so alt, dass dieser Wert erreicht wird? Da ich nur eine kleine Anlage habe, kann ich so etwas leider nicht selbst testen.
-
@berndsolar13 Dass eine Diskrepanz zwischen der internen Berechnung und einem externen Leistungsmesser vorhanden ist, ist bekannt. Aber dass die Differenz so groß ist, ist mir auch neu.
-
Der Witz ist, unterhalb von 400 Watt sind die Tasmota Steckdose und die Werte vom Wechselrichter nahezu identisch. Aber je höher der Wert, um so größer die Abweichung. Fand das etwas komisch, daher die Nachfrage.
-
@berndsolar13 Ja sehr seltsam. Ich werd in den nächsten Tagen auch mal einen Vergleich machen zwischen interner und externer Messung. Mal sehen, was ich dann zu sehen bekommen.
-
@rene55 meine Anlage ist gerade einmal 10 Tage alt. Meinst du ich sollte da einen anderen Wert bei Rule nutzen? Wenn ja, welchen schlägst du vor?
-
@dontobi Kannst ja erstmal laufen lassen, solange der Wert z.B für Total_PV_Power plausibel ist. Grundsätzlich müsste man für diese Werte 32-bit nehmen, die dann mit der rule = 3 abgedeckt werden. Und genau hier kann es sein, dass da noch ein Fehler drin steckt. Da bräuchte ich dann eine Rückmeldung. (Ich werde so einen hohen Wert erst in ein paar Jahren bekommen ).
-
@rene55 Nàbend zusammen - ich habe heute von 0.0.7 auf 0.0.9 geupdatet. Im Change Log zu den Versionen waren keine breaking Changes vermerkt, aber der Adapter bleibt seit dem Rot.
.... jetzt sowieso, weil es dunkel ist, aber auch schon heute Nachmittag wo schöner Sonnenschein herrschte.
Habe ich irgend etwas verpasst, auf was ich bei dem Versionssprung hätte achten müssen?
-
@jb_sullivan sagte in [neuer Adapter] cloudfreie Auslesung von Deye-Invertern:
aber der Adapter bleibt seit dem Rot.
Und im Log steht dazu was?
-
@thomas-braun Nichts, womit ICH etwas anfangen könnte.
Das hier ist die einzige Auffälligkeit (habe die Seriennummer, durch Wort Seriennummer ersetzt). In den Instanzeinstellungen, wo die Seriennummer eingetragen ist, ist hinter der Nummer aber KEIN "."
2023-08-24 08:42:36.721 - [31merror[39m: deyeidc.0 (15948) The id "deyeidc.0.Seriennummer." is invalid. Ids are not allowed to end in "."
2023-08-24 08:42:36.715 - [31merror[39m: deyeidc.0 (15948) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2023-08-24 08:42:36.716 - [31merror[39m: deyeidc.0 (15948) unhandled promise rejection: The id "deyeidc.0.Seriennummer." is invalid. Ids are not allowed to end in "." 2023-08-24 08:42:36.720 - [31merror[39m: deyeidc.0 (15948) Error: The id "deyeidc.0.Seriennnummer." is invalid. Ids are not allowed to end in "." at Validator.validateId (C:\ioBroker\GLT\node_modules\@iobroker\js-controller-adapter\build\lib\adapter\validator.js:147:23) at Deyeidc._getForeignState (C:\ioBroker\GLT\node_modules\@iobroker\js-controller-adapter\build\lib\adapter\adapter.js:6354:25) at Deyeidc.getForeignState (C:\ioBroker\GLT\node_modules\@iobroker\js-controller-adapter\build\lib\adapter\adapter.js:6340:21) at Deyeidc.getState (C:\ioBroker\GLT\node_modules\@iobroker\js-controller-adapter\build\lib\adapter\adapter.js:6312:21) at C:\ioBroker\GLT\node_modules\@iobroker\js-controller-common\build\lib\common\tools.js:2043:16 at new Promise (<anonymous>) at Deyeidc.getStateAsync (C:\ioBroker\GLT\node_modules\@iobroker\js-controller-common\build\lib\common\tools.js:2042:16) at Deyeidc.readComputeAndWatch (C:\ioBroker\GLT\node_modules\iobroker.deyeidc\main.js:325:31) at Deyeidc.onData (C:\ioBroker\GLT\node_modules\iobroker.deyeidc\main.js:170:16) 2023-08-24 08:42:36.721 - [31merror[39m: deyeidc.0 (15948) The id "deyeidc.0.Seriennummer." is invalid. Ids are not allowed to end in "." 2023-08-24 08:42:36.728 - [32minfo[39m: deyeidc.0 (15948) terminating 2023-08-24 08:42:36.730 - [33mwarn[39m: deyeidc.0 (15948) Terminated (UNCAUGHT_EXCEPTION): Without reason 2023-08-24 08:42:37.233 - [32minfo[39m: deyeidc.0 (15948) terminating 2023-08-24 08:42:37.786 - [31merror[39m: host.GLT instance system.adapter.deyeidc.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2023-08-24 08:42:37.787 - [32minfo[39m: host.GLT Restart adapter system.adapter.deyeidc.0 because enabled
-
@jb_sullivan sagte in [neuer Adapter] cloudfreie Auslesung von Deye-Invertern:
The id "deyeidc.0.Seriennummer." is invalid.
Ist das so in im ersten Tab eingetragen? Die Meldung ist doch sicherlich selbsterklärend.
-
@rene55 Ja, die Seriennummer ist im ersten Tab korrekt und ohne Punkt eingetragen. Mittlerweile habe ich festgestellt, das im dritten Tab die Felder für die Rechenformeln leer sind (waren aber vorher OK). Ich habe da jetzt wieder die Formeln eingetragen und nun funktioniert der Adpater in der 0.0.9er Version auch wieder.
-
@jb_sullivan Ja schön, freut mich. Irgendwie irritierend. Die Eingaben im dritten Tab haben aber nichts mit der Seriennummer im ersten Tab zu tun.
Und ja, es gab eine kleine Änderung bei den berechneten Feldern. Die bestanden vor Version 0.0.x (7?) aus zwei Feldern - jetzt ist es nur noch eins mit Rechenvorschrift. Ich hoffe, es gab nicht zu viel Handarbeit. -
Ich habe mir die Konfiguration meines Wechselrichters nochmals angesehen. Die Rules habe ich angepasst und dabei auch etwas festgestellt.
Wenn man bei den Temperaturen die Rule auf 1, 2, 3 oder 4 stellt, erhalte ich immer Werte mit 100°C zu viel zurück. Stellt man die Rule auf 6, kommen die Werte korrekt an. Somit entfällt die Berechnung.
Anbei meine aktuelle Konfiguration:
Deye_Sun10K-SG04LP3-EU.json -
@dontobi Ja da hast du recht, hätte ich beim Vorschlag -100 auch dran denken können. Diesen Temperaturoffset haben die kleinen WR auch, daher gibt es die Rule 6. Ich hab das jetzt auch mal (in der Adapter-ReadMe) Dokumentiert.