NEWS
[Adapter] cloudfreie Auslesung von Deye-Invertern
-
Aktuelle Version 0.1.0. Veröffentlichungsdatum 14.03.2023 Github Link https://github.com/raschy/ioBroker.deyeidc Neuer Adapter für cloudfreie Auslesung von Mikro-Wechselrichtern aus dem Hause Deye
Dieser 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 Berchnungsvorschrift. 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ß.
-
Hi,
Dankeschön, dein SolarmanPV läuft ja schon einwandfrei mit meinen beiden Wechselrichtern 300W und 600W von Pearl, mit dem Adapter hier auch, muss noch mit den Registern spielen wird morgen werden..Aber schonmal ohne Warnings und die Powerwerte kommen rein.
-
@ilovegym Du bist ja auch schon ein "alter Fuchs". Bin mal auf deine Erfolge gespannt.
-
da haste recht! (57) und schau mal bei HomeAssistant da wird mit .yaml Config files bei dem Adapter gearbeitet, wäre fuer deinen hier doch auch eine gute Idee, da es schon relativ viele verschiedene Deye's gibt, so muss man nicht alle Register etc eintragen, sondern sucht sich sein yaml Konfig file und fertich..
Ich meine ja nicht, dass du das abkupfern sollst, aber so ähnlich als Inspiration könnte man das doch auch so machen, oder ?
-
@ilovegym Das mit irgendwelchen Files, sei es .yaml oder .json, hatte ich auch zuerst vor. Nur war mir die Handhabung im ioBroker etwas zu umständlich. Möglicherweise gibt es dazu aber noch eine gute Idee, die ich da noch einbauen könnte.
-
Vielleicht ne fertige yaml importieren?
Die ganzen Werte von hex nach Dezimal zu konvertieren usw .. da kannst du dein restliches Leben Support für machen.. sollte also so einfach wie möglich sein .. -
@ilovegym <fertige yaml importieren> Leichter gesagt als getan. Ich kenne derzeit keinen Adapter, der Files einlesen kann. Wäre sicherlich eine Erleichterung.
<restliches Leben Support> Nun das habe ich nicht vor. Da müssen die Nutzer schon aktiv werden und die Register der verschiedenen Inverter veröffentlichen.
Und es müssen ja auch nicht alle Register, die Daten bringen, ausgelesen werden. Da ist dann auch bei fertischen .yaml noch Handarbeit nötig. -
Da haste in allem Recht!
Der Adapter läuft jetzt seit Tagen einwandfrei, für ne alpha.. supi !!Auch wenn der WR offline geht, kein Problem.
-
@ilovegym Danke für die Blumen
-
@Rene55
Ich danke dir für deine gute Arbeit. Die Konfiguration ist ein bisschen undurchsichtig für den Laien.
Ich finde es so wie es ist super gelöst da mann sich die Anzeige wie man sie braucht zusammensetzen kann.
Jetzt fehlt nur noch das zurücksetzen der Tagesleistung ohne Cloud? -
@rene55 läuft der Adapter wie der andere ebenfalls per cron? Bei 60s besteht das Protokoll ja sonst nur noch aus start und stop Meldungen des Adapters. Aus dem Grund habe ich den Cron bei der cloud Varainte auf 3 pro Stunde reduziert. Da die Angaben ja so oder so max als Schätzwerte durchgehen reicht das Beim laufenden Monat bin ich bei einer Abweichung von 22,5 zu 24,25. Prozentual gesehen ist das leider schon echt unterirdisch.
Ich vermute die Abweidung wird aber bei der cloud-free Version auch nicht besser oder?
-
hi, mein Deye Wechselrichter läuft seit heute, auch wenn es aktuell bewölkt ist, kommen 150 Watt rein. Ich wollte dieses Cloudfreie Tool testen bekomme aber beim installieren folgende Fehlermeldung
npm install iobroker.deyeidc npm ERR! code E404 npm ERR! 404 Not Found - GET https://registry.npmjs.org/iobroker.deyeidc - Not found npm ERR! 404 npm ERR! 404 'iobroker.deyeidc@latest' is not in the npm registry. npm ERR! 404 You should bug the author to publish it (or use the name yourself!) npm ERR! 404 npm ERR! 404 Note that you can also install from a npm ERR! 404 tarball, folder, http url, or git url.
scheint als wäre das Paket nicht mehr auf dem Server oder was mache ich falsch ?
-
@berndsolar13 Ich hatte ja geschrieben, dass der Adapter noch in der Testphase ist. Daher bitte ausschließlich von Github installieren.
-
sorry, aber bitte kurz erklären was ich machen muss
git clone https://github.com/raschy/ioBroker.deyeidc.git
und danach ?
-
@berndsolar13 Am einfachsten: In der Oberfläche vom ioBroker zuerst den Expertenmodus (grüner Kopf) einschalten.
Dann über das Icon der "Katze" > Benutzerdefiniert und dann die URL eintragen. Danach wird der Adapter installiert. Anschließend bitte eine Instanz des Adapters erstellen (geht nicht von selbst!). Dann sollte der Adapter in den Instanzen sichtbar sein. -
@cash Das Abfrage-Intervall ist genauso einstellbar wie bei dem anderen Adapter. Auch über diesen Weg liefert der Inverter nur ca. alle 6 Minuten neue Werte. Wenn du mit dem 3-Stunden-Interval zurechtkommst ist das auch ok.
Einen Blick ins Protokoll würde ich nur bei Warnungen/Fehlern machen und sonst nur zum schauen, ob alles richtig läuft. -
Ok das man so Adapter auch installieren kann, wusste ich noch nicht, bin erst seit 7 Tagen iobroker Nutzer
Die Installation hat geklappt, musste vorher noch von Node14 auf 16 Upgraden.
Aber unter Instanzen taucht der Adapter nicht auf ?
Hab dafür jetzt was unter Objekte gibt es einen Ordner mit dem Namen "deyeidc" und darunter ein Ordner mit dem Namen Admin. Klicke ich dort auf den Stift Rechts, geht ein Fenster auf wo Objektdaten mit from und ts erscheint. Bin ich da soweit richtig ?Wo genau muss ich jetzt die Seriennummer des Richters eintragen ?
-
@berndsolar13 So weit, so gut. Links unter 'Instanzen' sollte der Adapter zu finden sein und dann hier auf dem Maulschlüssel. In den Objekten (= Stift) brauchst du nichts einzustellen!
-
ok, jetzt ist der Adapter da, musste noch auf das + für hinzufügen klicken
Hab nun die IP ohne htttp eingegeben und die Serien Nummer die unter "Inverter serial number" steht eingegeben.der Adapter bleibt Gelb
unten bei Verbunden mit Gerät oder Dienst ist das rote Kreuzedit, war die falsche Nummer, mit "Device serial number" wurde er grün
-
@berndsolar13 sagte in [neuer Adapter] cloudfreie Auslesung von Deye-Invertern:
musste noch auf das + für hinzufügen
Das meinte ich oben mit "Instanz erstellen". Was sagt das Protokoll?