Deye SUN-12K-SG04LP3 mit Modbus auslesen

Begonnen von mfischer-ffb, 09 April 2023, 22:18:26

Vorheriges Thema - Nächstes Thema

mfischer-ffb

Hallo,

nachdem ich jetzt fast 2 Tage nach einer Lösung gesucht hatte den DEYE 12K via Modbus auszulesen und gescheitert bin hier die Lösung falls es jemanden ähnlich geht wie mir.

Mit der Modbus Adresse 00 die im Wechselrichter voreingestellt ist konnte ich mit FHEM keine Verbindung herstellen, erst als ich die Adresse auf 03 (Slave) geändert hatte und danach einen Power-reset durchgeführt habe funktionierte es.

Den RS485 USB adapter habe ich am BMS port angeschlossen Pin1 = B Pin2 = A Pin3 = GND

Ich hab noch nicht alle Register eingetragen weitere sind  hier zu finden. 

Gruß Markus

define Modbus_Deye Modbus /dev/ttyUSB0@9600
attr Modbus_Deye room DEYE

define Mod_Deye ModbusAttr 3 10
attr Mod_Deye IODev Modbus_Deye
attr Mod_Deye dev-h-combine 5
attr Mod_Deye dev-h-defPoll 1
attr Mod_Deye dev-h-defUnpack n
attr Mod_Deye obj-h514-expr $val * 0.1
attr Mod_Deye obj-h514-reading Akku_Laden_kWh_Tag
attr Mod_Deye obj-h515-expr $val * 0.1
attr Mod_Deye obj-h515-reading Akku_Entladen_kWh_Tag
attr Mod_Deye obj-h516-expr $val * 0.1
attr Mod_Deye obj-h516-len 2
attr Mod_Deye obj-h516-reading Akku_Laden_kWh
attr Mod_Deye obj-h518-expr $val * 0.1
attr Mod_Deye obj-h518-len 2
attr Mod_Deye obj-h518-reading Akku_Entaden_kWh
attr Mod_Deye obj-h519-reading Akku_W
attr Mod_Deye obj-h520-expr $val * 0.1
attr Mod_Deye obj-h520-reading Netzbezug_Kwh_Tag
attr Mod_Deye obj-h522-expr $val * 0.1
attr Mod_Deye obj-h522-len 2
attr Mod_Deye obj-h522-reading Netzbezug_Kwh
attr Mod_Deye obj-h529-expr $val * 0.1
attr Mod_Deye obj-h529-reading PV_kWh_Tag
attr Mod_Deye obj-h534-expr $val * 0.1
attr Mod_Deye obj-h534-len 2
attr Mod_Deye obj-h534-reading PV_kWh
attr Mod_Deye obj-h540-expr ($val -1000) * 0.1
attr Mod_Deye obj-h540-format %.1f
attr Mod_Deye obj-h540-reading Temp_DC
attr Mod_Deye obj-h541-expr ($val -1000) * 0.1
attr Mod_Deye obj-h541-format %.1f
attr Mod_Deye obj-h541-reading Temp_AC
attr Mod_Deye obj-h587-expr $val * 0.01
attr Mod_Deye obj-h587-format %.1f
attr Mod_Deye obj-h587-reading Akku_V
attr Mod_Deye obj-h588-reading Akku_SOC
attr Mod_Deye obj-h591-expr $val * 0.01
attr Mod_Deye obj-h591-reading Akku_A
attr Mod_Deye obj-h591-unpack s>
attr Mod_Deye obj-h598-expr $val * 0.1
attr Mod_Deye obj-h598-format %.1f
attr Mod_Deye obj-h598-reading L1
attr Mod_Deye obj-h599-expr $val * 0.1
attr Mod_Deye obj-h599-format %.1f
attr Mod_Deye obj-h599-reading L2
attr Mod_Deye obj-h600-expr $val * 0.1
attr Mod_Deye obj-h600-format %.1f
attr Mod_Deye obj-h600-reading L3
attr Mod_Deye obj-h609-expr $val * 0.01
attr Mod_Deye obj-h609-format %.2f
attr Mod_Deye obj-h609-reading Netzfrequenz
attr Mod_Deye obj-h625-reading Netzbezug_W
attr Mod_Deye obj-h630-expr $val * 0.01
attr Mod_Deye obj-h630-reading WR_L1_A
attr Mod_Deye obj-h631-expr $val * 0.01
attr Mod_Deye obj-h631-reading WR_L2_A
attr Mod_Deye obj-h632-expr $val * 0.01
attr Mod_Deye obj-h632-reading WR_L3_A
attr Mod_Deye obj-h633-reading WR_L1_W
attr Mod_Deye obj-h634-reading WR_L2_W
attr Mod_Deye obj-h635-reading WR_L3_W
attr Mod_Deye obj-h672-expr $val * 0.1
attr Mod_Deye obj-h672-reading PV1_W
attr Mod_Deye obj-h673-reading PV2_W
attr Mod_Deye obj-h676-expr $val * 0.1
attr Mod_Deye obj-h676-reading PV1_V
attr Mod_Deye obj-h677-expr $val * 0.1
attr Mod_Deye obj-h677-reading PV1_A
attr Mod_Deye obj-h678-expr $val * 0.1
attr Mod_Deye obj-h678-reading PV2_V
attr Mod_Deye obj-h679-expr $val * 0.1
attr Mod_Deye obj-h679-reading PV2_A
attr Mod_Deye room DEYE
attr Mod_Deye stateFormat L1 V<br>\
L2 V<br>\
L3 V<br>
attr Mod_Deye verbose 0

Gisbert

Hallo mfischer-ffb,

klingt interessant, vielen Dank für dein Engagement.

Vielleicht kann ich deine Lösung benutzen, wenn ich mir das gleiche Gerät zulege.

Kannst du etwas über die Gründe sagen, warum du dieses Gerät gekauft hast? Welche Erwartungen hast du an das Gerät und würden die erfüllt?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

mfischer-ffb

Hallo Gisbert,
der Deye 12K ist ein Multifunktions Hybridwechselrichter, nicht ganz billig aber bietet alle erdenklichen möglichkeiten bis hin zum Strom-Generatoranschluss.
Hab ihn aber noch nicht aktiv im Einsatz somit kann ich hier noch nicht viel sagen die PV Module müssen noch montiert werden.
Gruß
Markus

