[ModBus Vorlage] Deye Sun xxK-SG04lp3

Hallo zusammen,

darf ich fragen wie man mit der JSON Template Vorlage umgeht. ? Wie wird die bei der Einbindung genutzt.

Könntet ihr vielleicht bitte die Vorgehensweise für das Einrichten im IPS beschreiben, wäre das möglich ?

Besten Dank und Gruß

Die Dokumentation ist da etwas dünn, aber da steht was man anlegen muß (ModBus Gerät) und dann den Button Vorlage importieren.

Michael

ahh ok, schaue ich mir an. War mich jetzt nicht bewusst das man dort dann Vorlagen importieren kann.

Danke und Gruß …

Hallo
mit den modbus registern 664 665 666 kann man den gernerator/Micro wechselrichter wert auslesen, mit 667 auch die gesamtleistung.
Du kannst daraus ja mal eine V6 machen
Gruss Andreas


{
„Active“: true,
„ByteOrder“: -1,
„DataType“: 2,
„Factor“: 0,
„Ident“: „“,
„Length“: 0,
„Name“: "Gen Port A ",
„Profile“: „“,
„ReadAddress“: 664,
„ReadFunctionCode“: 3,
„Translation“: ,
„WriteAddress“: 0,
„WriteFunctionCode“: 0
},
{
„Active“: true,
„ByteOrder“: -1,
„DataType“: 2,
„Factor“: 0,
„Ident“: „“,
„Length“: 0,
„Name“: „Gen Port B“,
„Profile“: „“,
„ReadAddress“: 665,
„ReadFunctionCode“: 3,
„Translation“: ,
„WriteAddress“: 0,
„WriteFunctionCode“: 0
},
{
„Active“: true,
„ByteOrder“: -1,
„DataType“: 2,
„Factor“: 0,
„Ident“: „“,
„Length“: 0,
„Name“: „Gen Port C“,
„Profile“: „“,
„ReadAddress“: 666,
„ReadFunctionCode“: 3,
„Translation“: ,
„WriteAddress“: 0,
„WriteFunctionCode“: 0
},
{
„Active“: true,
„ByteOrder“: -1,
„DataType“: 2,
„Factor“: 0,
„Ident“: „“,
„Length“: 0,
„Name“: „Gen Port ABC“,
„Profile“: „“,
„ReadAddress“: 667,
„ReadFunctionCode“: 3,
„Translation“: ,
„WriteAddress“: 0,
„WriteFunctionCode“: 0
}

Bitte einmal testen. Da ich die Ports nicht nutze, kann ich nicht testen…

Deye Symcon Modbus Template v6.json (39,3 KB)

ja , funktioniert .
es gibt noch hunderte weitere werte die man noch auslesen könnte .

Grundsätzlich findet man für jeden eingang: Power , Volt , A , Hz ,
V6.1 Test.json (49,3 KB)
Hier , kannst ja mal schauen was ich da so getestet habe…
ist deine V6 + ein paar interesannte weiteren werten … muss noch feinschliff rein …
einiges zeigt bei mir auch nur 0 an weil ich da halt nix angeschlossen habe oder er gerdade im anderen modus lauft.

ich hab für mich mal noch den HP3 (Hochvolt) von DEYE hinzugefügt.
Auch ein paar Batteriewerte wie Lade-/Entladestrom sind noch mit drin.

Aber ist keine Erweiterung der V6 oder V6.1 => meine baut auf V5 auf

V6.2_Test.json (41,6 KB)

Auf wunsch in einen neuen Thread verschoben:

Vielleicht kannst du für deine Vorlage, bzgl. des Hochvoltspeichers/Wechselrichters, ein extra Beitrag erstellen, dann bleibt es übersichtlicher. :slight_smile:

1 „Gefällt mir“

Hallo,

woher bekomme ich denn die Doku für die ModBus Register ?

Hat da jemand einen Link für mich bitte ?

Danke und Gruß

Hallo mactoolz,

anbei 3 PDF’s mit den Registern:

Protokoll 29094-Deye-MODBUS-RTU-V104.pdf (526,9 KB)
Deye.MODBUS.RTU.V104.pdf (545,9 KB)
Deye Modbus protocol V118.pdf (1,3 MB)

1 „Gefällt mir“

Hallo

ich verwende das Modul von Thomas Westerhoff, welches auch super funktioniert. Jetzt wollte ich noch mehr Details aus dem Akku holen und habe in der ModbusBeschreibung …

folgendes auf PDF-Seite 36 gefunden:

