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 | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

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 | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

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 | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

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 | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

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 | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

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 | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

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.

eckibrecki

Hat jemand nochmal den Ansatz über WLAN und ModbusAttr über TCP versucht?

e_brandt

Hallo, es hat denn jemand geschafft den Deye per Modbus in den Standby mode zu versetzen bzw das auf no Batterie zu setzen? Ich wäre über eine kleine Hilfe sehr dankbar.

Gisbert

Hallo e_brandt,

weiter oben hatte ich schon mal meinen Stand vom März d.J. kundgetan: https://forum.fhem.de/index.php?topic=133103.msg1307119#msg1307119.
Mittlerweile läuft es perfekt. Ich hab nachts ca. 14W Verbrauch beim Deye.

Ich versuche morgen eine neue Zusammenfassung zu schreiben.

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

e_brandt

#58
Guten Morgen Gisbert, vielen Dank schon mal für deine Mühe, du machst das jedoch über esphome oder? Ich wollte das eigentlich direkt über Fhem - modbus machen ohne esp und mqtt.

Auslesen klappt auch hervorragend, bis auf das Register vom Generator Eingang. Da hängt noch ein kleiner Wechselrichter dran. Wenn die Sonne aufgeht bekommt ich im Plott ganz merkwürdige ausschläge siehe Bild.

Gisbert

Hallo e_brandt,

kein Problem, jeder kann das machen, was er für richtig findet.
Dann warte ich ab und erstelle erst dann eine Zusammenfassung meiner perfekt funktionierenden Lösung, falls bei jemandem die Voraussetzungen mit ESPHome und ggf. MQTT (nicht zwingend notwendig) vorhanden sind.

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

e_brandt

Zitat von: e_brandt am 21 November 2024, 05:59:57Guten Morgen Gisbert, vielen Dank schon mal für deine Mühe, du machst das jedoch über esphome oder? Ich wollte das eigentlich direkt über Fhem - modbus machen ohne esp und mqtt.

Auslesen klappt auch hervorragend, bis auf das Register vom Generator Eingang. Da hängt noch ein kleiner Wechselrichter dran. Wenn die Sonne aufgeht bekommt ich im Plott ganz merkwürdige ausschläge siehe Bild.

Also das auslesen des Generator Registers klapp jetzt auch.Es mussten noch die Atribute richtig gestzt werden da der Wert über 2 Register kommt.



Jetzt würde ich auch gern die Batterie zwecks Strom sparen bei diesem bescheidenem Wetter abschalten. Kann mir eventuell jamand sagen wie der Befehl zum beschreiben des Register 111 zum Batterie abschalten auszusehen hat?



Gisbert

Zitat von: e_brandt am 12 Dezember 2024, 21:42:20Also das auslesen des Generator Registers klapp jetzt auch.Es mussten noch die Atribute richtig gestzt werden da der Wert über 2 Register kommt.

Hallo e_brandt,

ich schalte den Micro-Inverter per MQTT und da ist meines Wissens nur ein Register involviert. Deshalb bin ich etwas verwirrt bei deinem Hinweis auf 2 Register. Kannst du deinen Code / Konstruktion posten, damit ich es evtl. bei mir besser machen kann, als das, was ich bisher habe? Die URL <auch.es> führt leider ins nichts.

Ich nehme an, dass du für das Abschalten der Batterie keinen MQTT-Code gebrauchen kannst? Ich kann dich auf jeden Fall ermuntern, nachts und bei leerer Batterie (hierzulande auch "Winter" genannt, dann aber tags und nachts ;D) die Batterie wegzuschalten. Ich spare um die 70W, d.h. über Nacht gut gerne etwas mehr als 1 kWh pro Tag.

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

e_brandt

Zitat von: Gisbert am 13 Dezember 2024, 10:58:18
Zitat von: e_brandt am 12 Dezember 2024, 21:42:20Also das auslesen des Generator Registers klapp jetzt auch.Es mussten noch die Atribute richtig gestzt werden da der Wert über 2 Register kommt.

Hallo e_brandt,