Zitat von: Gisbert am 09 April 2023, 22:26:37Hallo mfischer-ffb,

klingt interessant, vielen Dank für dein Engagement.

Vielleicht kann ich deine Lösung benutzen, wenn ich mir das gleiche Gerät zulege.

Kannst du etwas über die Gründe sagen, warum du dieses Gerät gekauft hast? Welche Erwartungen hast du an das Gerät und würden die erfüllt?

Viele Grüße Gisbert

Jojo11

Damit hast du mir den entscheidenden Hinweis gegeben, vielen Dank!
Im Anhang findest Du das Dokument mit allen Registern von Deye, falls noch nicht bekannt.

Schöne Grüße
Jojo

Jojo11

Hast Du es schon geschafft, Werte zu ändern/schreiben? Ein erster Versuch lieferte ein "Timeout in Readanswer". Im log findet sich
Mod_Deye: Timeout in Readanswer, read buffer empty,
request: id 3, write fc 6 h115, len 1, value 000b, tid 240, master device Mod_Deye, reading Battery_capacity_ShutDown (set Battery_capacity_ShutDown), queued 2.00 secs ago, sent 2.00 secs ago

schöne Grüße
Jojo

mfischer-ffb

Schreiben hab ich noch nicht getestet, mein Deye hängt zwar an der Wand aber Akku und Module fehlen noch somit kann ich hier aktuell nicht viel testen....

Hab gestern noch einen Fehler bei der Akkustrom Anzeige behoben...

Jojo11

#6
Damit hatte ich gestern auch noch Probleme und habe es dann so gelöst:
attr Mod_Deye dev-type-S16-unpack s>
...
attr Mod_Deye obj-h591-format %.1f
attr Mod_Deye obj-h591-reading Battery_output_current_A
attr Mod_Deye obj-h591-type S16

Müsste aufs Gleiche hinauslaufen. 
Als Nächstes ist das Seplos BMS an der Reihe :D

Jojo11

Ich habe das Modbus-Dokument mal durch einen online-Übersetzer geschickt - das vereinfacht ein wenig das Lesen.


Jojo11

Schreiben geht jetzt auch. Folgende Zeile ermöglicht es:

attr Deye dev-h-write 16 # 10H

Die 10H habe ich aus der Tabelle in Kapitel 3  :)

kptkip

Komme leider nicht weiter.

Ich hab den Deye über ein RS485-ETH Device angeschlossen und folgendes Device in FHEM angelegt:

defmod Mod_Deye ModbusAttr 20 30 192.168.33.24:502 TCP
attr Mod_Deye userattr obj-h514-expr obj-h514-reading obj-h522-len obj-h522-reading obj-h534-len obj-h534-reading obj-h588-reading obj-h625-reading obj-h672-reading obj-h673-reading
attr Mod_Deye alias deye
attr Mod_Deye obj-h514-expr $val * 0.1
attr Mod_Deye obj-h514-reading Akku_Laden_kWh_Tag
attr Mod_Deye obj-h522-len 2
attr Mod_Deye obj-h522-reading Netzbezug_Kwh
attr Mod_Deye obj-h534-len 2
attr Mod_Deye obj-h534-reading PV_kWh
attr Mod_Deye obj-h588-reading Akku_SOC
attr Mod_Deye obj-h625-reading Netzbezug_W
attr Mod_Deye obj-h672-reading PV1_W
attr Mod_Deye obj-h673-reading PV2_W
attr Mod_Deye room Infrastruktur->Serverschrank
attr Mod_Deye verbose 0

setstate Mod_Deye opened
setstate Mod_Deye 2023-04-20 23:10:47 state opened

Er connected zwar das Gerät, aber ich bekomme keine Readings.
FHEM Revision: 22312 auf RasPI3B+,1xNeumannCUL,HMLAN,1xRasPi3B+,2xRasPI ZERO W
CUL_HM:HM-Sec-SCo, HM-CC-RT-DN
Fritz: Fritz!Box 6590C,DECT301,DECT200
Shelly:Shelly1,Shelly2, ShellyBulb Xiaomi: Schalter, Fensterkontakte HUE: ConbeeII
Tasmota:SonoffBridge, Stecker

Jojo11

#10
Schau Dir mal den ersten Beitrag oben an. Bist Du Dir sicher, dass Deine ID derjenigen im Deye entspricht (20)?

kptkip

#11
Bin nun auch auf ein USB-Device gegangen. Dabei u.A. auch die ID angepasst (01).  8)

Klappt! ;-)

Mein Problem ist nun allerdings, dass ich nur alle ~20 Minuten Daten bekomme, manche sogar noch seltener.

Habe mit
screen /dev/ttyUSB0 9600auch mal auf der shell gehorcht. Da kommt auch nicht häufiger was durch das Kabel.

Kann man das im Deye einstellen?

Hänge aktuell am BMS-Port dran. ist das am Modbus-Port evtl. anders?


[Update:] Am Modbus-Port kommen die Werte im quasi-Sekundentakt rein :-)
FHEM Revision: 22312 auf RasPI3B+,1xNeumannCUL,HMLAN,1xRasPi3B+,2xRasPI ZERO W
CUL_HM:HM-Sec-SCo, HM-CC-RT-DN
Fritz: Fritz!Box 6590C,DECT301,DECT200
Shelly:Shelly1,Shelly2, ShellyBulb Xiaomi: Schalter, Fensterkontakte HUE: ConbeeII
Tasmota:SonoffBridge, Stecker

XBuschman

Hallo,
ich habe Deye SUN-10K-SG04LP3 im Einsatz und möchte auch die aktuellen Betriebsdaten per FHEM auslesen. Für mich scheint der hier beschriebene Ansatz direkt über ModBus am Deye die Daten auszulesen der beste Ansatz zu sein.
Ich habe dazu aber noch ein Paar Fragen, von denen ich hoffe dass sie mir hier beantwortet werden können.

@mfischer-ffb: Du schreibst, dass du die Adresse auf 03 (Slave) geändert hast. Meinst du damit die Einstellung im Deye Menü ,,Erweiterte Funktion" (siehe Bild "Deye ModBus Menue.png")?