Ich habe jetzt eine zusätzliche „Modbus-Register-Instanz“ angelegt und frage die entsprechenden Register ab. Das Ergebnis ist aber leider nicht das was ich erwartet hätte.

Hat diese Infos schon jemand auslesen können?

Stellt dein BMS denn die Daten dem Deye zur Verfügung? Könnte mir vorstellen das einige Daten nur zur Verfügung stehen, wenn man Deye Akkus einsetzt, die dann diese Daten per CAN übermitteln.
Ich selber lese meine BMS direkt aus, kann aber die Tage gerne Testen ob bei mir in den Registern was steht.

Ich habe mein Vorhaben jetzt mit Hilfe von andreashh1 aus diesem Thread lösen können:

modbus-vorlage-pace-gobel-power-bms

Ich habe jetzt alle 3 Geräte (DEYE, BMS1 und BMS2) an einem Wavshare RS485 - ETH Konverter hängen:

Beide BMS habe ich auf PACE_Modbus umgestellt und schon konnte ich mit der ModbusVorlage von andreashh1 die Daten abrufen.

Vielen Dank nochmal an dieser Stelle an Andreas!!!

Moin,
ich würde gerne auf dem Deye die Parameter "Batterie-Mindestladung Zeitraum x " via ModBus verändern.
Die Adresse zum Lesen und Schreiben ist 166 ( Laut Doku ). So ist es auch in meinem Template hinterlegt

{
            "Active": true,
            "ByteOrder": -1,
            "DataType": 2,
            "Factor": 0,
            "Ident": "",
            "Length": 0,
            "Name": "Batterie Mindestladung Zeitraum 1",
            "Profile": "~Battery.100",
            "ReadAddress": 166,
            "ReadFunctionCode": 3,
            "Translation": [],
            "WriteAddress": 166,
            "WriteFunctionCode": 16
        },

Setze ich nun einen Wert wird mit der nächsten Abfrage wieder der vorherige Wert ausgegeben.
Hat jemand Erfahrung damit, via ModBus Parameter im Deye zu ändern?

Mein Ziel ist es , die Mindest-Ladung sowie die Ladung aus dem Netz zu steuern.

„Grid-Charge“ und „Batt“

Grüße Detlev.

Hallo

das sollte genau so gehen .
kanst du andere werte schreiben ?

1 „Gefällt mir“

Moin,

nein leider nicht. Ich habe versucht den Deye in den Standby zu setzen. Auch da wird der vorherige Wert nach kurzer Zeit wieder angezeigt. Nun habe ich mal mit dem Debugger auf das Modul geschaut und kann keinerlei Aktivität finden, wenn ich Werte setze.

Kann das Modul irgendwoe auf readonly gesetzt werden?
Grüße

Und hast du es hinbekommen , sonst Mal schauen ob das Gateway richtig programmiert ist .

Leider bisher nicht, müsste ich denn nicht die „Write“ Aktivitäten im Debug Fenster sehen können?

Hmm, ich glaube das Debug-Fenster gibt auch nicht die komplette Kommunikation mit dem ModBus-Gateway aus. Ich sehe immer nur diese Werte

obwohl alle konfigurierten Variablen aktualisiert werden.

Bin momentan etwas ratlos.
Grüße

ich habe bei mir mal im debug fenster nachgesehen , scheinbar betrift das debug nur die virtuellen werte.
es gibt noch ein debug an der schnitstelle , aber dort laufen soviele daten durch das man daraus kaum schlau wird.

das war ein guter Hinweis. Das Debug der Schnittstelle wirft wirklich jede Menge Wert.

Mit dem Filter habe ich auf Transmit gefiltert und den Wert für „Batterie Mindestladung Zeitraum 1“ geändert. Um 6:23:46 wurde der Wert auf 90% gestellt.

Genau kann ich die Transmit-Zeile nicht dekodieren , dazu fehlt mir etwas Doku über das Protokoll, aber A6 ist der Hex-wert für 166 (Adresse für Batterie Mindestladung Zeitraum 1) , 5A der eingestellte Wert von 90%

Somit vermute ich, dass der Write-Befehl zum Modus-Gateway gesendet wird.
Dann kann es wahrscheinlich nur noch am Gateway oder Deye 12K liegen.

Als Gateway setze ich einen USR-TCP232-304 ein. Dort kann ich aber nirgends etwas finden, um das Gateway auf „readonly“ einzustellen.
Der Deye 12K läuft im Master-Modus:

Vielleicht hat ja noch jemand eine Idee.