till Posted April 30, 2024 at 11:21 AM Posted April 30, 2024 at 11:21 AM Hallo zusammen, ich bekomme in Kürze einen Deye Hybrid-Wechselrichter installiert. Der kann Modbus (und mit Adapter auch Modbus TCP) und wäre daher als Datenquelle für den Warp perfekt. Habe gerade gesehen dass am Profil für einen Sungrow gearbeitet wird. Gibt es einen „Prozess“ wie man Support für weitere WR in die Firmware bekommt? beste Grüße! Quote
photron Posted April 30, 2024 at 12:15 PM Posted April 30, 2024 at 12:15 PM Wir brauchen die Information darüber welche Werte in welchem Modbus-Register zu finden sind. Für Deye konnte ich da auf Anhieb gerade keine Dokumentation finden. An diesem Thema arbeiten wir gerade aktiv. Da wird sich intern wahrscheinlich noch was an der Struktur ändern. So sieht das aktuelle für einen Solarmax Max.Storage Wechelrichter aus: https://github.com/Tinkerforge/esp32-firmware/blob/3290eb60f6d56d078d148f07096fa17484654661/software/src/modules/meters_modbus_tcp/prepare.py#L629 Es wir auch in Kürze die Möglichkeit geben, dass du einen benutzerdefinierten Modbus/TCP-Zähler anlegst und dort von Hand angibst in welchen Modbus-Registern welche Werte zu finden sind. Sprich, wenn du uns Dokumentation bereitstellen kannst und uns am besten noch beim Testen helfen kannst, dann schauen wir uns an, ob wir das einbauen können. Oder du kannst dir das esp32-firmware git clonen, und den Support selbst einbauen und einen Pull Request auf GitHub machen. Oder du kannst dir in Kürze einen benutzerdefinierten Zähler einrichten und die Modbus-Register von Hand angeben. Oder Deye unterstüzt SunSpec und du verwendest unsere vorhandene SunSpec Unterstützung. Leider ist SunSpec nicht bei allen Herstellern gleich gut umgesetzt. Daher haben wir jetzt für Sungrow nicht SunSpec sondern gehen über den Sungrow eigenen Registersatz. Quote
till Posted April 30, 2024 at 12:38 PM Author Posted April 30, 2024 at 12:38 PM Klingt alles gut. Dann ist mein Plan: - ich teste die Register selbst mit ioBroker - ich baue mir eine Firmware mit unterstützung - ich mache einen pull request auf falls ich am Bauen einer Firmware scheitere warte ich auf den generischen Modbus Zähler und wenn alles funktioniert würde ich euch das als „Template“ für Deye schicken. Quote
till Posted April 30, 2024 at 06:13 PM Author Posted April 30, 2024 at 06:13 PM Hmmm, vielleicht ist es doch einfacher als gedacht: https://sunspec.org/wp-content/uploads/2020/08/SunSpec-Deye-certificate-SM-000007.pdf Quote
Jojo Posted May 1, 2024 at 10:32 AM Posted May 1, 2024 at 10:32 AM (edited) Hallo, ich betreibe ebenfalls einen Deye (SUN-12K-SG04LP3) und lese diesen mit FHEM über Modbus aus. Die Register findet Ihr im angehängten Dokument. Mein Auto ist zwar noch nicht da, aber wenn ich beim Testen helfen kann, mache ich das gerne. schöne Grüße Jo modbus-en.pdf Edited May 1, 2024 at 10:34 AM by Jojo Quote
till Posted May 1, 2024 at 01:31 PM Author Posted May 1, 2024 at 01:31 PM Ich bekomme einen GB-S15K-EU. Dann kann man schon mal schauen ob die dann beide kompatibel sind. Quote
photron Posted May 2, 2024 at 07:43 AM Posted May 2, 2024 at 07:43 AM On 4/30/2024 at 8:13 PM, till said: Hmmm, vielleicht ist es doch einfacher als gedacht: https://sunspec.org/wp-content/uploads/2020/08/SunSpec-Deye-certificate-SM-000007.pdf Laut dem Dokument werden die 100er Modelle unterstüzt. Diese beziehen sich auf den Wechselrichter, aber nicht auf den Netzanschluss oder den Speicher. On 5/1/2024 at 12:32 PM, Jojo said: ich betreibe ebenfalls einen Deye (SUN-12K-SG04LP3) und lese diesen mit FHEM über Modbus aus. Die Register findet Ihr im angehängten Dokument. Danke. Welche Register liest du den aus? Für PV Überschlussladen brauchen wir aktuell die Leistung am Netzanschluss und zukünftig werden wir auch noch die Leistung und den SoC des Speichers mit einbeziehen. Anzeigen tun wir auch noch die importierte und exportierte Energie. Quote
Jojo Posted May 2, 2024 at 02:20 PM Posted May 2, 2024 at 02:20 PM (edited) Für die Automation lese ich so ziemlich alles aus. Für Euch wären das dann wahrscheinlich folgende Register: 625: Grid_side_total_power_W 590: Battery_output_power_W 588: Battery_capacity (SOC) 520: Day_gridbuy_power_kWh 521: Day_gridsell_power_kWh schöne Grüße Jo Edited May 2, 2024 at 02:20 PM by Jojo Quote
photron Posted May 3, 2024 at 05:16 PM Posted May 3, 2024 at 05:16 PM Hier eine erste WARP3 Firmware mit Deye Hybrid-Wechselrichter Support. Absolut ungetestet, nur basierend auf der Dokumentation. Danke Jojo. @Jojo Wenn du das testen möchtest, dann richte bitte vier Modbus/TCP Zähler auf der Zähler-Unterseite der Wallbox ein. Jeweils einen für jeden der möglichen vier virtuellen Zähler. Du solltest dann dort auch schon Daten sehen, wenn es funktioniert. Ich lese im Moment noch mehr Register aus, als ich in der Meters API abbilden kann. Mir ist nicht ganz klar wie die ganzen Spannungen, Ströme und Leistungen zuzuordnen sind. Daher werden im Ereignislog alle ausgelesenen Werte ausgegeben. Am besten wäre, wenn du die Ereignis-Log Unterseite öffnest, sich die Daten kurz (villeicht 30-40 Sekunden) sammeln lässt und dann das Ereignis-Log speicherst und mir schicken könntest. warp3_firmware_2_3_0_66351a8e_92bf0d855c4a347_merged.bin 1 Quote
till Posted May 3, 2024 at 08:00 PM Author Posted May 3, 2024 at 08:00 PM Sehr cool! Wenn alles gut geht kann ich ab kommenden Freitag testen. Quote
Jojo Posted May 3, 2024 at 08:00 PM Posted May 3, 2024 at 08:00 PM (edited) Das ging ja schnell Ich habe die FW installiert und testweise einen Zähler eingerichtet. Der Netzbezug wird schon mal richtig ausgelesen. Mittlerweile habe ich auch gelesen, dass ich nur 2 Zähler konfigurieren kann, von denen aber einer ja der interne ist. Wenn ich Modbus/TCP -> Registertabelle Deye Wechselrichter wähle, kann ich bei "virtueller Zähler" zwar zwischen Wechselrichter, Netzanschluss, Speicher und Last wählen, aber alles außer Netzanschluss führt zu der Meldung "Speichern der Stromzähler-Einstellungen fehlgeschlagen." Kleine Korrektur: Wenn ich alles entferne, neu starte und von vorne beginne dann klappt es mit den anderen virtuellen Zählern. Nur nachträgliches Ändern scheint nicht zu klappen. Bei "Wechselrichter" und "Batterie" stimmen die Temperaturen nicht. Da fehlt glaube ich ein Faktor: (($val-1000)*0.1) Was noch auffällt: Mein Log wird geflutet mit Meldungen. Beim Versuch, da einen Report zu laden kommt die Meldung "Konnte Debug-Report nicht laden The operation was aborted." schöne Grüße Jo Edited May 4, 2024 at 06:07 AM by Jojo Quote
photron Posted May 6, 2024 at 01:05 PM Posted May 6, 2024 at 01:05 PM Danke für's Testen. Das funktioniert besser als erwartet, dafür das ich das hier nicht getestet habe. On 5/3/2024 at 10:00 PM, Jojo said: Wenn ich Modbus/TCP -> Registertabelle Deye Wechselrichter wähle, kann ich bei "virtueller Zähler" zwar zwischen Wechselrichter, Netzanschluss, Speicher und Last wählen, aber alles außer Netzanschluss führt zu der Meldung "Speichern der Stromzähler-Einstellungen fehlgeschlagen." Den Bug können wir nachstellen. Wir gehen dem nach. On 5/3/2024 at 10:00 PM, Jojo said: Bei "Wechselrichter" und "Batterie" stimmen die Temperaturen nicht. Da fehlt glaube ich ein Faktor: (($val-1000)*0.1) Stimmt, die -1000 fehlen. Das habe ich verbessert. On 5/3/2024 at 10:00 PM, Jojo said: Was noch auffällt: Mein Log wird geflutet mit Meldungen. Beim Versuch, da einen Report zu laden kommt die Meldung "Konnte Debug-Report nicht laden The operation was aborted." Die große Menge an Meldung kommt daher das ich alles auslese und ausgebe. Das wird in der fertigen Version nicht so sein. On 5/3/2024 at 10:00 PM, Jojo said: Mittlerweile habe ich auch gelesen, dass ich nur 2 Zähler konfigurieren kann, von denen aber einer ja der interne ist. Das werden wir in Zukuft erhöhen. Quote
Jojo Posted May 6, 2024 at 05:12 PM Posted May 6, 2024 at 05:12 PM Super, vielen Dank! Ich hatte Probleme mit MQTT und bin daher wieder auf die letzte offizielle Version zurückgegangen (Problem lag aber woanders). Kann bei Bedarf gerne nochmal testen. Quote
photron Posted May 8, 2024 at 01:15 PM Posted May 8, 2024 at 01:15 PM Das Problem mit dem Einrichten des Zählers ist behoben und die Ausgabe auf dem Log explodiert auch nicht mehr. warp3_firmware_2_3_0_663b7a12_76d49de195228d9_merged.bin 1 Quote
till Posted May 11, 2024 at 07:39 PM Author Posted May 11, 2024 at 07:39 PM Mal ein erstes Feedback von mir. Ich bekomme eine gute Reihe Fehler, aber das liegt vielleicht an meinem Modbus RTU auf Modus TCP Konverter: 2024-05-11 21:23:20,154 | gen_mbtcp_client | readHreg failed: TIMEOUT (0xe4) host=10.11.2.205 port=8899 device_address=1 start_address=622 start_address_offset=0 register_count=1 2024-05-11 21:23:20,165 | meters_mbtcp | Error reading Deye Hybrid Inverter / Grid Side Phase A Power [W] (622): TIMEOUT [228] 2024-05-11 21:23:27,154 | gen_mbtcp_client | readHreg failed: TIMEOUT (0xe4) host=10.11.2.205 port=8899 device_address=1 start_address=598 start_address_offset=0 register_count=1 2024-05-11 21:23:27,165 | meters_mbtcp | Error reading Deye Hybrid Inverter / Grid Side Phase Voltage A [0.1 V] (598): TIMEOUT [228] 2024-05-11 21:23:34,040 | gen_mbtcp_client | readHreg failed: TIMEOUT (0xe4) host=10.11.2.205 port=8899 device_address=1 start_address=602 start_address_offset=0 register_count=1 2024-05-11 21:23:34,051 | meters_mbtcp | Error reading Deye Hybrid Inverter / Grid Side Line Voltage B-C [0.1 V] (602): TIMEOUT [228] 2024-05-11 21:23:38,167 | gen_mbtcp_client | readHreg failed: TIMEOUT (0xe4) host=10.11.2.205 port=8899 device_address=1 start_address=598 start_address_offset=0 register_count=1 2024-05-11 21:23:38,178 | meters_mbtcp | Error reading Deye Hybrid Inverter / Grid Side Phase Voltage A [0.1 V] (598): TIMEOUT [228] 2024-05-11 21:23:39,971 | gen_mbtcp_client | readHreg failed: TIMEOUT (0xe4) host=10.11.2.205 port=8899 device_address=1 start_address=598 start_address_offset=0 register_count=1 2024-05-11 21:23:39,982 | meters_mbtcp | Error reading Deye Hybrid Inverter / Grid Side Phase Voltage A [0.1 V] (598): TIMEOUT [228] 2024-05-11 21:24:41,943 | gen_mbtcp_client | readHreg failed: TIMEOUT (0xe4) host=10.11.2.205 port=8899 device_address=1 start_address=522 start_address_offset=0 register_count=2 2024-05-11 21:24:41,957 | meters_mbtcp | Error reading Deye Hybrid Inverter / Total Grid Buy [0.1 kWh] (522): TIMEOUT [228] 2024-05-11 21:24:47,265 | gen_mbtcp_client | readHreg failed: TIMEOUT (0xe4) host=10.11.2.205 port=8899 device_address=1 start_address=603 start_address_offset=0 register_count=1 2024-05-11 21:24:47,275 | meters_mbtcp | Error reading Deye Hybrid Inverter / Grid Side Line Voltage C-A [0.1 V] (603): TIMEOUT [228] 2024-05-11 21:24:54,231 | gen_mbtcp_client | readHreg failed: TIMEOUT (0xe4) host=10.11.2.205 port=8899 device_address=1 start_address=599 start_address_offset=0 register_count=1 2024-05-11 21:24:54,242 | meters_mbtcp | Error reading Deye Hybrid Inverter / Grid Side Phase Voltage B [0.1 V] (599): TIMEOUT [228] 2024-05-11 21:25:44,743 | gen_mbtcp_client | readHreg failed: TIMEOUT (0xe4) host=10.11.2.205 port=8899 device_address=1 start_address=524 start_address_offset=0 register_count=2 2024-05-11 21:25:44,754 | meters_mbtcp | Error reading Deye Hybrid Inverter / Total Grid Sell [0.1 kWh] (524): TIMEOUT [228] 2024-05-11 21:25:57,250 | gen_mbtcp_client | readHreg failed: TIMEOUT (0xe4) host=10.11.2.205 port=8899 device_address=1 start_address=602 start_address_offset=0 register_count=1 2024-05-11 21:25:57,260 | meters_mbtcp | Error reading Deye Hybrid Inverter / Grid Side Line Voltage B-C [0.1 V] (602): TIMEOUT [228] 2024-05-11 21:26:18,299 | gen_mbtcp_client | readHreg failed: TIMEOUT (0xe4) host=10.11.2.205 port=8899 device_address=1 start_address=599 start_address_offset=0 register_count=1 2024-05-11 21:26:18,310 | meters_mbtcp | Error reading Deye Hybrid Inverter / Grid Side Phase Voltage B [0.1 V] (599): TIMEOUT [228] 2024-05-11 21:26:46,315 | gen_mbtcp_client | readHreg failed: TIMEOUT (0xe4) host=10.11.2.205 port=8899 device_address=1 start_address=598 start_address_offset=0 register_count=1 2024-05-11 21:26:46,325 | meters_mbtcp | Error reading Deye Hybrid Inverter / Grid Side Phase Voltage A [0.1 V] (598): TIMEOUT [228] 2024-05-11 21:26:48,119 | gen_mbtcp_client | readHreg failed: TIMEOUT (0xe4) host=10.11.2.205 port=8899 device_address=1 start_address=598 start_address_offset=0 register_count=1 2024-05-11 21:26:48,130 | meters_mbtcp | Error reading Deye Hybrid Inverter / Grid Side Phase Voltage A [0.1 V] (598): TIMEOUT [228] Ansonsten stimmt bei mir die skalierung bei der Batterie noch nicht: Das mag daran liegen dass das ein Hochvolt Wechselrichter ist. Bei der Spannung zwischen den Phasen sieht auch noch was aufregend aus... Quote
Jojo Posted May 12, 2024 at 08:00 AM Posted May 12, 2024 at 08:00 AM Die Temperaturen passen bei mir jetzt und auch das Ändern nach erstmaligem Anlegen klappt. Zum Vergleich hier die beiden Datensätze für Akku und Netzanschluss. Bei meinem Wechselrichter passen die Werte (bis evtl auf L1-L2, L2-L3...) Quote
Jojo Posted May 12, 2024 at 05:07 PM Posted May 12, 2024 at 05:07 PM Etwas ist mir noch aufgefallen: Bei "Gleichstromn (Laden minus Entladen)" und "Leistung (Laden minus Entladen)" passt das Vorzeichen nicht bzw die Bezeichnung ist missverständlich. In diesem Moment wurde der Akku mit 74,49 A geladen. Positiv werden Strom und Leistung beim Entladen des Akkus. Quote
till Posted May 12, 2024 at 05:10 PM Author Posted May 12, 2024 at 05:10 PM (edited) @Jojo, welchen Modbus Konverter hast du? Und siehst du auch die Timeouts? Und ist dein Konverter auf dem Modbus oder dem BMS Port? Seit ich den Modus auf 115200Baud gestellt habe sehe ich weniger Fehler, aber weg sind sie nicht. Ich vermute einfach dass die Wallbox schneller abfragt als der Wechselrichter liefern kann. Edited May 12, 2024 at 05:12 PM by till Quote
Jojo Posted May 12, 2024 at 05:25 PM Posted May 12, 2024 at 05:25 PM Ich nutze einen NB114 (Link), der an den BMS-Port angeschlossen ist (ich teile das Kabel auf für BMS und Modbus-Konverter). Timeouts habe ich keine. Ich lese die Daten auch mit mehreren Instanzen aus (FHEM, EVCC, WARP3), was dieser Konverter unterstützt. Die Warp3 ruft gefühlt im Sekundentakt ab, das mache ich mit FHEM (90 s) und EVCC (30 s) nicht. Trotzdem geht alles fehlerfrei durch. Quote
till Posted May 12, 2024 at 05:29 PM Author Posted May 12, 2024 at 05:29 PM Dann kann's ja eigentlich nur am Port oder am Device bei mir liegen. Ich könnte es mal zum testen auf den BMS Port umlegen. Nimmst du Pin 1/2 oder 7/8? Quote
Jojo Posted May 12, 2024 at 05:50 PM Posted May 12, 2024 at 05:50 PM Gute Frage. Ich meine 7 und 8, aber das sollte vollkommen identisch sein. Ich habe übrigens die Modbus ID auf 3 umgestellt. Dürfte aber eigentlich auch keinen Unterschied machen. Meine Firmware ist die 1140, vorher war es die 1128. Ich meine mich erinnern zu können dass bei verschiedenen anderen Versionen der "Modebus"-Port vom Deye nicht funktioniert hat. Quote
photron Posted May 13, 2024 at 03:05 PM Posted May 13, 2024 at 03:05 PM Danke für's Testen! On 5/11/2024 at 9:39 PM, till said: Ansonsten stimmt bei mir die skalierung bei der Batterie noch nicht: Die Skaliserung ist nach Registertabelle und scheint bei @Jojo ja auch so zu passen. Ich kann keine andere Dokumention dazu finden. Also folge ich erstmal deiner Vermutung und füge eine zweite Variante des virtuellen Zählers für den Hochspannungs-Speicher hinzu. Ich kann in den Modbus-Registern keins finden, dass mir erlauben würde, automatisch zwischen Niederspannungs- und Hochspannungs-Speicher zu unterscheiden. On 5/11/2024 at 9:39 PM, till said: Bei der Spannung zwischen den Phasen sieht auch noch was aufregend aus... Die Phasenspannungen habe ich erstmal rausgeworfen. Auch hier kann ich aus den Modbus-Registern nicht erkennen, ob das System mit oder ohne Neutralleiter angeschlossen ist und somit die Spannungen zu Neutral oder zwischen den Phasen misst. Ich gehe erstmal davon aus, dass der Neutralleiter angeschlossen ist. On 5/12/2024 at 7:07 PM, Jojo said: Etwas ist mir noch aufgefallen: Bei "Gleichstromn (Laden minus Entladen)" und "Leistung (Laden minus Entladen)" passt das Vorzeichen nicht bzw die Bezeichnung ist missverständlich. In diesem Moment wurde der Akku mit 74,49 A geladen. Positiv werden Strom und Leistung beim Entladen des Akkus. Das betrachten verschiedene Hersteller verscheiden. Wir haben uns darauf festgelegt, dass Export/Einspeisung/Entladen als negativer Wert und Import/Bezug/Laden als positiver Wert dargestellt werden. Ich habe das Vorzeichen für Strom und Leistung des Speichers gedreht. Die Dokumention von Deye schweigt sich darüber leider aus. Mir ist noch aufgefallen, dass bei euch beiden Spannung * Strom != Leistung ist. Deye liefert mehere Stromwerte und Leistungswerte für den Netzanschluss und aus der Dokumention ist nicht ganz klar was was ist. Ich denke ich hatte da die falschen Werte genommen. Ich nehme dafür jetzt die externen Werte. Könnt ihr beide bitte mit der angehängten Firmware testen. Dort habe ich jetzt die konfigurierbaren Zähler auf fünf erhöht, damit ihr alles gleichzeitg testen könnt. Schaut mal bitte, ob am Netzanschluss die Ströme und die Leistung passen. Für unsere Regelung müssen wir wissen wieviel Leitung insgesamt und wie viel Strom pro Phase am Netzanschluss bezogen (positiver Wert) oder eingespeist (negativ) wird. warp3_firmware_2_3_0_66422b7c_e4d0223eb453a78_merged.bin 1 Quote
Jojo Posted May 13, 2024 at 04:28 PM Posted May 13, 2024 at 04:28 PM (edited) Vielen Dank für das Update. Anbei mal alle konfigurierten Zähler als Screenshot. Die Werte und insbesondere die Wirkleistung am Netzanschluss sehen richtig aus (auch für die einzelnen Phasen). Konnte jetzt keinen Fehler mehr entdecken. Da ich nicht im exakt gleichen Moment die Werte abrufe, sind natürlich kleine Abweichungen zu sehen. Die "Transformator-Temperatur" ist übrigens konstant 25°C. Scheint im Deye schon so implementiert zu sein und wird nicht aktualisiert. Edited May 13, 2024 at 04:31 PM by Jojo Quote
Jojo Posted May 13, 2024 at 04:38 PM Posted May 13, 2024 at 04:38 PM (edited) In der Übersicht der Stromzähler ist mir beim "Deye Wechselrichter" die dritte Spalte ("Energieeinspeisung") noch aufgefallen. Was sagt dieser Wert aus (bei mir 0,00 kWh)? Ist die erste Spalte ("Leistung") quasi der Eigenverbrauch des Wechselrichters? Größenordnungsmäßig dürfte der Wert passen. Edited May 13, 2024 at 04:39 PM by Jojo Quote
Jojo Posted May 13, 2024 at 04:41 PM Posted May 13, 2024 at 04:41 PM Und noch ein Nachtrag. Im Log habe ich jetzt doch jede Menge timeouts (s. Anhang) debug-report-warp3-2ax6-2024-05-13T18-40-17-604.txt Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.