@kptkip: Ist der ModBus Port der Anschluss links neben dem BMS Anschluss? Da steht ModeBus dran. Ein Schreibfehler? Oder welchen Anschluss hast du genutzt? (Siehe Bild "Deye Ports.png").
Wieso musstest du bei dir die ID 01 einstellen und nicht die 03 wie oben beschrieben? Ist das bei dir im Deye Menü (siehe Punkt oben) so eingestellt?
Danke und Grüße,
Rainer

Blowfly

Hi,
habe das jetzt auch ausprobiert, funktioniert prima, vielen Dank dafür! Werde das auch noch etwas ergänzen und hier posten.

Zu den Fragen:
Zitat von: XBuschman am 27 April 2023, 10:12:25@mfischer-ffb: Du schreibst, dass du die Adresse auf 03 (Slave) geändert hast. Meinst du damit die Einstellung im Deye Menü ,,Erweiterte Funktion" (siehe Bild "Deye ModBus Menue.png")?
Denke ja, aber das ist wohl irrelevant, jedenfalls funktioniert es bei mir nur mit Adresse 1, obwohl ich dort auch 3 eingestellt hatte.

Zitat@kptkip: Ist der ModBus Port der Anschluss links neben dem BMS Anschluss? Da steht ModeBus dran. Ein Schreibfehler? Oder welchen Anschluss hast du genutzt? (Siehe Bild "Deye Ports.png").
Genau der Modebus ist es.

ZitatWieso musstest du bei dir die ID 01 einstellen und nicht die 03 wie oben beschrieben? Ist das bei dir im Deye Menü (siehe Punkt oben) so eingestellt?
Nein, aber geht auch nur bei mir mit der 1 (siehe oben).

Viele Grüße
Hans
FHEM 6.2 auf RaspBerry Pi 2 B; SDuino für IT Steckdosen und Livolo-Schalter; Jeelink für LaCrosse T&H Sensoren; OWServer mit DS18B20 T-Sensoren; ZigBee mit deCONZ (RaspBee), Alexa, Homekit

Jojo11

Bei mir funktioniert es mit der 03. Angeschlossen habe ich den Adapter am BMS-Port (nicht am ModeBus-Port).

XBuschman

Hallo,
ich bekomme die Abfrage nicht ans Laufen. Folgende Punkte habe ich durchgeführt:
Im Deye Menü ,,Erweiterte Funktion" unter Modbus SN" eine 3 eingetragen. Das andere Control steht auf Slave (wie auf dem Bild in meinen Beitrag weiter oben).
Eine Verbindung über der ModeBus Stecker an den USB-RS485 Adapter hergestellt wobei am RJ45 Stecker Pin 1 -> B, Pin 2 -> A und Pin 3 -> GND ist. Die Leitungen habe ich schon mehrfach ,,durchgeklingelt". Die beiden Endpunkte sind aktuell nicht mit Abschlusswiderständen versehen.

Der USB RS485 Adapter basiert auf einen FTDI FT232 Chip und taucht als ttyUSBx Device auf.
Die FHEM Konfiguration habe ich aus dem ersten Beitrag von mfischer-ffb ,,geklaut". Dabei habe ich sowohl die ID 3 und die ID 1 versucht.
Beide Devices (Modbus und ModbusAttr) haben den Status ,,opened". Readings erhalte ich keine.
Im Log File kommt folgende Meldung:

DeyeModbus: Timeout waiting for a modbus response, read buffer empty,
request: id 1, read fc 3 h514, len 1, master device DeyeMod, reading Akku_Laden_kWh_Tag (getUpdate for Akku_Laden_kWh_Tag len 1), queued 2.00 secs ago, sent 2.00 secs ago

An den BMS Port kann ich nicht gehen, da ich einen Akku installiert haben und der Port belegt ist.

Zudem wird bei mir die Leistung nicht mit den Sensor-Klemmen im Deye gemessen, sondern mit einem externen Gerät von Eastron, welche am ,,Meter-485" angeschlossen ist. Nach meinem Wissensstand läuft die Kommunikation auch über das Modbus Protokoll. Das Eastron ist entsprechend im Deye ,,Erweiterte Funktion" Menü konfiguriert.

Ich habe aktuell keine Idee mehr. Vielleicht hat jemand von euch noch einen Tipp?

Danke und Gruß,
Rainer





Jojo11

Je nach Firmware kann es sein, dass der Modebus-Port nicht funktioniert. Welche Versionen betroffen sind kann ich leider nicht sagen. Allerdings könntest du den BMS Port mit einer Y-Verteilung doch nutzen, da das BMS andere Pins benötigt (CAN) als FHEM (RS485). Schau mal auf den letzten Seiten der Anleitung des Deye - da findest Du die Belegung.

XBuschman

Welche Firmware ist denn bei deinem Gerät installiert? Meine Versionen habe ich als Screenshot angehängt.

Jojo11


XBuschman

Ich werde mal versuchen an ein Update zu kommen.
Haben die anderen, bei denen die Abfrage bereits funktioniert, auch die neuere Firmware installiert (siehe Versionsangaben von Jojo11)?

Jojo11

Ich bin immer noch an der Implementierung einiger Register. Aktuell scheitere ich an Register 146 (time of use). Das Register deckt mehrere Tage ab:
Bit0   0 disable   1 enable
Bit1   Monday  0-disable 1-enable
Bit2   Tuesday ...

Wie setze ich das um? Einfache Schalter on/off bzw 1/0 funktionieren sehr gut, aber hier komme ich nicht weiter. Hat das schon jemand umgesetzt?

XBuschman

Hallo,
hier mal mein aktueller Stand.
Ein Firmware Update wurde inzwischen durchgeführt. Aktuell läuft bei mit:
Main 2005-1123-1807
Hmi 1001-C030
Es gibt noch eine Protokoll Version: 0104 die wohl nicht aktualisiert wurde.

Leider kann ich auch nach dem Update keine Daten am Mod(e)bus Port empfangen.
In einem Handbuch, in dem auch der Mod(e)Bus Port dokumentiert ist steht ,,Hinweis: Für einige Hardwareversionen ist dieser Port nutzlos". Das scheint wohl auf meinen Deye zuzutreffen.

Ich habe mich dann an die 485 Pins des BMS Ports gehängt (wie von Jojo11 vorgeschlagen) und siehe da, die Daten können abgefragt werden.

XBuschman

Hallo,
ich bin auf der Suche nach dem Register welches den Netzbezug bzw. die Einspeiseleistung angibt (siehe Markierung im Bild).
In der Registerbeschreibung habe ich noch keinen passenden Eintrag gefunden.
Vielleicht hat ja jemand einen Tipp für mich  ::)

