NEWS
[Adapter] cloudfreie Auslesung von Deye-Invertern
-
@oromis Kein Ding. Schau wie du Zeit hast. Wie erwähnt - die 0.0.7 sollte laufen. Sonst hätte ich bestimmt schon mehrere Anfragen bekommen.
-
Tante Edit:
hab jetzt mal 100 Beiträge zurück geschaut .. Thema ist ja nicht neuGuten Morgen
ich hab 3 Deye in Betrieb (2x MicroInv und ein sun5k)
Dank deines Adapters konnte ich die Microinverter sehr einfach einbinden, super Arbeitist es geplant, oder überhaupt möglich
auch die grösseren Geräte über den Weg anzubinden? Hätte noch einen sun5k-sg03-lp1 hier in Betrieb?verbunden ist er, zeigt aber irgendwelche Phantasiewerte an
allerdings zeigt die Webseite des 5k auch nach Anmeldung keine wirklichen Daten an
mfg
Stefan -
@euro Hallo Stefan, grundsätzlich wird das möglich sein. Es werden wohl andere Register bei den großen Wechselrichtern verwendet. Und hier ist das Problem - ich weiß nicht welche? Und testen kann ich es auch nicht.
Sollte jemand eine Registerbelegung für die großen und hybriden Wechselrichter haben, immer her damit.
-
@rene55 Hallo Rene, also ich habe jetzt das Ganze noch einmal ausprobiert: Wenn ich in der Fritzbox den Internetzugang für den Wechselrichter sperre, kommt definitiv der oben von mir kopierte Fehler mit "Offset Time is invalid".
Sobald ich entsperre, funktioniert es wieder.
Es ist definitiv auch die 0.0.7 installiert (zeigt es in der Instanz bei der Info an).
Die Uhrzeit des WR scheint nicht ganz zu stimmen. Sie ist rund 1:30 Min hinter der Uhrzeit in iobroker. Also um 14:04:38 hat es 14:02:58 abgerufen beim Wechselrichter bzw. als Werte in die Objekte in iobroker eingetragen.Kann ich noch genauere Logs z.B. per Kommandozeile auf meinem Rpi zum Verhalten des Adapters abrufen?
-
@oromis Das ist aber nicht so, wie gewollt! Du hast ja schon die debug-Meldungen vom Adapter aktiviert - mehr kommt da nicht.
Dass die Uhrzeit nicht exakt der Uhrzeit im Rechner entspricht liegt nach meinen Erkenntnissen daran, dass er die Uhrzeit auch nur updatet, wenn er neue Daten bereit stellt.
Ich muss mal sehen, wie ich meinem Inverter auch das Internet entziehen kann - hab hier ein unifi-Netzwerk, keine Fritzbox. -
@oromis Genau dieses Setup (SUN600G3, Internet in der Fritzbox geblockt, Adapter v0.0.7) läuft bei mir problemlos (bis auf den oben erwähnten Timeout beim Adapterstart).
Die Register für Stunde, Minute, Sekunde ließt er bei mir immer mit 0 aus. Der Wechselrichter scheint also intern die Uhrzeit gar nicht zu "zählen", sondern diese nur regelmäßig übers Internet zu beziehen. -
Ganz herzlichen Dank für eure Antworten. @crycode wie genau hast du in der Fritzbox den Internetzugang deaktiviert? Ich bin auf "Heimnetz" -> "Netzwerk" -> Dann habe ich den Wechselrichter ausgewählt und auf das Stift-Icon zum Editieren der Einstellungen geklickt und unter "Kindersicherung" habe ich dann "Internetzugang sperren" gewählt.
Die Debug-Meldungen vom Adapter hatte ich tatsächlich noch nicht aktiviert. Die Meldungen kamen lediglich im Log, weil es Fehler waren. Habe sie jetzt aktiviert und werde das Ganze demnächst nochmal beobachten.
Ich könnte auch mal versuchen die Remote-Server-Daten im WR rauszulöschen. Ich schätze mal, dass über diese Verbindung der Hersteller in China Zugriff auf den WR hat.
-
@oromis Hier die debug-Meldung, nachdem ich das Internet im Router für den WR gesperrt habe:
Ganz kurz danach (wenige Sekunden nachdem die Sperre aktiv war), hat es noch funktioniert und im WR stand bei der Remote Server Information auch noch connected.
Dann kam diese Meldung: Was ist Econnreset? Interessanterweise steht da trotzdem connected. Die Objekte in iobroker wurden allerdings um 7:41 das letzte mal aktualisiert.
deyeidc.0 2023-06-06 07:52:17.948 error Error: Offset Time is invalid deyeidc.0 2023-06-06 07:52:17.683 error Error: Offset Time is invalid deyeidc.0 2023-06-06 07:52:17.409 error Error: Offset Time is invalid deyeidc.0 2023-06-06 07:52:17.337 error Error: Offset Time is invalid deyeidc.0 2023-06-06 07:52:17.227 error Error: Offset Time is invalid deyeidc.0 2023-06-06 07:52:06.982 debug connected deyeidc.0 2023-06-06 07:52:06.971 debug try to connect . . . deyeidc.0 2023-06-06 07:46:36.985 debug Error during connection read ECONNRESET deyeidc.0 2023-06-06 07:41:06.982 debug connected deyeidc.0 2023-06-06 07:41:06.971 debug try to connect . . . deyeidc.0 2023-06-06 07:40:38.384 debug Connection to server terminated
Hier ein Screenshot, bei dem man sieht, dass ich 0.0.7 installirt habe:
-
@oromis Ich kann mir das alles auch nicht komplett erklären. Du kannst aber schon - trotz aller Sperren - den Inverter erreichen (Webinterface)?
@oromis sagte in [neuer Adapter] cloudfreie Auslesung von Deye-Invertern:
Was ist Econnreset?
Das bedeutet, dass die Verbindung zum Inverer resettet (geschlossen) wurde.
@oromis sagte in [neuer Adapter] cloudfreie Auslesung von Deye-Invertern:
Remote Server Information
Das ist die Verbindung zur China-Cloud. Hat mit dem Adapter nichts zu tun.
@crycode sagte in [neuer Adapter] cloudfreie Auslesung von Deye-Invertern:
Timeout beim Adapterstart
Das ist eigentlich auch kein Fehler, sondern nur eine falsche Bezeichnung. Ich schließe die Verbindung zum Inverter nach dem Abrufen der Daten, weil es unüblich ist, eine Verbindung zu einem Gerät länger als nötig offen zu halten,
@crycode sagte in [neuer Adapter] cloudfreie Auslesung von Deye-Invertern:
Die Register für Stunde, Minute, Sekunde ließt er bei mir immer mit 0
Das scheint auch nicht richtig zu sein. Bei mir sieht das so aus: MINUTEN
-
@oromis sagte in [neuer Adapter] cloudfreie Auslesung von Deye-Invertern:
wie genau hast du in der Fritzbox den Internetzugang deaktiviert? Ich bin auf "Heimnetz" -> "Netzwerk" -> Dann habe ich den Wechselrichter ausgewählt und auf das Stift-Icon zum Editieren der Einstellungen geklickt und unter "Kindersicherung" habe ich dann "Internetzugang sperren" gewählt.
Genau so.
Zusätzlich habe ich noch bei meinem DHCP-Server (nicht Fritzbox) eine feste IP für den Wechselrichter eingetragen. Bin mir jetzt nicht sicher, ob die Fritzbox auf die IP oder MAC filtert.@rene55 sagte in [neuer Adapter] cloudfreie Auslesung von Deye-Invertern:
Das ist eigentlich auch kein Fehler, sondern nur eine falsche Bezeichnung. Ich schließe die Verbindung zum Inverter nach dem Abrufen der Daten, weil es unüblich ist, eine Verbindung zu einem Gerät länger als nötig offen zu halten
Macht auch Sinn. Nur durch den Timeout werden direkt nach Adapterstart keine Werte bei mir ausgelesen, sondern erst beim nächsten Intervall. Stört aber auch nicht großartig, da der Adapter ja im Normalfall permanent durchläuft.
-
@rene55 Ok also jetzt scheint es bei mir auch zu tun. Absolut skurril: Ich habe noch einmal per Terminal im Rpi
iob url https://github.com/raschy/ioBroker.deyeidc
laufen lassen und dann zum Test eine 2. Instanz angelegt. Die hat dann mit abgeschaltetem Internet funktioniert. Dann habe ich noch einmal die Instanz .0 aktiviert und auf einmal funktioniert diese jetzt auch. D.h. irgendwas war an der Installation von 0.0.7 faul, obwohl es die Version als installierte Version angezeigt hat. Seltsam.
-
@oromis Super. Ich hätte auch keinen weiteren Vorschlag zur Fehlerlösung präsentieren können.
-
ok irgendwie bin ich zu doof für den Adapter....er verbindet sich mit meinem Deye Sun 12K... wird auch irgendwann von alleine Grün (vorher ist ein gelbers Dreieck).
Aber ich verstehe das mit den Modbusregister nicht... ich habe eine Tabelle vor mir mit den Modbusregistern: https://docs.google.com/document/d/16ueZEg0hcXgPp_ZPw5fu6FO1BmCn0gfq/edit
(ich hoffe der link ist ok)was muss ich da jetzt bei Regel und Key eingeben? Name ist ja Freitext, Einheit ist auch klar. Faktor ebenso.
Kann mir da vielleicht jemand helfen?
-
@brandorian
es geht mit den Hybriden nicht
die können kein modbus TCP, nur RTU
d.h. du musst per Hardware Modbus an den Deye ranhatte es ja auch vor, scheint aber definitiv nicht zu gehen
siehe z.B. hier -
@brandorian Ich habe wenig Erfahrung mit den "großen" Invertern. Wie hast du denn die Verbindung zum Inverter hergestellt. Du sagtes, der Adapter wäre ja grün.
-
-
@brandorian Dann versuchen wir es doch mal:
In den Registern sollte als Start z.B. 40, beim Ende eine 90 drin stehen.
Bei den "Spulen" sollte { "register": 86,"rules": 3,"key": "Apo_t1","name": "Total AC Output Power (Active)","unit": "W","factor": 1 } eingetragen sein.
Hier sollte dann (nach dem nächsten Interval) die aktuell erzeugte Leistung in den Objekten angezeigt werden. Wenn das nicht das richtige Ergebnis bringt müssen wir @euro folgen, und einen anderen Weg suchen. -
@rene55
Das war bei meinem 5k Hybrid auch so Rainer
grün aber es kamen nur seltsame statische Werte an@brandorian
was hast du denn vor? das smartmeter wird ja benötigt zum Einspeisen, damit der Deye weiss was im Haus verbraucht wird und was er liefern muss
die verlinkte Anleitung dient dazu, die Daten wie hier in Rainers Adapter mit den Microinvertern, vom Hybrid abzugreifen (Leistung, Soc, etc) , dazu benötigt man einen modbus Hardware Adapter (waveshare, oder nen ESP mit RS485 Adapter und passender Software/firmware) zum physischen Anschluss an den Deye und daneben dann den mobus Adapter in ioB zum verarbeiten -
@euro Ja, ich erinnere mich. Ich hab aber doch ein bisschen die Hoffnung, dass es doch irgendwie gehen könnte. Daher ja auch nur der "Minimaltest".
Zumal ich ja hier nicht direkt weder Modbus TCP noch Modbus RTU mache, sondern über das umgebende SolarmanPV5-Protokoll an die Daten komme. -
@euro @Rene55 er er zeigt mir hier 429496729.5 als Wert an... ist denke ich ein bisschen "unreal"
dann muss ich mich mal schlau machen wie das funktioniert. Ich möchte eigentlich nur eine visuelle Darstellung von dem was ich Selbstverbrauche, was ich verkaufe, was ich bezieh etc. Der Deye selbst zieht seine Daten für die Einspeisung ja aus den CT Klemmen bei mir.