Vielleicht kannst du für deine Vorlage, bzgl. des Hochvoltspeichers/Wechselrichters, ein extra Beitrag erstellen, dann bleibt es übersichtlicher.
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)
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 ?
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
Ü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.