Jump to content

Weitere Wechserichter (Modbus/TCP) supporten: Deye Hybrid-Wechselrichter


Recommended Posts

Posted
Am 13.5.2024 um 17:05 schrieb photron:

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

Probier mal Adresse 0, das ist der DeviceType:

{
"Name": "Stringinverter",
"Value": 2.0
},
{
"Name": "Hybridinverter 1-ph",
"Value": 3.0
},
{
"Name": "Microinverter",
"Value": 4.0
},
{
"Name": "Hybridinverter 3-ph",
"Value": 5.0
},
{
"Name": "Hybridinverter 3-ph HV",
"Value": 6.0
}

 

Am 13.5.2024 um 17:05 schrieb photron:

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.

Also 616-619 passen bei mir glaube ich ganz gut am Gridanschluss

 

Ich teste nachher mal wenn die Kinder schlafen, aber ich vermute da ich ja jetzt schon timeouts habe dass das mit 4 Zählern Probleme geben könnte. Wenn die Zähler vom selben Host kommen, teilen die sich dann eine Verbindung?

Posted
On 5/13/2024 at 6:38 PM, Jojo said:

In der Übersicht der Stromzähler ist mir beim "Deye Wechselrichter" die dritte Spalte ("Energie­ein­speisung") 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.

16.png

Einmal zum Verständnis:

Die Leistungsspalte ist die Leistung die in das jeweilige "Ding" rein (positiv) oder raus (negativ) geht. Nach diesen Zahlen müsste da gerade folgendes passieren:

Die Wallbox tut nichts.

In den Wechselrichter gehen gerade 161 W rein. Das ist eher komisch. Dieser Werte sollte das sein was gerade am AC Anschluss deines Wechselrichters passiert. Wenn der Speicher voll ist und der Wechselrichter gerade bei voller Sonne 10 kW produziert und ans Haus/Netz abgibt, dann sollte da -10.000 W stehen. Wenn der Speicher mit 1 kW lädt, bei 10 kW Sonne, dann gehen aus dem Wechselrichter noch 9 kW ans Haus/Netz, dann sollte da -9.000 W stehen. So ist dieser Wert gedacht. Der Energie­ein­speisung-Wert sollte das sein, was dein Wechselrichter gesamt an Energie abgegeben hat. Da lese ich aktuell Register 504 "Total Active Power Generation" für aus. Das hat aber wohl keinen sinnvollen Wert.

Am Netzanschluss werden gerade 796 W an das Stromnetz abgegeben/verkauft. Es wurden 2.064,8 kWh aus dem Netz bezogen/gekauft und 2.826,7 kWh ans Netz abgegeben/verkauft.

Der Speicher entlädt mit 15 W. Es wurden 2.070,8 kWh in den Speicher geladen und 2.047,4 kWh aus dem Speicher entladen.

Die Last/das Haus verbraucht gerade 756 W und hat bisher 6.668,4 kWh verbraucht.

So richtig passt das alles nicht zusammen. Ich könnte jetzt behaupten es ist in Wirklichkeit folgendes passiert:

Der Wechselrichter nimmt nicht 161 W auf, sondern gibt 1.610 W ab. Dort müsste also -1.610 W stehen. Davon verbraucht das Haus 756 W und die restlichen 796 W werden ans Netz verkauft.

On 5/13/2024 at 6:28 PM, Jojo said:

15.png

Das würde dann auch besser zu diesen Zahlen passen. Kannst du mir deine Grafik erklären? Ich lese das so:

PV produziert 1.820 W (14% der möglichen Gesamtleistung von 13 kW)

Der Speicher ist 99% voll und entlädt mit 7 W.

Das Haus verbraucht 796 W.

900 W werden an das Stromnetz verkauft.

Für die Leistung des Wechselrichters lese ich Register 636 "Output Total Active Power" in W. Welchen Wert nimmt du dafür?

On 5/13/2024 at 6:28 PM, Jojo said:

12.png

Am Netzanschluss passen die Ströme nicht zu den Leistungen. Da muss ich auch noch mal schauen.

Posted
On 5/14/2024 at 12:16 PM, photron said:

Am Netzanschluss passen die Ströne nicht zu den Leistungen. Da muss ich auch noch mal schauen.

Vielleicht ist das den Timeout geschuldet, dass die Spannungen und Ströme etwas zeitlich versetzt gemessen sind und dadurch nicht exakt zusammenpassen.

