[ModBus Vorlage] Deye Sun xxK-SG04lp3

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.

Moin,
endlich mal wieder etwas Zeit fürs Smarthome.

Es funktioniert nun, aber über einen anderen Weg.
Ich greife bislang über einen USR-TCP232-304 auf den Mod-Bus des Deye 12K ( Klemme Meter_485 im Deye) zu. Über diesen Weg kann ich die Werte auslesen, aber nicht setzen.

Am Deye hängt aber noch das LAN-Modul LSE3-LAN um Daten an Solarman zu übertragen und Fernwartung zu ermöglichen.
Ein Portscan zeigte ein paar offene Ports

nmap 192.168.15.1
Starting Nmap 7.93 ( https://nmap.org ) at 2024-12-13 06:36 CET
Nmap scan report for 192.168.15.1
Host is up (0.0013s latency).
Not shown: 998 closed tcp ports (reset)
PORT     STATE SERVICE
80/tcp   open  http
8899/tcp open  ospf-lite

8899 ist ein Modus-Port, da hätte ich mir den USR-TCP232-304 auch sparen können :slight_smile:

Über diesen Modus-Zugang kann ich nun Werte lesen und auch schreiben.
Etappen-Sieg!

Nun suche ich nur noch nach den Parametern die gesetzt werden müssen um das Laden des Akkus aus dem Netz zu aktivieren:

Register 172-177 setzt das Laden für die Zeitpunkte 1-6
Register 130 setzt Gen Charge

Ich habe nun einen Zeitpunkt auf Grid charge (172-177) gesetzt und den Register Gen Charge ( 130 ) gesetzt. Aber leider wird die Batterie nicht aus dem Netz geladen.

Hier nochmal die Parameter zum Lesen und Schreiben der Register
Bei Grid Charge bin ich mit nicht ganz sicher, ob die Einstellungen passen, es handelt sich dort ja um einen binären Wert. Aber mit 0/1 bekomme ich das Register gesetzt .

Hat jemand eine Idee, warum die Batterie nicht geladen wird?
Grüße Detlev.

Wo hast du den denn?

Ich verstehe Dene Frage nicht, das LAN-Modul ist am entsprechenden Steckplatz angeschlossen, unten am Gerät.

Da habe ich nur das WLAN-Modul mit dem SUB-D-Stecker. Daher die Frage. Hast du ggf. mal ein Bild davon?

Hallo nsrracer,
ich bin neu hier und ziemlich unerfahren. Ich habe ein Problem wie du es beschrieben hast mit meinem Deye Sun 5K-SG04LP3-EU. Dieser wurde mir in 02/24 mir der letzten aktuellen FW vom Support hochgerüstet.
Ich habe das gleiche Problem wie du es beschrieben hast. Nach Sonnenuntergang Bleiakku leergesaugt und dann einen erhöhte Leistung bis PV Spannung wieder anliegt. Das ist ein unguter Zustand und teuer. Beim händisch auf „No Battery“ umschalten nur 15 W. Nun meine Frage/Bitte: Du hast ein JSON Template zur Verfügung gestellt. Benötige ich hierfür einen Webserver wie ESP32 oder Raspi. Was muss ich machen damit das automatisierte Umschalten funktioniert. Einen Konverter der Modbus unterstützt habe ich.
Wenn du mir helfen kannst wäre ich dir sehr dankbar.
Gruß

Wenn du einen RS485 to Ethernet Adapter hast, brauchst du neben Symcon keine extra Hardware. Du kannst per Symcon und Modbus den Deye Auslesen und Steuern.

Moin.
sorry für die verspätetet Antwort, ich hing in den letzten Tagen voll in der besinnlichen Weihnachtszeit fest. Hier nun ein Foto:

Der LAN-Stick steckt unten am Deye am WiFi Anschluß.

Grüße und nun ein entspanntes Weihnachtsfest.
Detlev.

Sorry, bei dem LAN Adapter kann ich dir leider nicht helfen. Keine Ahnung ob der überhaupt über Modbus ansprechbar ist.

Hi,

der LAN-Adpater stellt einen Modbus-Port bereit, über den die Werte ebenfalls abgefragt werden können.

Mein Problem besteht aktuell nur noch darin, dem Wechselrichter via Modbus mitzuteilen, dass die Batterie aus dem Netz des Energieversorgers geladen werden soll, wenn es gerade günstig ist.

Grüße

Ich habe es gerade getestet und er fing gleich an zu Laden. Entsprechenden Lademodus passend zum Zeitplan auf Netzladen stellen. Bei mir war es Zeitplan 3 und somit der Lademodus 3 ( ID 174). Desweiteren den Mindest SOC des Zeitplans 3 (ID 168) auf Testweise 100% gestellt und schon geht die wilde Fahrt los :grinning:

Hallo

ich habe ein Wlan Adapter , habe dort auch ein port 8899
habe den wie die anderen Modbus geräte eingerichtet , aber irgendwie kommen da keine daten an .
im debug der schnitstelle ist zu lesen das es ein timeout gibt , das ding antwortet nicht.
Hat da jemand ein tip ?

Hallo,
ich habe wie von boni127 beschrieben auch auf den LAN-Adapter umgestellt und habe jetzt Werte in Symcon.
Allerdings sehe ich jetzt alle paar Minuten einen Timeout-Fehler im Log (s.u.).
Was habt ihr denn beim Intervall im Modbus-Gerät eingestellt? Vielleicht liegt es ja daran?
Ich habe in den Experteneinstellungen im Modbus-Gateway auch noch eine Abfrageverzögerung (eingestellt auf 10ms) gesehen, dazu finde ich in der Symcon-Doku nichts. Oder kann es damit zu tun haben?

Danke & viele Grüße
Philip

ich habe irgendwo gelesen, dass der WLAN-Adapter ein „gekappseltes“ modbus spricht im Unterschied zum LAN-Adapter, finde die Seite aber nicht mehr. Ich habe dann nach dem Bericht von boni127 auf LAN-Adapter umgestellt, das funktioniert gut und ich sehe sinnvolle Werte.