Jojo11

Das müsste 625 sein ("Grid_side_total_power_W")

XBuschman

Davon war ich auch ausgegangen, aber zum einen passt der Wert nicht zur Anzeige des Displays, bzw. zu den geloggten Werten in Solarmanpv (Einspeiseleistung), zum anderen müsste der Wert ja vorzeichenbehaftet sein. Positiv, wenn ich Strom aus dem Netz beziehe und negativ wenn ich Strom einspeise.

Jojo11

Das liegt am Format. Das hier sollte klappen:
attr Deye dev-type-S16-unpack s>

attr Deye obj-h625-reading Grid_side_total_power_W
attr Deye obj-h625-type S16

XBuschman

#26
Ja mit der richtigen Formatierung passen jetzt die gelesenen Werte mit den Werten auf der Anzeige.

Für die aktuelle PV Gesamtleistung (Summe aus beiden Solarpanel ,,Strängen") scheint es aber kein passendes Register zu geben. Ich hätte den Wert in h636 (Produktion_W) erwartet, dieser Werte ist aber immer um gut 200W höher als die Displayanzeige.
Addiere ich die Werte der einzelnen ,,Stränge" h672 (PV1_W) und h673 (PV2_W) entspricht das der Anzeige am Deye. Von daher kein Problem.

Vielen Dank für die Hilfe!  :)

Tobias

Hi,
Hat es denn mal jemand hiermit probiert?
Ich würde gerne den Deye mit integrieren, brauche aber jemand der die registerdefinition erstellt und anpasst.

Wenn ich die Modbus doku richtig lese muss nur die Konfiguration einmal erstellt werden und dann rennt es für alle anderen auch :)

https://github.com/tobiasfaust/SolaxModbusGateway
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Jojo11

Wenn du das auf einem ESP realisieren möchtest, gibt es doch schon dieses Projekt:
Deye ESP bridge
Da brauchste das Rad nicht neu zu erfinden  ;)

Tobias

Zitat von: Jojo11 am 17 Juni 2023, 20:24:18Wenn du das auf einem ESP realisieren möchtest, gibt es doch schon dieses Projekt:
Deye ESP bridge
Da brauchste das Rad nicht neu zu erfinden  ;)

interessant, das kannte ich noch nicht... Allerdings ziemlich aufwändig da eine eigene Platine notwendig ist
Ich erfinde auch nicht neu, ich muss ausschließlich  eine JSON Config anpassen damit es läuft. Das Projekt läuft bereits mit unterschiedlichen Wechselrichtern bereits ;)
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Gisbert

Zitat von: Jojo11 am 17 Juni 2023, 20:24:18Wenn du das auf einem ESP realisieren möchtest, gibt es doch schon dieses Projekt:
Deye ESP bridge
Da brauchste das Rad nicht neu zu erfinden  ;)

Hallo,
gibt es irgendwo eine Bezugsquelle für die Platine, oder alternativ einen Datensatz bzw. Datei, damit man die Platine selbst bestellen kann?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Nobbynews


Zitat von: Jojo11 am 17 Juni 2023, 20:24:18oder alternativ einen Datensatz bzw. Datei, damit man die Platine selbst bestellen kann?

Auf github gibt es doch ein Verzeichnis 'gerber'.
Das sollte das Gesuchte doch sein.


Gisbert

Hallo zusammen,
in der Zwischenzeit hatte ich den Gerberfile gefunden und direkt geordert. Da die Mindestbestellanzahl 5 Stück beträgt, ich aber max. 3 Stück benötige - falls überhaupt -, könnte ich demnach 2 Stück abgeben gegen Portoersatz. Bei Interesse bitte melden. Die Lieferzeit beträgt vermutlich 14 Tage.
Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Jojo11

Zitat von: Tobias am 04 Juli 2023, 09:33:46
Zitat von: Jojo11 am 17 Juni 2023, 20:24:18Wenn du das auf einem ESP realisieren möchtest, gibt es doch schon dieses Projekt:
Deye ESP bridge
Da brauchste das Rad nicht neu zu erfinden  ;)

interessant, das kannte ich noch nicht... Allerdings ziemlich aufwändig da eine eigene Platine notwendig ist
Ich erfinde auch nicht neu, ich muss ausschließlich  eine JSON Config anpassen damit es läuft. Das Projekt läuft bereits mit unterschiedlichen Wechselrichtern bereits ;)

Was die Platine macht, kannst du auch selber verdrahten. Wenn du dein File vervollständigen möchtest, lohnt sicher ein Blick auf dieses Projekt. Die Register sollten ziemlich vollständig implementiert sein soweit ich das verfolgt habe. Ich persönlich sehe den Mehrwert im Vergleich nicht und bin selber ohnehin nicht an einer drahtlosen Lösung interessiert.

Manfi

Habe seit einigen Tagen meinen 12K in Betrieb und habe mir nach Muster von mfischer-ffb ein FHEM device aufgesetzt. Ich bekomme auch Daten jedoch gibt es sporadisch Fehlermeldungen im Log:

2023.08.08 15:06:37 3: Modbus_Deye: Timeout waiting for a modbus response, current frame / read buffer: 0103020000, id 1, fCode 3,
request: id 1, read fc 3 h679, len 1, master device Deye, reading PV2_I (getUpdate for PV2_I len 1), queued 7.62 secs ago, sent 3.00 secs ago, error: Invalid checksum 0000 received. Calculated a131
2023.08.08 15:22:18 3: Modbus_Deye: Timeout waiting for a modbus response, read buffer empty,
request: id 1, read fc 3 h522, len 2, master device Deye, reading Netzbezug_Kwh (getUpdate for Netzbezug_Kwh len 2), queued 3.90 secs ago, sent 3.00 secs ago
2023.08.08 15:24:18 3: Modbus_Deye: Timeout waiting for a modbus response, read buffer empty,
request: id 1, read fc 3 h518, len 2, master device Deye, reading Akku_Entladen_kWh (getUpdate for Akku_Entladen_kWh len 2), queued 3.46 secs ago, sent 3.00 secs ago
2023.08.08 15:26:32 3: Modbus_Deye: Timeout waiting for a modbus response, read buffer empty,
request: id 1, read fc 3 h516, len 2, master device Deye, reading Akku_Laden_kWh (getUpdate for Akku_Laden_kWh len 2), queued 3.32 secs ago, sent 3.00 secs ago

