NEWS
[Adapter] cloudfreie Auslesung von Deye-Invertern
-
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.
-
@t15j sagte in [neuer Adapter] cloudfreie Auslesung von Deye-Invertern:
@rene55
Moin, herzlichen Dank für diesen Adapter - ich bin absoluter ioBroker Neuling und solch ein Adapter hilft mir sehr!Ich habe zwei Deye WR (600 und 80g), nach dem ganzen hin und her habe ich gestern die Namensgebung der Spulen für mich angepasst und dann alle erzeugten Objekte (ausgelesenen Werte) einmal gelöscht (über den Reiter Objekte) und hoffte, dass diese dann neu erstellt werden - wurden sie auch, allerdings nur bei einem der beiden WR (der mit ID 0), bei ID 1 wurden die Werte nicht neu angelegt.
Also dachte ich mit, dass sie erst angelegt werden, wenn Änderungen auftreten und habe alle Spulen einmal mit Register 109 füllen lassen - hat auch geklappt, allerdings habe ich jetzt dort nach rd. 12 Stunden immer noch den damaligen Wert stehen:
(Bei den nicht markierten Werten bin ich mir unsicher, ob diese aktuell sind)Die Spulen sind natürlich wieder auf ihren alten Werten:
Im Log sehe ich aktuell folgenden Fehler:
Vermutlich hilft es, wenn ich den Adapter lösche und neu anlege - nur wollte ich das Verhalten hier einmal kurz schildern, evtl. ist es ja auch ein Logik-Fehler in der Anwendung.
Vielleicht gibt es ja aber auch eine andere Lösung?
Danke
ThomasPS: gibt es eine Möglichkeit die Konfiguration eines Adapters auf den anderen einfach zu übertragen bzw. gibt es eine Datei in der ich dass machen könnte, gestern per SSH habe ich nur eine zentrale Datei mit allen Objekten gefunden, darf ich da einfach etwas passendes ergänzen?
Hi,
ich habe auch jeden Tag mehrfach diese Warn-Meldung. Benutzte die Version 0.11.
Adapter gelöscht und neu installiert, brachte auch kein Erfolg. -
@mpf said in [neuer Adapter] cloudfreie Auslesung von Deye-Invertern:
ich habe auch jeden Tag mehrfach diese Warn-Meldung. Benutzte die Version 0.11.
Adapter gelöscht und neu installiert, brachte auch kein Erfolg.Bin seit heute auch dabei um von der Cloud weg zu kommen und bekomme ebenfalls diese Fehlermeldung.
-
@mpf Ich weiß jetzt aus dem Zusammenhang nicht genau, was deine Frage ist.
Ich vermute mal, es geht um die Warnmeldung:
@Gaunt Diese Meldung wird generiert, wenn der Inverter keine plausiblen Daten liefert. Wie die Daten validiert werden weiß ich nicht. Für uns Benutzer heist das nur, dass der Adapter die Daten nicht übernimmt, damit kein Mist in den Datenpunkten landet.
Nach welchen Kriterien das erfolgt und wie oft diese Meldung erzeugt wird habe ich noch nicht sondieren können. -
@rene55 ja, es geht um die Warnmeldungen.
Diese hatte ich aber erst mit der Adapter-Version 0.0.9. Vorher lief er ohne Meldungen.