Skip to content
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions packages/modules/devices/sma/sma_sunny_boy/inverter.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,13 @@
power_total = self.tcp_client.read_holding_registers(40084, ModbusDataType.INT_16, unit=unit) * 10
# Gesamtertrag (Wh) [E-Total] SF=2!
energy = self.tcp_client.read_holding_registers(40094, ModbusDataType.UINT_32, unit=unit) * 100
# Power
dc_power = self.tcp_client.read_holding_registers(40101, ModbusDataType.UINT_32, unit=unit) * 100
# Phasenstöme
currents = [self.tcp_client.read_holding_registers(r, ModbusDataType.INT_32, unit=unit) / -1000
for r in (30977, 30979, 30981)]
elif self.component_config.configuration.version == SmaInverterVersion.datamanager:
# AC Wirkleistung über alle Phasen (W) [Pac]

Check failure on line 75 in packages/modules/devices/sma/sma_sunny_boy/inverter.py

View workflow job for this annotation

GitHub Actions / build

continuation line over-indented for visual indent
power_total = self.tcp_client.read_holding_registers(30775, ModbusDataType.INT_32, unit=unit)
# Total eingespeiste Energie auf allen Außenleitern (Wh) [E-Total]
energy = self.tcp_client.read_holding_registers(30513, ModbusDataType.UINT_64, unit=unit)
Expand All @@ -76,6 +80,9 @@
# daher ist wie bei SmaInverterVersion.default keine Prüfung auf DC-Leistung notwendig.
# Aus kompatibilitätsgründen wird dc_power auf den Wert der AC-Wirkleistung gesetzt.
dc_power = power_total
# Der Data-Manager/Cluster-Controller bietet keine Modbus-Register mit Phasenströmen an.
# Daher die Phasenströme berechnen (es wird davon ausgegangen, dass eine symmetrische Erzeugung erfolgt)
currents = [(power_total / 3 / 230) * -1] * 3
else:
raise ValueError("Unbekannte Version "+str(self.component_config.configuration.version))
if power_total == self.SMA_INT32_NAN or power_total == self.SMA_NAN:
Expand Down
Loading