ich schalte den Micro-Inverter per MQTT und da ist meines Wissens nur ein Register involviert. Deshalb bin ich etwas verwirrt bei deinem Hinweis auf 2 Register. Kannst du deinen Code / Konstruktion posten, damit ich es evtl. bei mir besser machen kann, als das, was ich bisher habe? Die URL <auch.es> führt leider ins nichts.

Ich nehme an, dass du für das Abschalten der Batterie keinen MQTT-Code gebrauchen kannst? Ich kann dich auf jeden Fall ermuntern, nachts und bei leerer Batterie (hierzulande auch "Winter" genannt, dann aber tags und nachts ;D) die Batterie wegzuschalten. Ich spare um die 70W, d.h. über Nacht gut gerne etwas mehr als 1 kWh pro Tag.

Viele Grüße Gisbert

Hallo Gisbert, ich habe mich da eventuell etwas blöd ausgedrückt. Es ging darum das ich ja Probleme hatte das Register für den Micro Wechselrichter richtig auszulesen. Ich glaube das war Register 667 oder so. Das besteht aus einem low und hi word in einem 2. Register.

Das abschalten der Batterie ist wohl nur ein Register, die 111. Und das wollte ich mit einem set Befehl umschalten.

e_brandt

Ich bin etwas weiter gekommen mit meinem Register 111 schreiben, ist mir fast ein bisschen peinlich... Hatte vergessen das obj_111 anzulegen. Jetzt kann ich zumindest den Set befehl losschicken. Leider kommt wenn ich eine null sende die Fehlermeldung: Timeout in Readanswer.

Nun weiß ich mal wieder nicht weiter :'(


Wäre ich super wenn jemand einen tip hat was ich da noch machen muss.

Gisbert

Hallo e_brandt,

wenn ich dich nur zu MQTT überreden könnte, dann hättest du schon längst eine Lösung.

Bei der Batterie sind in Wirklichkeit 2 Register involviert: 98 und 111.
Ich hab mir dazu folgendes notiert und im yaml-File definiert:
select:
#Register 98, code von @tsg
#Wenn am Wechselrichter Lithium (BMS) ausgewählt wurde, muss dieses Register auf 1 (=Lithium) stehen, bei 0 stünde es auf Blei.
#https://www.akkudoktor.net/forum/deye-wechselrichter/home-assistant-einbindung-vom-deye-12k-und-baugleiche-sunsyk-solarman/paged/24/
#Beim Umschalten von Use V auf No Bat steht das Register 98 immer auf 0, also auf Lead Battery.
# 98 - 1 / 111 - 0 -> Lithium (BMS)
# 98 - 0 / 111 - 0 -> Use V
# 98 - 0 / 111 - 1 -> Use %
# 98 - 0 / 111 - 2 -> No Bat
  - platform: modbus_controller
    use_write_multiple: true
    modbus_controller_id: ${modbus_controller_id}
    name: ${device_type}-battery-typ
    id: ${device_type}_Battery_Typ
    address: 98
    value_type: U_WORD
    optionsmap:
      "Lead Battery": 0
      "Lithium Battery": 1

Bei der ganzen Aktion (An- und Abschalten der Batterie per Modbus und in Kombination mit einer Einstellung am Deye-Display) ist es durchaus möglich, den Typ als Blei-Akku zu definieren, was für eine LFP-Batterie wohl ziemlich blöde wäre. Man sollte schon sehr genau wissen, was man tut, bevor man den Akku grillt. Das BMS wird wohl einschreiten, ist aber trotzdem nicht schön.

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

e_brandt

Habe es hinbekommen, dank jojo11ś Beitrag hier: attr Deye dev-h-write 16 # 10H
Keine Ahnung was das bewirkt aber es funktioniert.Somit kann ich weiter spielen.

@ Gisbert, danke für deine Hilfe, im Moment wird ja auch wenn der WR auf Blei steht nichts passieren  :))

Werde das mal testen mit dem Register 98. Ich meine irgendwo was gelesen zu haben das das Firmwareabhängig ist und es bei manchen reicht das Reg 11 zu ändern.


e_brandt

Darf ich fragen nach welchen Kriterien ihr eure Wechselrichter in den Standby schaltet?

Ich dachte jetzt erstmal so zum testen von 1.11- 1.3 wenn dunkel und Akku unter 30 % oder so.

