NEWS
[Adapter] cloudfreie Auslesung von Deye-Invertern
-
@frank70 sagte in [neuer Adapter] cloudfreie Auslesung von Deye-Invertern:
modbus tcp nicht gleich modbus rtu
Da kann ich nicht viel zu sagen. Wo genau da die Unterschiede sind? Ich dachte erstmal nur im
Ü
bertragungsweg.@rene55 Ich versuche gerade checkbox felder im GUI des WR auszulesen. was w
ü
rdest als ergebnis bei einem boolschen wert im iobroker feld erwarten? -
@rene55 Ich versuche gerade checkbox felder im GUI des WR auszulesen. was w
ü
rdest als ergebnis bei einem boolschen wert im iobroker feld erwarten? -
@frank70 Kann verschieden sein true/false, 0/-1. Aber ist jetzt ne andere Baustelle und hat mit dem Adapter nichts zu tun, oder?
@rene55 ist ne andere baustelle. ich versuche die richtigen register zu finden
-
Ich habe den Adapter mittlerweile in 5 Instanzen installiert, und er macht das was er soll, daf
ü
r ein dickes Lob!

Mir ist aber Folgendes aufgefallen:
Ich hatte mich bei der Installation der ersten und zweiten Instanz irgendwie mit den Seriennummern und den IP-Adressen verhaspelt und hab ein paar mal rumge
ä
ndert, bis ess dann gepasst hat.
Das hatte zur Folge, dass bei einer Instanz ein Ordner "1" angelegt war, in dem noch ein alter Wert des Registers 86 des anderen WR festhing.
Nach dem ich die Instanz gel
ö
scht und wieder neu angelegt hatte, war wieder alles OK.
War das ein Bug oder ein Hinweis auf ein kommendes Feature, mit einer Instanz mehrere WR auslesen zu k
ö
nnen? -
Ich habe den Adapter mittlerweile in 5 Instanzen installiert, und er macht das was er soll, daf
ü
r ein dickes Lob!

