Projekte - DEYE Inverter abfragen

Eines meiner neuen "Spielzeuge" ist ein Balkonkraftwerk im Garten mit einem DEYE-Wechselrichter. Üblicherweise wird dieser Inverter über WLAN angebunden und mit einer China-App abgefragt und gesteuert. Dagegen bin ich aber etwas "allergisch".....

Also habe ich mir nach erfolgreicher Einrichtung gemäss Handbuch und Anmeldung des Inverters in meinem WLAN ( natürlich mit gesperrtem Internet-Zugriff in der FritzBox für den Inverter ) mal die verfügbare Webseite des Inverters selbst angesehen.

Die Webseite besteht aus mehreren Teilseiten-Elementen (sog. Frames) und die für mich relevante Teilseite "status.html" ( die in der Mitte) ist reiner HTML-Code ( sprich Text ).

die systemeigene Webseite des Inverters...

Damit lässt sich doch etwas anfangen...

Mit Lazarus habe ich mir dafür ein kleines Programm geschrieben, welches dieses HTML-Seite in regelmässigen Zeitabständen abfragt und VORERST in eine *.csv-Datei schreibt. Diese Datei kann ich dann mit einer Tabellenkalkulation weiter bearbeiten und auswerten...

Ich habe festgestellt, das die Einträge "Current Power" und "Total Yield"  ohne Anbindung der eigentlichen China-App funktionieren und plausibel sind, der Eintrag "Yield Today" scheint eine externe Information zum Tageswechsel zu benötigen, er summiert sich durchgehend auf und "nullt" sich erst, wenn das WLAN mal neu gestartet wird bzw. kurzfristig weggefallen ist....

Aber natürlich lasse ich mir den aktuellen Stand auf meinem Bildschirm anzeigen...

offensichtlich scheint grad die Sonne...

 

Ich habe das Programm auf einem LINUX-Rechner geschrieben, es dürfte aber wahrscheinlich auch auf einem MS-WIN-Rechner funktionieren ( da eigentlich keine LINUX-spezifischen Funktionen verwendet werden), das habe ich aber nicht getestet.

Da die beigefügte zip-Datei mit der Lazarus-Programmierung aktuell im Windows-Dateiformat ist, müsst Ihr sie dann ggf. mit "WinSCP" oder einem ähnlichem Programm auf Euren LINUX-Rechner übertragen. Bei aktuellen LINUX-Varianten (z.B. Mint o.ä.) in einem Netzwerk mit MS-WIN-Computern könnt ihr die Dateien einfach zwischen beiden Computern kopieren....

ACHTUNG: Die Programmierung ist ein Arbeitsstand, sie funktioniert grundlegend ist aber nicht gegen Fehlbedienung etc. abgesichert. Aber Ihr könnt ein "hängendes Programm" in der Lazarus-Oberfläche jederzeit mit "Halt" abbrechen...

ACHTUNG: Ihr müsst in der "procedure TForm1.Solar_Abfragen " die Zeile mit der IP-Adresse des Inverters an die aktuelle IP-Adresse in EUREM WLAN-Netzwerk anpassen, i.d. Regel dürften - bei einer verwendeten Fritz-Box - sich nur die letzten beiden Ziffern ändern...ansonsten ggf. die komplette IP-Adresse in Abhängigkeit Eurer Hardware.

hier die Lazarus-Dateien zum Download...

 

Probiert es doch einfach aus....

.... zurück zur Startseite

 

Erweiterung Anfang Juli 2024......

Nun endlich bin ich mal dazu gekommen, mit der vorgenannten "Datensammlung" in meiner *.csv-Datei etwas anzufangen - ich habe mir mit Lazarus ein kleines Auswerteprogramm mit Grafik geschrieben.

Jetzt kann ich mir die gespeicherten Daten für jedes gewählte Datum ansehen und auswerten.

Ich habe das Programm auf einem WINDOWS-Rechner geschrieben, es dürfte aber wahrscheinlich auch auf einem LINUX-Rechner funktionieren, das habe ich zwar vorbereitet ( s.u.) - aber noch nicht getestet.

Da die beigefügte zip-Datei mit der Lazarus-Programmierung aktuell im Windows-Dateiformat ist, müsst Ihr sie dann ggf. mit "WinSCP" oder einem ähnlichem Programm auf Euren LINUX-Rechner übertragen. Bei aktuellen LINUX-Varianten (z.B. Mint o.ä.) in einem Netzwerk mit MS-WIN-Computern könnt ihr die Dateien einfach zwischen beiden Computern kopieren....

ACHTUNG: In einigen Prozeduren findet Ihr die Befehle "{$IFDEF WINDOWS} "  und später dann "{$ENDIF}" - die zwischenliegenden Befehle werden dann NUR bei Nutzung von MS-Windows-Systemen berücksichtigt. Hier handelt es sich um die Umwandlung des Datumsformates bzw. um die Umwandlung des Zahlenformates zwischen der WINDOWS <=> LINUX-Version - siehe Hinweise unter Software-Lazarus

ACHTUNG: Die Programmierung ist ein Arbeitsstand, sie funktioniert grundlegend ist aber nicht gegen Fehlbedienung etc. abgesichert. Aber Ihr könnt ein "hängendes Programm" in der Lazarus-Oberfläche jederzeit mit "Halt" abbrechen...

hier die Lazarus-Dateien zum Download...

Probiert es doch einfach aus....

.... zurück zur Startseite

 

Update Mitte Juli 2024......

Mittlerweile habe ich die Gelegenheit genutzt und die ursprüngliche Abfrage-Software in meiner Rolladen-Steuerung mittels RasPi eingebunden und angepasst - dieser wertet jetzt sinngemäss die Angaben des Inverters aus und schreibt diese alle 10min in eine Speichertabelle.

Jeweils am Tageswechsel schreibe ich diese Tabelle dann in die o.g. *.csv-Datei. Diese Änderung habe ich eingeführt, da der RasPi als Speichermedium ja eine SD-Karte hat und diese Karten systembedingt nicht unendlich Schreibzugriffe vertragen.

Die sonstigen grundlegenden programmtechnischen Änderungen sind nur gering - lediglich die Aufgaben der Proceduren START-STOPP und ZEITSTEUERUNG erledigt jetzt das Programm meiner Rolladensteuerung - dieses hat ohnehin einen 1-Minuten-Takt und läuft 24h an 7 Tagen die Woche. 

Und...

da ich ja jetzt die Daten des ganzen Tages in o.g. Speichertabelle auf dem RasPi habe, habe ich mir auf Basis der Auswerte-Software -  Prozedur "Solar-Grafik" auch eine kleine Tagesgrafik in meiner Rolladen-Steuerung erstellt.

so wird es dann auf dem Touchscreen-Display dargestellt...

Die komplette Programmierung dazu findet Ihr dann in der Dokumentation zu "Somfy-Rolladensteuerung mit RasPi".....

 

Probiert es doch einfach aus....

.... zurück zur Startseite