Gisbert

Hallo e_brandt,

ich nutze folgende Definition, die auch eine PV-Prognose einsetzt. Falls Sonne in Sicht ist, entlade ich bis SOC 10%, ansonsten bis 30%.

defmod Deye_Batt_MaxDischarge DOIF ([JK_BMS:capacity_remaining] <= 10) \
(set Deye_Inverter:FILTER=MaxBattDischarge!=0 MaxBattDischarge 0) \
DOELSEIF ([JK_BMS:capacity_remaining] <= 30 and \
(([?{sunset_abs(-3600)}-23:59] and [?mySolarForecast:Tomorrow_PVforecast:d] < ([?mySolarForecast:Tomorrow_ConsumptionForecast:d]-5000)) or \
([?mySolarForecast:RestOfDayPVforecast:d] < ([?mySolarForecast:RestOfDayConsumptionForecast:d]-5000)))) \
(set Deye_Inverter:FILTER=MaxBattDischarge!=0 MaxBattDischarge 0) \
DOELSEIF ([JK_BMS:capacity_remaining] >= 15 and \
(([?{sunset_abs(-3600)}-23:59] and [?mySolarForecast:Tomorrow_PVforecast:d] >= ([?mySolarForecast:Tomorrow_ConsumptionForecast:d]-5000)) or \
([?mySolarForecast:RestOfDayPVforecast:d] >= ([?mySolarForecast:RestOfDayConsumptionForecast:d]-5000)))) \
(set Deye_Inverter:FILTER=MaxBattDischarge!=100 MaxBattDischarge 100) \
DOELSEIF ([JK_BMS:capacity_remaining] >= 35) \
(set Deye_Inverter:FILTER=MaxBattDischarge!=100 MaxBattDischarge 100)
Das funktioniert zuverlässig.

Den Akku schalte ich dann so ab und an:
defmod Deye_Batt_onoff DOIF (([Lichtstaerke:Lichtstaerke.Ostseite.Lux.Av] > 175 or [Lichtstaerke.West:Lichtstaerke.Westseite.Lux.Av] > 345) \
or [Deye_Inverter:MaxBattDischarge] > 0) \
(set Deye_Inverter:FILTER=BattV!=1 BattV 1) \
DOELSEIF (!isday and [Deye_Inverter:Deye_Growatt_power] == 0 and [?Deye_Inverter:MaxBattDischarge] == 0) \
(set Deye_Inverter:FILTER=BattV!=0 BattV 0)
Zum Einschalten nutze ich schon vorhandene Lichtsensoren. Die Werte sind so gewählt, dass ca. 70W erreicht werden, die in etwa dem Eigenverbrauch des DEYE entsprechen.

Ohne Akku liefert der DEYE deutlich später seine Leistung, d.h. es ist schon wichtig den Akku rechtzeitig wieder zu zuschalten.

Mit dieser Steuerung erhalte ich alle Daten vom DEYE, nachts dann nur mit einem Eigenverbrauch von 10~15W Eigenverbrauch.

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

Gisbert

Hallo zusammen,

ich hab die Ab/Zuschaltung des Akkus abgeändert, da es durch das PV-Forecast-Modul beim Datumswechsel kurzfristig zum Zuschalten, ein paar Sekunden später wieder zum Abschalten des Akkus kam.

Entfernt:
or [Deye_Inverter:MaxBattDischarge] > 0

defmod Deye_Batt_onoff DOIF ([Lichtstaerke:Lichtstaerke.Ostseite.Lux.Av] > 175 or [Lichtstaerke.West:Lichtstaerke.Westseite.Lux.Av] > 345) \
(set Deye_Inverter:FILTER=BattV!=1 BattV 1) \
DOELSEIF (!isday and [Deye_Inverter:Deye_Growatt_power] == 0 [s]and [?Deye_Inverter:MaxBattDischarge] == 0[/s]) \
(set Deye_Inverter:FILTER=BattV!=0 BattV 0)

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

Marlon

#69
Hallo Gisbert,