Mir ist aber Folgendes aufgefallen:
Ich hatte mich bei der Installation der ersten und zweiten Instanz irgendwie mit den Seriennummern und den IP-Adressen verhaspelt und hab ein paar mal rumge
ä
ndert, bis ess dann gepasst hat.
Das hatte zur Folge, dass bei einer Instanz ein Ordner "1" angelegt war, in dem noch ein alter Wert des Registers 86 des anderen WR festhing.
Nach dem ich die Instanz gel
ö
scht und wieder neu angelegt hatte, war wieder alles OK.
War das ein Bug oder ein Hinweis auf ein kommendes Feature, mit einer Instanz mehrere WR auslesen zu k
ö
nnen?@thilo-frank Eigentlich soll eine Instanz die Daten eines WR verarbeiten. Der Ordner unterhalb von deyeidc.0 wird erst angelegt, wenn der WR eine g
ü
ltige Antwort zur
ü
ckgibt. Das tut er, wenn er mit einer passenden Seriennummer angesprochen wird. Woher der bei dir jetzt eine '1' erwischt hat, kann ich nicht sagen.
Hast du tats
ä
chlich 5 WR? Welche Typen? -
@thilo-frank Eigentlich soll eine Instanz die Daten eines WR verarbeiten. Der Ordner unterhalb von deyeidc.0 wird erst angelegt, wenn der WR eine g
ü
ltige Antwort zur
ü
ckgibt. Das tut er, wenn er mit einer passenden Seriennummer angesprochen wird. Woher der bei dir jetzt eine '1' erwischt hat, kann ich nicht sagen.
Hast du tats
ä
chlich 5 WR? Welche Typen?@rene55 Ich habe 4x den Bosswerk MI-600 und 1x den Deyesun 600g3.
Den Ordner "1" hatte er zus
ä
tzlich zum Ordner "0" angelegt, falls ich mich hier unklar ausgedr
ü
ckt hatte... -
@rene55 Ich habe 4x den Bosswerk MI-600 und 1x den Deyesun 600g3.
Den Ordner "1" hatte er zus
ä
tzlich zum Ordner "0" angelegt, falls ich mich hier unklar ausgedr
ü
ckt hatte... -
Aktuelle Version 0.1.0. Ver
ö
ffentlichungsdatum14.03.2023 Github Link https://github.com/raschy/ioBroker.deyeidc Neuer Adapter f
ü
r cloudfreie Auslesung von Mikro-Wechselrichtern aus dem Hause DeyeDieser Adapter erm
ö
glicht es, Daten aus einem Wechselrichter im lokalen Netzwerk auszulesen. Diese Daten werden
ü
ber die bekannten Modbus-Ports abgerufen und in den Datenpunkten gespeichert. Dies wurde an einem "Deye-kompatiblen" Mikro-Wechselrichter entwickelt und getestet. Die abzufragenden Register k
ö
nnen daher bei anderen Modellen abweichen. Hierf
ü
r muss lediglich die IP des Wechselrichters und die Seriennummer des Loggers eingegeben werden. Falls der Port vom Standardwert abweicht, kann dieser ebenfalls angepasst werden. Als praktikabler Wert f
ü
r die Abtastrate sind 60 Sekunden voreingestellt. Dieser Adapter soll all den jenigen entgegen kommen, die mit der SolarmanPV App nicht oder nur ungerne (China-Cloud) arbeiten wollen.Was muss gemacht werden: unter Einstellungen mindestens die lokale IP des Inverters und die Seriennummer des Loggers (f
ä
ngt meistens mit 4xxxx an) eintragen.
Im nachfolgenden Tab Register das erste und letzte Register eintragen, welches abgefragt werden soll. Hier sind mehrere Zeilen m
ö
glich, um die nicht ben
ö
tigten oder unsinnigen Register zu
ü
berspringen. Voreingestellt sind hier die Register 59 - 90.
In einem weiteren Tab Spulen werden die tats
ä
chlichen Register eingestellt. Hier ist beispielhaft das Register 86 voreingestellt. In diesem Register befindet sich der 'Total AC Output Power (Active)' der im Datenpunkt 'Apo_t1' abgelegt wird. Um diesen richtig auszulesen wird die Regel 3 angewandt, die Einheit soll 'W' sein und der Faktor ist 1. Weitere Register z
ä
hle ich sp
ä
ter noch auf (f
ü
r Einsteiger, die die Register nicht kennen, gibt es auf github https://github.com/raschy/ioBroker.deyeidc/blob/main/deyeidc.MI600.json ein Beispiel) .
Im letzten Tab Berechnen k
ö
nnen die Werte berechnet werden, die der Wechselrichter selbst nicht liefert.
Beispielsweise ist hier ein Muster vorgegeben, welches die Modulleistung eines Inverter-MPPTs berechnet.
Hierzu wird das Produkt aus der Spannung und dem Strom berechnet, und dann im entsprechenden Datenpunkt abgelegt. (Funktioniert nat
ü
rlich nur, wenn man zuvor die Daten f
ü
r DV1 und DC1 abgeholt hat).
Seit Version 0.0.5 m
ü
ssen die Compute-Vorgaben
ü
berarbeitet werden. Waren hier in den
ä
lteren Versionen zwei Felder f
ü
r eine Multiplikation vorgesehen, m
ü
ssen jetzt die beiden Werte, aus denen etwas errechnet werden soll in einem Feld stehen mit der passenden Berechnungsvorschrift. Das hei
ß
t, wenn man wie bisher die Leistung eines Moduls aus Spannung und Strom berechnen m
ö
chte, schreibt man in das Feld Value "DV1*DC1" rein. Alles andere ist unver
ä
ndert. Als Feature kann man jetzt den Spannungsunterschied zwischen den zwei Modulen berechnen "DV1-DV2" (Nur f
ü
r den, den es interessiert).Seit dem 25.08.2023 ist der Adapter nun in der Version 0.0.9 in das ioBroker-Repository aufgenommen worden. Anschlie
ß
end wurde noch etwas bereinigt und f
ü
r die Aufnahme ins stable vorbereitet. In diesem Stadium bekam ich den Hinweis, dass wohl die 32-bit-Werte falsch berechnet w
ü
rden. Das hab ich dann (leider ohne viel zu pr
ü
fen) in die Version 0.0.10
ü
bernommen. Schnell musste ich feststellen, dass alle damit berechneten 32-bit-Werte falsch waren. Also, zur 'Schadensminimierung', die aktuelle Version 0.0.11 hinterhergeschoben.
Zwischenzeitlich wurde ja auch das Relais von Deye ausgeliefert und bei einigen schon integriert. Danach gab es einige Telegramme mehr, die hier ausgetauscht wurden. Das wurde dann in den Versionen 0.0.12 bis 0.0.14 angepasst.Ab der Version 0.0.15, wurde das Rechenmodul etwas
ü
berarbeitet. Es pr
ü
ft jetzt die Eingaben ab, ob der in der Berechnung verwendete Datenpunkt
ü
berhaupt existiert. Wenn nicht gibt es eine Warnung. Gelegentlich Verbindungsprobelme sollten in der jetzt aktuellen Version 0.1.0 auch gefixt sein.Der Adapter ist jetzt in einer Phase, die gerne von Euch weiter getestet und kommentiert werden darf/soll. Auch soll es wohl m
ö
glich sein, gro
ß
e und Hybridwechselrichter
ü
ber diesen Adapter auszulesen. Hier m
ü
ssen halt nur die richtigen Register ausgew
ä
hlt werden. Daher w
ä
re es sch
ö
n, wenn R
ü
ckmeldungen auch hierzu k
ä
men.Viel Spa
ß
. -
-
@humidor Das ist das Problem. Da der nur lokal ausgelesen werden kann und ich keinen habe, kann ich das weder best
ä
tigen noch dementieren.
Ich wei
ß
nur das @frank70 versucht, die passenden Register f
ü
r einen DEYE SUN-12K-SG01LP3auszulesen. -
@rene55 sollte ich mich f
ü
r diesen entscheiden, kannst du das auch bei meinem testen, kann da nur unterst
ü
tzen, da ich Java nicht m
ä
chtig bin -
@rene55
deyeidc.0
2023-04-10 09:51:06.210 error Logger number seems to be wrong [2744092xxxx] .deyeidc.0
2023-04-10 09:51:06.210 debug IP address [192.168.90.56] seems to be valid.ich habe in der main.js folgende
Ä
nderung vorgenommen:if (this.config.logger < 2100000000) {Damit startet der Adapter und verbindet sich mit dem WR
-
@Rene55 : ich habe solarman mal angeschrieben, ob sich bzgl. des Aktualisierungsintervalls am Logger etwas einstellen l
ä
sst, damit zumindest lokal k
ü
rzere Intervalle m
ö
glich sind. Mal abwarten, was da als Antwort kommt. -
Ich denke mal @Rene55 wird das Thema kennen und kann mir hier ggf. etwas dazu sagen - auch wenn es ein St
ü
ck weit O.T. was seinen Adapter betrifft.Ich bin im Web auf diese DEYE main.exe "tweaking" Geschichte gesto
ß
en. So wirklich verstanden habe ich das ganze aber nicht. Vielleicht kann jemand der Wissenden etwas dazu sagen.Irgendwie soll man da die Modulleistung via Modbus Code reduzieren damit am Ende mehr AC Leistung bei raus kommt ?!?!?!? Wie gesagt, verstanden habe ich es nicht wirklich.
Wenn hier jemand etwas wei
ß
, w
ü
rde ich mich
ü
ber eine gewisse Erleuchtung freuen.C:\Temp>main.exe Usage of main.exe: -t string The IP and port of the loggers assistant endpoint [10.10.100.254:48899] -xat string Send AT command instead of credentials -xc string WiFi configuration code [WIFIKIT-214028-READ or HF-A11ASSISTHREAD] (default "WIFIKIT-214028-READ") -xmb string Send Modbus read register instead of credentials [00120001] -> Read register = 0x0012, length = 0x0001 -xmbw string Send Modbus write register instead of credentials [00280001020064] -> Write register = 0x0028, length = 0x0001, value length = 0x02, value = 0x0064 -xs string Local source address -xv Outputs all communication with the logger -
Ich denke mal @Rene55 wird das Thema kennen und kann mir hier ggf. etwas dazu sagen - auch wenn es ein St
ü
ck weit O.T. was seinen Adapter betrifft.Ich bin im Web auf diese DEYE main.exe "tweaking" Geschichte gesto
ß
en. So wirklich verstanden habe ich das ganze aber nicht. Vielleicht kann jemand der Wissenden etwas dazu sagen.Irgendwie soll man da die Modulleistung via Modbus Code reduzieren damit am Ende mehr AC Leistung bei raus kommt ?!?!?!? Wie gesagt, verstanden habe ich es nicht wirklich.
Wenn hier jemand etwas wei
ß
, w
ü
rde ich mich
ü
ber eine gewisse Erleuchtung freuen.C:\Temp>main.exe Usage of main.exe: -t string The IP and port of the loggers assistant endpoint [10.10.100.254:48899] -xat string Send AT command instead of credentials -xc string WiFi configuration code [WIFIKIT-214028-READ or HF-A11ASSISTHREAD] (default "WIFIKIT-214028-READ") -xmb string Send Modbus read register instead of credentials [00120001] -> Read register = 0x0012, length = 0x0001 -xmbw string Send Modbus write register instead of credentials [00280001020064] -> Write register = 0x0028, length = 0x0001, value length = 0x02, value = 0x0064 -xs string Local source address -xv Outputs all communication with the logger@jb_sullivan sagte in [neuer Adapter] cloudfreie Auslesung von Deye-Invertern:
Ende mehr AC Leistung bei raus kommt
Das scheint mir eher ein Missverst
ä
ndnis als ein M
ä
rchen zu sein. Also mehr raus als rein ist nach meiner unma
ß
geblichen Auffassung unm
ö
glich.
Was es wohl gibt ist, dass man die Abgabeleistung seines Wechselrichters auf einen bestimmten H
ö
chstwert begrenzen, mit anderen Worten drosseln, kann.
Da ich das auch in k
ü
rze brauche besteht die Hoffnung, dass das der Adapter auch bald k
ö
nnen wird. -
@frank70 Wo muss man diese
Ä
nderung vornehmen?
Hast du dir einen eigenen Git-Clone angelegt und dort ge
ä
ndert und den eingebunden?@kptkip said in [neuer Adapter] cloudfreie Auslesung von Deye-Invertern:
man diese
Ä
nderIch habe das nur bei mir lokal gemacht. kein fork.
main.js datei des adapters
-
@frank70 Ich liebe chinesische Dokus.
Was hast du denn bei 'Register' und 'Coils' aktuell eingestellt?@rene55 Markus Bagges hat in seiner esphome .yaml die Register f
ü
r die 3 phasigen WR . https://github.com/bagges/deye-esp32-bridge/blob/main/deye-esp32-bridge.yaml. -
Habe heute vom H
ä
ndler ein neues Ger
ä
t bekommen und auch gleich eingebunden. Scheint soweit zu funktionieren. Als ich fertig war die Sonne aber schon um die Ecke und die beiden Module haben nur 21,xV geliefert.Ich habe dann die neue IP Adresse in den Adapter eingetragen. Leider wird dieser nicht gr
ü
n. Wenn ich die IP:8899 nehme, sagt auch die Browser Webseite "nicht erreichbar".Wenn ich nur die IP verwende, kommt das hier und wenn ich die URL von Achim B
ä
cker seinem Skript nehme ( http://admin:admin@IP/status.html ), kommen nur Striche. Kann jetzt leider keinen Screenshot mehr machen, weil der WR schon in den Schlaf Modus gegangen ist.Was hat es denn mit dem Port 8899 auf sich? Woher stammt die Info. Habe ich noch nirgends gelesen.
Im Grund so:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@jb_sullivan
Servus,
die status.html sieht bei mir auch so aus. Mit 3 verschiedenen Firmware Versionen.Port 8899 ist der Standard ModBus Port auf den Ger
ä
ten. Der Port l
ä
sst sich unter http://<inverter-ip>/config_hide.html umstellen (Internal server parameters setting). Dann aber dran denken, das auch die Abfragen an den neuen Port gehen m
ü
ssen.
Wer das Solarman Zeugs nicht nutzen mag, kann auf der Seite auch unter "Server A Setting" eine nicht vorhandene IP im eigenen Netz eintragen. Die Ger
ä
te schicken, auch wenn man keinen Account bei denen hat, die Daten dahin.Edit: Lieber die Server IP auf 127.0.0.1 setzen. Das Teil spammt sonst das Netz mit DNS Anfragen zu.
LG
J
ö
rg -
@humidor Das ist das Problem. Da der nur lokal ausgelesen werden kann und ich keinen habe, kann ich das weder best
ä
tigen noch dementieren.
Ich wei
ß
nur das @frank70 versucht, die passenden Register f
ü
r einen DEYE SUN-12K-SG01LP3auszulesen.@rene55 deye-esp32-bridge - Copy.yaml
Das ist die Konfiguration f
ü
r esphome. ich bekomme mit den registern und einstellung im iobroker nchts vern
ü
nftiges raus. -
@humidor Dann m
ü
sste der Wechselrichter zu mir oder ich m
ü
sste zu dir. Alles etwas problematisch.
Schauen wir mal was @frank70 uns noch zu berichten hat.@rene55 Ich komme mit meinem knowhow nicht weiter. soll ich dir in meiner FW mal einen port aufmachen, damit du remote mal drauf kannst?
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
.