Posted
On 5/13/2024 at 8:18 PM, till said:

Probier mal Adresse 0, das ist der DeviceType:

{
"Name": "Stringinverter",
"Value": 2.0
},
{
"Name": "Hybridinverter 1-ph",
"Value": 3.0
},
{
"Name": "Microinverter",
"Value": 4.0
},
{
"Name": "Hybridinverter 3-ph",
"Value": 5.0
},
{
"Name": "Hybridinverter 3-ph HV",
"Value": 6.0
}

 

Danke, danach hatte ich gesucht. Die alte Version der Spezifikation kannte die Hochvolt-Varinante noch nicht. Wir haben hier eine neue Version gefunden. Dort steht auch der 10x Faktor für Spannung und Leistung der Hochvolt-Batterie drin:

https://github.com/evcc-io/evcc/discussions/13460#discussioncomment-9138426

Posted
On 5/13/2024 at 8:18 PM, till said:

Ich teste nachher mal wenn die Kinder schlafen, aber ich vermute da ich ja jetzt schon timeouts habe dass das mit 4 Zählern Probleme geben könnte. Wenn die Zähler vom selben Host kommen, teilen die sich dann eine Verbindung?

Es wird nur eine Verbindung aufgebaut die sich dann alle vier Zähler teilen. Es werden aber dennoch mehr Daten ausgelesen. Ich habe da noch Ideen das zu verbessern. Zum Beispiel, werden aktuell alle Werte einzeln gelesen, auch wenn sie in den Registern hintereinander weg stehen und eigentlich meherer Werte in einem Rutsch gelesen werden könnten.

Posted

Timeouts sind leider noch da, und den HV Speicher erkennt er noch nicht:

2024-05-14 20:47:35,972 | meters_mbtcp     | Deye Hybrid Inverter has unknown Device Type: 6

Posted
Am 14.5.2024 um 12:16 schrieb photron:

[...]

Das würde dann auch besser zu diesen Zahlen passen. Kannst du mir deine Grafik erklären? Ich lese das so:

PV produziert 1.820 W (14% der möglichen Gesamtleistung von 13 kW)

Der Speicher ist 99% voll und entlädt mit 7 W.

Das Haus verbraucht 796 W.

900 W werden an das Stromnetz verkauft.

Für die Leistung des Wechselrichters lese ich Register 636 "Output Total Active Power" in W. Welchen Wert nimmt du dafür?

Am Netzanschluss passen die Ströme nicht zu den Leistungen. Da muss ich auch noch mal schauen.

[...]

 

Zu der Grafik: Dein Verständnis deckt sich mit meinem. Allerdings stehe ich evtl auf dem Schlauch 🤔

Was genau meinst Du mit "Leistung des Wechselrichters" und was genau sagt mir der Wert? Register 636 lese ich gar nicht aus.

Register 504 "Total Active Power Generation" zeigt bei mir auch nur "0" an. Scheint nicht zu funktionieren.

>"In den Wechselrichter gehen gerade 161 W rein. Das ist eher komisch. Dieser Werte sollte das sein was gerade am AC Anschluss deines Wechselrichters passiert. Wenn der Speicher voll ist und der Wechselrichter gerade bei voller Sonne 10 kW produziert und ans Haus/Netz abgibt, dann sollte da -10.000 W stehen. Wenn der Speicher mit 1 kW lädt, bei 10 kW Sonne, dann gehen aus dem Wechselrichter noch 9 kW ans Haus/Netz, dann sollte da -9.000 W stehen. So ist dieser Wert gedacht. "

Unterscheidest Du zwischen "Deye Netzanschluss" und "AC Anschluss"? Das ist ja identisch. Was Du statt der 161 W erwartest, ist der Wert, der bei Netzanschluss in der ersten Spalte steht. Ich würde die Bezeichnung der Register mal nicht zu ernst nehmen - das kann auch falsch übersetzt sein.

Was bedeutet "In den Wechselrichter gehen gerade 161 W rein." genau? Summierst Du auf, also PV+Batterie+Netz-Load? Da kommt in der Summe immer etwas zwischen 70 und 250 W raus, was dem "Eigenverbrauch" des Wechselrichters entspricht (wird quasi in Wärme umgewandelt).

Ich teste später nochmal das Update.

 

 

  • 1 month later...
Posted

Man braucht einen Modbus RTU auf Modbus TCP umsetzer. Den schließt man am Modbus Port am Wechselrichter an. Das wars eigentlich. Ich kann da mal ein paar Sätze für die Doku zusammenschreiben.