mit der Anregung, über Register 111 BattMode die Batterie, statt mit Register 80 (EnableSwitch) den Deye12K abzuschalten, bin ich nach über einem Jahr endlich die Nachtverbrauchsabsenkung des Deye-Verbrauchs angegangen. Während bei Abschaltung über Register 80 der Deye den undokumentierten F19 meldet und alle Relais abschaltet, geht er bei Abschaltung der Batterie über Register 111 in den nach Anleitung korrekten F13 Fault und lässt nur das Grid-Relais ein. Dadurch stehen alle gemessenen Leistungen zur Verfügung und mit Kenntnis der Netzwirkleistung kann die Batterie eingeschaltet werden, sobald eine bestimmte Einspeiseleistung erreicht wird.
Durch den Hinweis, dass auch Register 98 betroffen ist, das zwischen Lithium (1) und Blei (0) wählt, wurde ich etwas verunsichert. Dies war aber unbegründet. Bei meinem Deye12K stand Register 98 auf 1 (Lithium) und Register 111 auf 1, obwohl ich das BMS mit dem Deye gekoppelt habe. Zum Abschalten der Batterie setze ich Register 111 auf 2 und zum Einschalten wieder auf 1 und das funktioniert problemlos. Register 98 bleibt durchgehend auf 1 und wird auch nicht verändert.
Aufgefallen ist mir außerdem, dass die vom Deye12K über die CT-Klemmen ermittelte Netzwirkleistung nachts ohne Batterie etwa 28 W geringer ist als die von Homematic direkt vom Zähler erhaltene Netzwirkleistung. Die Messwerte der CT-Klemmen scheinen ungenau skaliert zu sein, denn wenn der Deye die Netzwirkleistung zu 0 regelt, stimmen beide Messwerte gemittelt überein.

Zitat von: Gisbert am 13 Dezember 2024, 20:55:18Bei der Batterie sind in Wirklichkeit 2 Register involviert: 98 und 111.
Ich hab mir dazu folgendes notiert und im yaml-File definiert:
Code Auswählen Erweitern
select:
#Register 98, code von @tsg
#Wenn am Wechselrichter Lithium (BMS) ausgewählt wurde, muss dieses Register auf 1 (=Lithium) stehen, bei 0 stünde es auf Blei.
#https://www.akkudoktor.net/forum/deye-wechselrichter/home-assistant-einbindung-vom-deye-12k-und-baugleiche-sunsyk-solarman/paged/24/
#Beim Umschalten von Use V auf No Bat steht das Register 98 immer auf 0, also auf Lead Battery.
# 98 - 1 / 111 - 0 -> Lithium (BMS)
# 98 - 0 / 111 - 0 -> Use V
# 98 - 0 / 111 - 1 -> Use %
# 98 - 0 / 111 - 2 -> No Bat

e_brandt

Du musst nur aufpassen das es draußen wirklich dunkel ist. Ansonsten gibt es auch Probleme mit der Messung in der Nacht. Er misst dann nicht immer alle Phasen. Ich muss das Register 98 schalten sonst steht der Wr morgens auf Bleibatterie.

Marlon

Die Änderung des Registers 98 erfolgt vermutlich nur, wenn man das BMS der Batterie nicht mit dem Deye gekoppelt hat, sondern rein spannungsbasiert fährt. Aktuell habe ich zwei Batterien über Seplos-BMS mit dem Deye verbunden. Der Deye verwendet bei diesem Szenario allerdings falsche Maximalleistungswerte, so dass bei hoher PV-Leistung oder hoher Last-Leistung nicht die gesamte Leistung durch die Batterie abgedeckt wird, was ein reines Softwareproblem ist. Der Deye-Support schob den Fehler allerdings auf das Seplos-BMS, so dass ich wahrscheinlich irgendwann auch die Batterien rein Spannungsgesteuert mit dem Deye koppeln werde.