woran kann das liegen?

MfG

Manfi
Hardware: Raspberry Pi2, SignalDuino 433, Sonoff/Tasmota, NodeMCU/ESPEasy, FS10

Manfi

#35
Um mir Einiges an Verkabelung zu sparen, habe ich jetzt die Kommunikation auf eine Serial-TCP Bridge mit ESP-01 (Tasmota) und RS485-TTL Adapter umgestellt. Es kommen zwar immer noch sporadisch timeouts, aber es läuft soweit. Deye is auf Slave Addresse 01 eingestellt. Spannungsversorgung von den RSD (12V) Klemmen im WR


Du darfst diesen Dateianhang nicht ansehen.
Hardware: Raspberry Pi2, SignalDuino 433, Sonoff/Tasmota, NodeMCU/ESPEasy, FS10

Gisbert

Zitat von: Jojo11 am 17 Juni 2023, 20:24:18Wenn du das auf einem ESP realisieren möchtest, gibt es doch schon dieses Projekt:
Deye ESP bridge
Da brauchste das Rad nicht neu zu erfinden  ;)

Hallo zusammen,

ich hab das oben zitierte Projekt umgesetzt. Ich kann damit sowohl den DEYE als auch den Akku (mit PACE-BMS) per MQTT abfragen, bzw. erhalte Werte. Es läuft nahezu perfekt, lediglich Fhem macht Schwierigkeiten, wenn ich neue Topics subskribiere. Ich benutze noch die alte Methode mit externem MQTT Broker (im nächsten Winter versuche ich die Umstellung auf MQTT2).

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Jojo11

Hallo zusammen,

hat zufällig schon jemand hier erfolgreich Register 146 (die time of use Tabelle) implementiert und beschrieben? Ich verstehe nicht wie ich die einzelnen Bits für die Wochentage unterscheiden muss  :-\

schöne Grüße
Jojo

HansiMaier2

Zitat von: Jojo11 am 18 Oktober 2023, 07:23:51hat zufällig schon jemand hier erfolgreich Register 146 (die time of use Tabelle) implementiert und beschrieben? Ich verstehe nicht wie ich die einzelnen Bits für die Wochentage unterscheiden muss  :-\

schöne Grüße
Jojo

Wochentage? Bei mir hat diese Time-of-use Tabelle 6 verschiedene Zeitbereiche EINES Tages.
Und da ich faul bin nutze ich nur den ersten davon, er geht von 00:00 bis 23:55.
Der zweite Zeitbereich von 23:55 bis 00:00, alle anderen von 00:00 bis 00:00 damit sind die praktisch disabled.
Um 23:45 stelle ich die Uhr im Deye auf 23:30, um 00:00 wieder auf die aktuelle Zeit.
Damit nutzt der Deye immer nur den ersten Zeitbereich, in dessen SOC Setting schreibe ich jede Minute den gewünschten Wert.
Läuft prima.

Jojo11

Meine ich ja. Im Modbus-Doc von Deye steht monday, tuesday, ... - keine Ahnung was die sich dabei gedacht haben wie man das nutzt.
Mir geht es auch nicht darum, wie man das am Deye am besten einstellt (da nutze ich ohnehin identische Werte in allen Intervallen), sondern wie ich das hier mit dem Modbus-Modul in FHEM richtig auslese und beschreibe  ;)
Hast Du das schon umgesetzt?

HansiMaier2

Nee, lese hiermit wg. Deye, bin aber mit Node-Red unterwegs.
Mit dem Register 146 mach ich allerdings gar nix.
OK: bisher noch keinen Zweirichtungszähler, also darf ich ohnehin noch nicht einspeisen.
Testweise hatte ich es mal an, lief problemlos ohne 146er-settings.

Aus der Beschreibung des 146er Registers werde ich auch nicht schlau, ich sehe auch keinen Use Case dahinter, nur an bestimmten Wochentagen einspeisen zu wollen.
Liest aber sich fast so, als könne man hier definieren, ob (für Peak shaving / valley filling) hier auch die Batterieenergie genutzt werden soll. Will ich eh nicht, möchte nur Solar-Überschuß einspeisen.

Jojo11

Ok, wenn jemand das schon umgesetzt hat, bin für Hinweise dankbar :)

Gisbert

Zitat von: Jojo11 am 18 Oktober 2023, 13:52:20Ok, wenn jemand das schon umgesetzt hat, bin für Hinweise dankbar :)
Wie wäre es hiermit?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Jojo11

Habe es zwischenzeitliche hinbekommen. Denkfehler meinerseits  ::) Die Endzeit vom Intervall n ist die Startzeit vom Intervall n+1. Ist im Deye auch so. Hatte ich übersehen.
WLAN (und somit ESP) versuche ich nach Möglichkeit zu vermeiden. Setze das lieber direkt in fhem um  :)

Marlon

In der Deye-Registerbeschreibung gibt es in der "5.3.03battery read only area" ja auch Daten für die Batterie ab Register 500.
Hat es schon jemand geschafft, auf diese Daten zuzugreifen, denn ab Register 500 gibt es ja die eigentlichen Deye-Daten mit allen Messwerten in der "5.2.03Read-only real-time attribute area."
Ich habe den Raspi zum Auslesen an die RS485-Buchse des Deye angeschlossen und kann den Deye auch immer nur unter Modbus-ID 1 ansprechen, egal welche Adresse im Deye eingestellt ist. Eine andere ID zum Zugriff auf die Batteriedaten ist daher auch keine Option. Möglicherweise bezieht sich diese Einstelladresse nur auf den Modbus am BMS-Anschluss.

Jojo11

Die Daten konnte ich auch noch nicht abfragen. Ich lese mein Seplos BMS aber direkt aus.

HansiMaier2

Ich lese über Node-Red bspw. Register 500 (Health) mit Modbus_Flex-Getter und den Argumenten
msg.payload = { value: 2, 'fc': 3, 'unitid': 1, 'address': 500, 'quantity': 1 } ;

Gisbert

Hallo zusammen,

ich wollte mal meine Erkenntnisse hier kundtun.