Posted

Danke für die schnelle Rückmeldung. Die Sätze nehme ich auch gerne!

Nur zum Verständnis, es gibt von Deye kein Wifi Dongle o.ä. welches ich dafür einfach nutzen kann? Ich kenne so etwas von Sungrow, bei denen man das Dongle benötigt.

Posted

Da gibt auch einen Dongel, Gerüchten zufolge kann der auch auf irgendeinem Port Modbus TCP, aber die updaterate ist wohl so langsam (weil nur für Statistiken in der Cloud) dass es vermutlich keinen Sinn macht darauf zu regeln. Daher hab ich gleich den Modbus TCP umsetzer drangehängt. Da muss man auch auf die Qualität achten. Der erste hat die 1s updaterate von der Wallbox nicht geschafft. Der zweite geht prima.

Posted

Okay. Danke für die schnelle Antwort.

Für uns ist es natürlich sehr interessant ob und wie gut es mit dem offiziellen "Dongle" funktioniert. So ein Wandler ist definitiv eine Lösung, aber für die meisten Installateure wäre sicher ein Original-Zubehörteil eher zu bevorzugen.

Posted

Ich kann es gerade nicht testen. Modbus ist wohl auf Port 8899, aber mein IO-Broker kam auf anhieb nicht damit klar. Vielleicht hilft das aber einem anderen User mal auszuprobieren ob da was sinnvolles raus kommt.

Posted
On 6/26/2024 at 5:19 PM, till said:

Modbus ist wohl auf Port 8899, aber mein IO-Broker kam auf anhieb nicht damit klar.

Das scheint daran zu liegen, dass die nicht direkt Modbus/TCP sprechen, sondern Modbus/TCP noch mal in einem Deye eigenen Protokoll verpackt ist:

https://github.com/kbialek/deye-inverter-mqtt

https://github.com/kbialek/deye-inverter-mqtt/blob/ef72887383e3a2e0bc7a3e4a55b5574ebcf65bb5/src/deye_modbus_tcp.py#L39

Dabei muss man dann die Seriennummer des Wechselrichters mitgeben. Mir ist nicht klar, ob das der Addressierung oder Security-by-Obscurity dient.

Posted

Vielleicht weiß der Dongel durch die Seriennummer welcher Wechserichter dran hängt und damit wie er mit ihm kommunizieren muss.

Aber dann brauche ich es nicht weiter zu verfolgen und ob es Sinn macht das im Warp zu implementieren weiß ich auch nicht. Mit dem Modbus Adapter läuft es ja perfekt.

Posted

Ich lese hier mal mit. Hab zwei Deye ( unterschiedliche Installation) nicht ohne Timeouts hin bekommen.

Einmal ist er über einen USB auf RS485 und einmal über RS485 über TCPIP.

Hersteller ist in beiden Fällen Waveshare.

Abschlusswiderstände haben auch nichts gebracht.

  • 2 months later...
  • 2 months later...
Posted

Hey Leute,

I need help :)
Ich habe Deye SUN12K mit WLAN Dongle und möchte PV-gesteuerte Ladung realisieren.

Hier steht https://docs.warp-charger.com/docs/compatible_meters/#deye dass ich 8899 als Port eintragen muss.

Was will er von mir? :D

Welches Format?
image.thumb.png.b9518d7c66cfe722ef291c9a72b3d0e7.png

So habe ich geschafft abzuspeichern:

image.thumb.png.6c630a32248f8bddc8b1f65a7c2cbf28.png

Aber so richtig tut es noch nicht:

Zitat

2024-11-20 11:32:54,092 | gen_mbtcp_client | Connected to '192.168.11.100'
2024-11-20 11:32:55,097 | gen_mbtcp_client | readHreg failed: TIMEOUT (0xe4) host=192.168.11.100 port=8899 device_address=1 start_address=522 register_count=4
2024-11-20 11:32:55,108 | meters_mbtcp     | Error reading Deye Hybrid Inverter / Total Grid Buy [0.1 kWh] (address: 522, number: 523): TIMEOUT [228]
2024-11-20 11:32:56,905 | gen_mbtcp_client | readHreg failed: TIMEOUT (0xe4) host=192.168.11.100 port=8899 device_address=1 start_address=522 register_count=4

Was kann ich hier checken bzw. was muss anders gemacht werden?
 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...