Ich habe zwei verschiedene Varianten realisiert, wie Deye und Batterie geschaltet werden:
  • Nur über Batterieabschaltung mit Register 111
    • Register 111 geht auf 2 (Batterie wird abgeschaltet), wenn die Sonne nicht scheint auf Basis von sunrise_abs("HORIZON=4") und sunset_abs("HORIZON=4")
      und
      |BattLeistungW| < 100
      und
      ((SOC <= 10) oder ((SOC <= 30) und (NetzWirkleistungW > 100))
      Das musste ich für den zuverlässigen Betrieb so kompliziert machen, weil der SOC bei entladener Batterie im Winter, wenn sie nie voll wird, oft mit zunehmender Zahl der Lade/Entladezyklen ansteigt.
    • Register 111 geht wieder auf 1 (Batterie wird eingeschaltet), wenn die Sonne scheint auf Basis von sunrise_abs("HORIZON=4") und sunset_abs("HORIZON=4")
      und
      NetzWirkleistung < -50
  • Dreistufig über Kombination von Deyeabschaltung mit Register 80 und Batterieabschaltung mit Register 111
    • Register 80 geht auf 0 (Deye wird abgeschaltet), wenn die Sonne nicht scheint auf Basis von sunrise_abs("HORIZON=4") und sunset_abs("HORIZON=4")
      und
      |BattLeistungW| < 100
      und
      ((SOC <= 10) oder ((SOC <= 30) und (NetzWirkleistungW > 100))
    • Register 80 geht wieder auf 1 (Deye wird eingeschaltet) und Register 111 geht auf 2 (Batterie wird abgeschaltet), wenn die Sonne scheint auf Basis von sunrise_abs("HORIZON=4") und sunset_abs("HORIZON=4")
    • Register 111 geht wieder auf 1 (Batterie wird eingeschaltet), wenn die Sonne scheint auf Basis von sunrise_abs("HORIZON=4") und sunset_abs("HORIZON=4")
      und
      NetzWirkleistung < -50
Ich muss nun erst mal mehrere Nächte messen, wie viel Energie Variante 2 gegenüber Variante 1 spart.

tonobo

Hey, kann man die ganze internen Regulatoren deaktivieren, und dem deye WR einfach per Modbus sagen 10KW einspeisen, 10KW laden? Vermutlich könnte man ähnliches erreichen indem man ein Grid Meter emuliert, quasi immer den setpoint auf 0 stellen und einfach den grid eingang entsprechend modifizieren. Noch eine weitere fage, wisst ihr wie die abtastrate vom grid meter ist?

Jojo11

#73
Kurze Frage in die Runde: Meine Gesamt-PV-Erzeugung (Register 534) weicht extrem vom Wert im Deye bzw. in Solarman ab. Die Werte pro Tag (mit statistics-Modul) passen aber. 534 habe ich wie folgt eingebunden (wie im ersten post hier):

attr Mod_Deye obj-h534-expr $val * 0.1
attr Mod_Deye obj-h534-len 2
attr Mod_Deye obj-h534-reading PV_kWh

Ist das Register evtl. anders auszulesen? Passen die Werte bei Euch mit denen im Deye überein?

[Update]: Mit revRegs geht es. Muss bei einigen Registern gemacht werden, sonst passen die Werte nicht.


e_brandt

Zitat von: Jojo11 am 11 Februar 2025, 17:53:25Kurze Frage in die Runde: Meine Gesamt-PV-Erzeugung (Register 534) weicht extrem vom Wert im Deye bzw. in Solarman ab. Die Werte pro Tag (mit statistics-Modul) passen aber. 534 habe ich wie folgt eingebunden (wie im ersten post hier):

attr Mod_Deye obj-h534-expr $val * 0.1
attr Mod_Deye obj-h534-len 2
attr Mod_Deye obj-h534-reading PV_kWh

Ist das Register evtl. anders auszulesen? Passen die Werte bei Euch mit denen im Deye überein?

[Update]: Mit revRegs geht es. Muss bei einigen Registern gemacht werden, sonst passen die Werte nicht.


bei mir funktioniert das auch nicht...

Jojo11

mit

attr Deye obj-h534-expr $val * 0.1
attr Deye obj-h534-reading Total_PV_power_kWh
attr Deye obj-h534-revRegs 1
attr Deye obj-h534-type signed long big

klappt es. Nur bei Gesamt-Batterie-Entladung und Gesamt-Grid-Bezug habe ich noch eine Differenz zwischen solarman und fhem, allerdings auch zwischen Deye und solarman. Muss ich nochmal schauen, woran das liegt.