Ich nutze eine Installation, die von bagges auf GitHub (https://github.com/bagges/deye-esp32-bridge) veröffentlicht wurde, allerdings ohne Akku (davor hatte ich einen - und demnächst wieder einen). Da ich das Board also schon hatte, habe ich es weiterbenutzt. Im Deye hängt das Board am BMS-Ausgang.

Die genutzte Firmware ist ESPHome, was anscheinend eng mit Home Assistant verbandelt ist, weshalb ich mich mit letzterem auseinandergesetzt habe. Mein Ziel war es den Deye nicht nur auszulesen sondern auch schreibend darauf zuzugreifen. Die Motivation hierfür war, dass der Deye einen vglw. hohen Standy-Verbrauch hat, was unschön ist, wenn keine PV-Leistung (nachts) vorhanden ist und der Akku leer ist (also nachts im Winter). Wenn man auf "No Batt" umstellt, dann braucht der Deye statt 70~80 W nur 20 W. Das Schreiben wollte ich mit Home Assistant machen, aber ich habe eine viel schönere Lösung gefunden, die ohne Home Assistant auskommt und sehr gut in Fhem funktioniert.

1. Änderung: MQTT im ESPHome-Code aufgenommen
2. Änderung: Schreibbefehle im MQTT-Part aufgenommen (Publishen vom ESP32 aus geht auch)
mqtt:
  broker: !secret my_broker
  port: !secret my_port
  topic_prefix: "/DEYE"
  username: !secret my_username
  password: !secret my_password
  on_message:
    - topic: /DEYE/Batt/off
      then:
        - select.set:
            id: ${device_type}_Battery_Mode
            option: "No Batt"
        - mqtt.publish:
            topic: /DEYE/Batt/state
            payload: "Battery is OFF!"         
    - topic: /DEYE/Batt/on
      then:
        - select.set:
            id: ${device_type}_Battery_Mode
            option: "Use Batt V"
        - mqtt.publish:
            topic: /DEYE/Batt/state
            payload: "Battery is ON!"
3. Änderung: Passendes Register ergänzt
select:
#Register 111
#https://www.akkudoktor.net/forum/postid/169630/
#https://www.akkudoktor.net/forum/deye-wechselrichter/deye-nachts-ausschalten-wenn-akku-leer-ist-haesphome-ha-automatisierungen/paged/2/
#https://dy-support.org/community/allgemeine-fragen/idee-auto-shutdown-des-wr-wenn-battery-leer-und-kein-pv-bezug/
  - platform: modbus_controller
    optimistic: true
    use_write_multiple: true 
    modbus_controller_id: ${modbus_controller_id}
    id: ${device_type}_Battery_Mode
    name: "${device_type}-battery-mode"
    address: 111
    value_type: U_WORD
    optionsmap:
      "Use Batt V": 0
      "Use Batt %": 1
      "No Batt": 2

Hinweise:
Wenn man "Use Batt V" wählt, dann geht der Deye von einer Blei-Batterie aus. Deshalb muss man sich ggf. noch mit dem folgenden Register beschäftigen:
#Register 98: 1=Lithium, 0=Lead
#https://www.akkudoktor.net/forum/postid/169630/
  - platform: modbus_controller
    use_write_multiple: true
    modbus_controller_id: ${modbus_controller_id}
    name: ${device_type}-battery-typ
    register_type: holding
    address: 98
    bitmask: 1
    entity_category: config
    icon: "mdi:toggle-switch"

Wie oben im Code zu sehen ist, möchte ich von "Use Batt V" auf "No Batt" umstellen. Es geht, indem man das passende Topic zum ESP32 publisht, wobei der die Payload egal ist (ich sende eine "1"). Benutzung auf eigene Gefahr. Da ich derzeit keinen Akku dran hab, geht der Deye auf Störung, wenn ich "Use Batt V" einstelle.

Angehängt ist die gesamte yaml-Datei, die bei mir auf dem ESP32 läuft.

-----
Hallo HansiMaier2,
ZitatIch lese über Node-Red bspw. Register 500 (Health) mit Modbus_Flex-Getter und den Argumenten
msg.payload = { value: 2, 'fc': 3, 'unitid': 1, 'address': 500, 'quantity': 1 } ;
Kannst du hierzu mehr Informationen liefern? Ich würde es, wenn möglich im ESPHome-Code benutzen.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Tobias

auch den Deye kann man schon sauber mit meinem ModbusMQTTGateway auslesen und mit FHEM weitervearbeiten
https://github.com/tobiasfaust/SolaxModbusGateway/
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

peter.oehlmann@web.de

Hallo,
ich habe einen  deye-sun-5k-sg03lp1. Ich habe dank Eurer Vorarbeit am BMS Anschluss über die im Menu eingestellte Slave Adresse
Kommunikation mit dem Deye bekommen.  Es kommen soweit keine Fehlermeldungen , der Log läuft prima durch.
Aber leider sind alle Werte 0. Stelle ich eine andere Slave adresse ein hört die Kommunikation auf. Benutze ich einen anderen
Port geht auch nichts. Jetzt habe ich natürlich nur den einphasigen Deye , aber auch wenn die Modbusliste für diesen anders wäre,
müssten doch ein paar Werte kommen.
Firmware habe ich gerade vergeblich bei Deye gesucht. Muss man wohl anfragen.
Hat jemand die Kommunikation mit dem einphasigen Deye am laufen oder jemand eine Idee?
Gruß Peter


2024-03-18 19:12:27 ModbusAttr Mod_Deye WR_L2_W: 0
2024-03-18 19:12:27 ModbusAttr Mod_Deye WR_L3_W: 0
2024-03-18 19:12:27 ModbusAttr Mod_Deye PV1_W: 0
2024-03-18 19:12:27 ModbusAttr Mod_Deye PV2_W: 0
2024-03-18 19:12:27 ModbusAttr Mod_Deye PV1_V: 0
2024-03-18 19:12:28 ModbusAttr Mod_Deye PV1_A: 0
2024-03-18 19:12:28 ModbusAttr Mod_Deye PV2_V: 0
2024-03-18 19:12:28 ModbusAttr Mod_Deye PV2_A: 0
2024-03-18 19:12:29 ModbusAttr Mod_Deye Akku_Laden_kWh_Tag: 0
2024-03-18 19:12:29 ModbusAttr Mod_Deye Akku_Entladen_kWh_Tag: 0
2024-03-18 19:12:29 ModbusAttr Mod_Deye Akku_Laden_kWh: 0
2024-03-18 19:12:29 ModbusAttr Mod_Deye Akku_Entaden_kWh: 0
2024-03-18 19:12:29 ModbusAttr Mod_Deye Netzbezug_Kwh_Tag: 0
2024-03-18 19:12:29 ModbusAttr Mod_Deye Netzbezug_Kwh: 0
2024-03-18 19:12:29 ModbusAttr Mod_Deye PV_kWh_Tag: 0
2024-03-18 19:12:29 ModbusAttr Mod_Deye PV_kWh: 0
2024-03-18 19:12:29 ModbusAttr Mod_Deye Temp_DC: -100.0
2024-03-18 19:12:29 ModbusAttr Mod_Deye Temp_AC: -100.0
2024-03-18 19:12:30 ModbusAttr Mod_Deye Akku_V: 0.0
2024-03-18 19:12:30 ModbusAttr Mod_Deye Akku_SOC: 0
2024-03-18 19:12:30 ModbusAttr Mod_Deye Akku_A: 0
2024-03-18 19:12:30 ModbusAttr Mod_Deye L1: 0.0
2024-03-18 19:12:30 ModbusAttr Mod_Deye L2: 0.0
2024-03-18 19:12:30 ModbusAttr Mod_Deye L3: 0.0
2024-03-18 19:12:30 ModbusAttr Mod_Deye Netzfrequenz: 0.00
2024-03-18 19:12:30 ModbusAttr Mod_Deye Netzbezug_W: 0
2024-03-18 19:12:30 ModbusAttr Mod_Deye WR_L1_A: 0
2024-03-18 19:12:30 ModbusAttr Mod_Deye WR_L2_A: 0
2024-03-18 19:12:30 ModbusAttr Mod_Deye WR_L3_A: 0
2024-03-18 19:12:30 ModbusAttr Mod_Deye WR_L1_W: 0
2024-03-18 19:12:30 ModbusAttr Mod_Deye WR_L2_W: 0
2024-03-18 19:12:30 ModbusAttr Mod_Deye WR_L3_W: 0
2024-03-18 19:12:30 ModbusAttr Mod_Deye PV1_W: 0
2024-03-18 19:12:30 ModbusAttr Mod_Deye PV2_W: 0
2024-03-18 19:12:30 ModbusAttr Mod_Deye PV1_V: 0
2024-03-18 19:12:31 ModbusAttr Mod_Deye PV1_A: 0
2024-03-18 19:12:31 ModbusAttr Mod_Deye PV2_V: 0
2024-03-18 19:12:31 ModbusAttr Mod_Deye PV2_A: 0
2024-03-18 19:12:32 ModbusAttr Mod_Deye Akku_Laden_kWh_Tag: 0
2024-03-18 19:12:32 ModbusAttr Mod_Deye Akku_Entladen_kWh_Tag: 0
2024-03-18 19:12:32 ModbusAttr Mod_Deye Akku_Laden_kWh: 0
2024-03-18 19:12:32 ModbusAttr Mod_Deye Akku_Entaden_kWh: 0
2024-03-18 19:12:32 ModbusAttr Mod_Deye Netzbezug_Kwh_Tag: 0
2024-03-18 19:12:32 ModbusAttr Mod_Deye Netzbezug_Kwh: 0
2024-03-18 19:12:32 ModbusAttr Mod_Deye PV_kWh_Tag: 0
2024-03-18 19:12:32 ModbusAttr Mod_Deye PV_kWh: 0

HansiMaier2

Zitat von: peter.oehlmann@web.de am 18 März 2024, 19:16:57Ich habe dank Eurer Vorarbeit am BMS Anschluss über die im Menu eingestellte Slave Adresse
Kommunikation mit dem Deye bekommen. 

Wieso BMS Anschluß?
Für Modbus solltest Du an den Modbus-Anschluß.

Marlon

  • Mein FHEM-Raspi hängt auch am Modbus-Anschluss und und ich spreche den Deye über Modbus-ID 1 an. Nur diese ID hat bei mir funktioniert. Andere nutzen erfolgreich den BMS-Anschluss. Wenn man das BMS kommunikativ mit dem Deye koppelt, ist der BMS-Anschluss allerdings normalerweise dafür belegt.
  • Den Deye kann man auch nativ über FHEM Ein- und Ausschalten. Dafür ist kein anderes Modul nötig als zum Lesen. Ich wollte das allerdings nicht zeitgesteuert machen, sondern abhängig davon, wann mein Fronius PV-Wechselrichter genug PV-Leistung liefert, damit mehr als ca. 150 W eingespeist werden. Die Daten liegen bei mir allerdings nur auf der CCU3 vor und die müssten dann erst zum Raspi übertragen werden. Bisher habe ich nur die Übertragung von FHEM zur CCU3 realisiert. Hat jemand einen Tipp, wie der umgekehrte Weg am sinnvollsten zu realisieren ist?

peter.oehlmann@web.de

Ja , am BMS Anschluss. Der SUN-5K-SG03LP1-EU hat keinen Anschluss mit ModeBus. Am Port des BMS sind 1,2 und 7,8 für RS485
Kommunikation. Kommunikation ist da. Man sieht am Dongle RX und TX , wenn man eine andere Slave Adresse am Umrichter einstellt
endet die Kommunikation , zieht man das in FHEM nach legt die Kommunikation wieder los. Habe mal verbose5 eingestellt und sehe
folgendes:
request: id 1, read fc 3 h514, len 4, master device Mod_Deye, reading Akku_Laden_kWh_Tag (getUpdate for combined h514 len 1 Akku_Laden_kWh_Tag with h515 len 1 Akku_Entladen_kWh_Tag and h516 len 2 Akku_Laden_kWh)
2024.03.19 18:35:48 4: Mod_Deye: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h518, len 3, master device Mod_Deye, reading Akku_Entaden_kWh (getUpdate for combined h518 len 2 Akku_Entaden_kWh with h519 len 1 Akku_W and h520 len 1 Netzbezug_Kwh_Tag)
2024.03.19 18:35:48 4: Mod_Deye: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h522, len 2, master device Mod_Deye, reading Netzbezug_Kwh (getUpdate for Netzbezug_Kwh len 2)
2024.03.19 18:35:48 4: Mod_Deye: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h529, len 1, master device Mod_Deye, reading PV_kWh_Tag (getUpdate for PV_kWh_Tag len 1)
2024.03.19 18:35:48 4: Mod_Deye: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h534, len 2, master device Mod_Deye, reading PV_kWh (getUpdate for PV_kWh len 2)
2024.03.19 18:35:48 4: Mod_Deye: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h540, len 2, master device Mod_Deye, reading Temp_DC (getUpdate for combined h540 len 1 Temp_DC with h541 len 1 Temp_AC)
2024.03.19 18:35:48 4: Mod_Deye: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h587, len 5, master device Mod_Deye, reading Akku_V (getUpdate for combined h587 len 1 Akku_V with h588 len 1 Akku_SOC and h591 len 1 Akku_A)
2024.03.19 18:35:48 4: Mod_Deye: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h598, len 3, master device Mod_Deye, reading L1 (getUpdate for combined h598 len 1 L1 with h599 len 1 L2 and h600 len 1 L3)
2024.03.19 18:35:48 4: Mod_Deye: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h609, len 1, master device Mod_Deye, reading Netzfrequenz (getUpdate for Netzfrequenz len 1)
2024.03.19 18:35:48 4: Mod_Deye: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h625, len 1, master device Mod_Deye, reading Netzbezug_W (getUpdate for Netzbezug_W len 1)
2024.03.19 18:35:48 4: Mod_Deye: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h630, len 5, master device Mod_Deye, reading WR_L1_A (getUpdate for combined h630 len 1 WR_L1_A with h631 len 1 WR_L2_A and h632 len 1 WR_L3_A and h633 len 1 WR_L1_W and h634 len 1 WR_L2_W)
2024.03.19 18:35:48 4: Mod_Deye: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h635, len 1, master device Mod_Deye, reading WR_L3_W (getUpdate for WR_L3_W len 1)
2024.03.19 18:35:48 4: Mod_Deye: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h672, len 5, master device Mod_Deye, reading PV1_W (getUpdate for combined h672 len 1 PV1_W with h673 len 1 PV2_W and h676 len


Irgend eine Idee? Fehlermeldungen sehe ich eigentlich keine. Wenn ich wüsste , wo man die neueste Firmware herbekommt würd ich das mal probieren


peter.oehlmann@web.de

So , ich habe es jetzt. Der einphasige Deye SUN-5K-SG03LP1-EU sendet seine Daten auf anderen Adressen.
Habe jetzt mal unten zu sehendes drin und bekomme Werte. Formatierung muss ich noch schauen.Für die Weitergabe
an meine Wago SPS benutze ich Notify`s. Für die ganzen Werte muss ich dann aber auch undendlich Notify anlegen.
Lese jetzt schon stundenlang, finde nix einfacheres. Weis da jemand eine Abkürzung?

[/define MF162_NF notify Mod_Deye:Akku_SOC:.* set MF162 $EVTPART1]




define Mod_Deye ModbusAttr 3 5
setuuid Mod_Deye 65f5bf0a-f33f-7006-d8fc-763ca0b46d122e1d
attr Mod_Deye IODev Modbus_Deye
attr Mod_Deye dev-h-combine 5
attr Mod_Deye dev-h-defPoll 1
attr Mod_Deye dev-h-defUnpack n
attr Mod_Deye obj-h108-expr $val * 0.1
attr Mod_Deye obj-h108-reading PV_kWh_Tag
attr Mod_Deye obj-h109-expr $val * 0.1
attr Mod_Deye obj-h109-format %.1f
attr Mod_Deye obj-h109-reading PV1_V
attr Mod_Deye obj-h110-reading PV1_A
attr Mod_Deye obj-h164-expr $val * 0.01
attr Mod_Deye obj-h164-format %.1f
attr Mod_Deye obj-h164-reading Inverter_Current_L1
attr Mod_Deye obj-h169-reading total_grid_power_W
attr Mod_Deye obj-h173-reading Inverter_L1_Power
attr Mod_Deye obj-h175-reading total_power_W
attr Mod_Deye obj-h183-expr $val * 0.01
attr Mod_Deye obj-h183-format %.1f
attr Mod_Deye obj-h183-reading Akku_V
attr Mod_Deye obj-h184-format %.1f
attr Mod_Deye obj-h184-reading Akku_SOC
attr Mod_Deye obj-h186-reading PV1_W
attr Mod_Deye obj-h190-expr $val * 0.01
attr Mod_Deye obj-h190-reading Akku_W
attr Mod_Deye obj-h191-expr $val * 0.01
attr Mod_Deye obj-h191-reading Akku_A
attr Mod_Deye obj-h192-expr $val * 0.01
attr Mod_Deye obj-h192-reading Netzfrequenz_Hz
attr Mod_Deye obj-h70-expr $val * 0.1
attr Mod_Deye obj-h70-reading Akku_Laden_kWh_Tag
attr Mod_Deye obj-h71-expr $val * 0.1
attr Mod_Deye obj-h71-reading Akku_Entladen_kWh_Tag
attr Mod_Deye obj-h72-expr $val * 0.1
attr Mod_Deye obj-h72-len 2
attr Mod_Deye obj-h72-reading Akku_total_charge_kWh
attr Mod_Deye obj-h74-expr $val * 0.1
attr Mod_Deye obj-h74-len 2
attr Mod_Deye obj-h74-reading Akku_total_discharge_kWh
attr Mod_Deye obj-h76-expr $val * 0.1
attr Mod_Deye obj-h76-reading Netzbezug_Kwh_Tag
attr Mod_Deye obj-h90-expr ($val -1000) * 0.1
attr Mod_Deye obj-h90-format %.1f
attr Mod_Deye obj-h90-reading Temp_DC
attr Mod_Deye obj-h91-expr ($val -1000) * 0.1
attr Mod_Deye obj-h91-format %.1f
attr Mod_Deye obj-h91-reading Temp_AC
attr Mod_Deye obj-h96-expr $val * 0.1
attr Mod_Deye obj-h96-len 2
attr Mod_Deye obj-h96-reading PV_kWh
attr Mod_Deye room DEYE
attr Mod_Deye stateFormat Inverter_L1_Power
 ]

Jojo11

Kannst du nicht einfach ein einziges notify nehmen, welches bei jedem Wert-Update auslöst? Im notify rufst du eine sub auf und da rein packst du alle Befehle, die zur Weitergabe notwendig sind. Gibst halt jedes Mal alle Werte weiter.