-
Notifications
You must be signed in to change notification settings - Fork 107
Description
Bei meinem Deye SUN-20K-SG05LP3-EU-SM2 Wechselrichter, werden die mit Modbus ausgelesenen Live Werte richtig, aber im Diagramme fehlerhaft dargestellt, siehe:
Im Deye Modul werden folgende Register verarbeitet:
inverter.py
672/673 -> WR Power in Watt, Daten sekündlich
power = sum(self.client.read_holding_registers(672, [ModbusDataType.INT_16]*2, unit=unit)) * -1
power = power * 10
534 -> Gesamt Produktion Wechselrichter in 0,1kWh Schritten, Daten alle 10 min
exported = self.client.read_holding_registers(534, ModbusDataType.UINT_16, unit=unit) * 100
bat.py
590 -> Batterie Power in Watt (Negativ für laden, Positiv für entladen), Daten sekündlich
power = self.client.read_holding_registers(590, ModbusDataType.INT_16, unit=unit) * -1
power = power * 10
588 -> Batterie SOC in % Schritten
soc = self.client.read_holding_registers(588, ModbusDataType.INT_16, unit=unit)
516 -> Batterie Geladen in 0,1kWh Schritten, Daten alle 10 min
imported = self.client.read_holding_registers(516, ModbusDataType.UINT_16, unit=unit) * 100
518 -> Batterie Entladen in 0,1kWh Schritten, Daten alle 10 min
exported = self.client.read_holding_registers(518, ModbusDataType.UINT_16, unit=unit) * 100
Allerdings werden wie ich mit IOBroker nachvollziehen konnte, die Zählerstände, z.B. in folgenden Registern nur alle 10 min aktualisiert:
Register: 514,515,516,518,529,534
Ab hier wurde das Thema im Forum diskutiert:
https://forum.openwb.de/viewtopic.php?p=125264#p125264
Folgendes wurde vorgeschlagen:
Ja, für den Graph wird die Zählerstanddifferenz im 5 Minuten Takt genutzt.
Alternativ umstellen das openWB den Zählerstand generell selbst berechnet.
Zudem ist die Auflösung von 0,1kWh zu ungenau, das führt zu dem Sägezahnmuster. Wobei das nur ein optisches Problem ohne Auswirkungen auf die Regelung ist.
Das müsste sich jemand anschauen der das Modul geschrieben hat und vermutlich die ausgelesen Zählerstände durch berechnete ersetzen.
