Seite 1 von 7

Modul für Deye / Bosswerk Wechselrichter anlegen?

Verfasst: Mi Dez 28, 2022 11:35 pm
von tking
Hallo zusammen,

ich habe einen Deye (wird auch als Bosswerk vertrieben) Wechselrichter (WR) im Einsatz und möchte dafür die Unterstützung in openWB einbauen. Ich bin blutiger Software Entwickler Anfänger bei openWB und Bash ist auch nicht gerade meine Stärke, aber das soll mich nicht abhalten. Ich suche deshalb ein paar Informationen ob ich auf dem richtigen Weg bin:

Ich habe mir folgendes Vorgehen zu recht gelegt:
1.) Ich lege im openWB Verzeichnis modules ein neues Verzeichnis wr2_deye an. Dort erstelle ich eine Datei main.sh.
2.) Den Inhalt von https://github.com/dr-ni/mi600 (Ein Bash Script zum Auslesen von Deye WR) baue ich in die Struktur von der main.sh Datei vom Module wr2_json ein.
3.) In die Datei web/settings/modulconfigpv.php baue ich entsprechende Felder (z.B. Hostname / IP Adresse vom Deye Wechselrichter) für die neue main.sh Datei als Übergabeparameter ein.

Ist das alles? Habe ich etwas übersehen?

Jetzt habe ich noch ein paar Fragen zur Funktionsweise:
* Welche Werte vom WR werden benötigt? Aktuelle erzeugte Watt oder auch Aggregate (z.B. erzeugte Watt am Tag, erzeugte Watt insgesamt). Wenn ich die WR Scripte (also z.B. die main.sh von wr2_json und wr2_shelly) korret verstehe, dann wird mit dem legacy_run.sh Script der aktuelle erzeugte Wert vom WR abgerufen und in ${RAMDISKDIR}/pv2watt gespeichert, richtig?
* Wie kann ich meine Änderungen testen ohne das ich dazu eine openWB Hardware Box damit bespielen muss? Gibt es eine "Entwicklungsumgebung" für Windows / MAC?

Herzlichen Dank schon mal für jeden Hinweis zu Dokumentation oder ein paar Zeilen Erklärung!

Viele Grüße
Thomas

Re: Modul für Deye / Bosswerk Wechselrichter anlegen?

Verfasst: Do Dez 29, 2022 4:02 pm
von hhoefling
Wenn die WR schon via curl mit einem Bash-Script abgefragt werden kann
würde ich nur ein reinen BASH Script (main.sh) erstellen.
Das/den LRS (legatyp_run Server) kanst du dann erst mal weglassen.
Der wird nur sinvoll bei Python Scripten eingesetzt.

Wenn du Zugang zur Box hast kannst du dir die Sache einfacher machen indem du
einen ähnlichen WR (also einer der ebenfalls nur eine IPAdresse/bzw URL als Konfiguration hat)
hernimmst und einfach dessen main.sh austauscht.
Erst wenn das alles klappt würde ich "richtige" Integration in Angriff nehmen.

Re: Modul für Deye / Bosswerk Wechselrichter anlegen?

Verfasst: Fr Dez 30, 2022 1:41 pm
von LenaK
Um die Api des WR zu verstehen, kannst Du ein Shell-Skript wie hhoefling beschrieben hat verwenden.
Module, die nicht für 2.0 kompatibel sind wie zB Shell-Skripte, werden nicht gemergt. Die Vorgehensweise zur Erstellung kompatibler Module findest Du hier: https://github.com/openWB/core/wiki/Neu ... grammieren

Re: Modul für Deye / Bosswerk Wechselrichter anlegen?

Verfasst: Fr Jan 20, 2023 7:57 pm
von tking
Ich habe die Arbeiten begonnen:
https://github.com/tking/openWB/blob/ma ... ye/main.sh

Ich bin immer für Feedback offen!

Re: Modul für Deye / Bosswerk Wechselrichter anlegen?

Verfasst: Sa Jan 21, 2023 10:22 am
von tking

Code: Alles auswählen

tking@MacBook-Pro-5 wr2_deye % ./main.sh
115 W
./main.sh: line 77: openwbDebugLog: command not found
Kommunikation mit dem Deye Wechselrichter funktioniert und die Power Werte werden abgefragt.

Wie integriere ich das nun weiter in openWB? Für jeden Hinweis bin ich dankbar!

Re: Modul für Deye / Bosswerk Wechselrichter anlegen?

Verfasst: Sa Jan 21, 2023 8:13 pm
von tking
Ich habe die Integration des neuen PV Modules für die Deye Wechselrichter begonnen und dazu folgende Dateien bearbeitet:
* moduleconfigpv.php: https://github.com/tking/openWB/blob/ma ... nfigpv.php
* updateConfig.sh: https://github.com/tking/openWB/blob/ma ... eConfig.sh

Weiß jemand ob weitere Schritte für die Integration notwendig sind? Ich bin über jedes Feedback sehr dankbar!

Re: Modul für Deye / Bosswerk Wechselrichter anlegen?

Verfasst: Sa Jan 21, 2023 10:20 pm
von derNeueDet
Hast du einen Branch gemacht, um die Änderungen in deine Fork zu bringen?

Wäre ideal.
Auf jeden Fall musst du einem Pull Request machen, dann wird deine Änderung im Repo der openWB zugefügt. Jemand der Entwickler*innen muss dann noch einen Merge machen, damit deine Änderungen für alle verfügbar werden.

VG
Det

Re: Modul für Deye / Bosswerk Wechselrichter anlegen?

Verfasst: So Jan 22, 2023 10:45 am
von tking
Hi Det,

ich habe einen PR erstellt https://github.com/snaptec/openWB/pull/2597

Ich bin sehr gespannt auf den Review! :-)

Viele Grüße
Thomas

Re: Modul für Deye / Bosswerk Wechselrichter anlegen?

Verfasst: Mo Jan 23, 2023 10:29 pm
von tking
So, as the old "main.sh" approach will no longer be merged I worked on the new python-based approach:
https://github.com/tking/core/tree/mast ... vices/deye

If I understand it correctly it should be possible to execute the device.ph file, however, I get the following error:
annotated name 'data' can't be global (data.py, line 499)
Any idea how to resolve this?

Best regards,
Thomas

Re: Modul für Deye / Bosswerk Wechselrichter anlegen?

Verfasst: Di Jan 31, 2023 8:12 am
von LenaK
Die device.py kann nicht isoliert ausgeführt werden. Du musst die main.py ausführen und dann in der Bedienoberfläche ein Deye-Gerät und eine Komponente Deye-WR anlegen. Dann sollten die Werte ausgelesen werden.