Skip to content
Open
Changes from all 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
3 changes: 1 addition & 2 deletions packages/modules/devices/alpha_ess/alpha_ess/counter.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,9 @@ def update(self):
val * 10 for val in self.__tcp_client.read_holding_registers(
0x0010, [ModbusDataType.INT_32] * 2, unit=self.__modbus_id
)]
currents = [val / 10 for val in self.__tcp_client.read_holding_registers(
0x0017, [ModbusDataType.INT_16]*3, unit=self.__modbus_id)]
powers = self.__tcp_client.read_holding_registers(
0x001b, [ModbusDataType.INT_32]*3, unit=self.__modbus_id)
currents = [val / 230 for val in powers]
voltages = self.__tcp_client.read_holding_registers(
0x0014, [ModbusDataType.UINT_16]*3, unit=self.__modbus_id)
Comment on lines +50 to 52
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wenn die Spannungen bekannt sind, wird es genauer, wenn damit gerechnet wird, statt mit 230V.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Da powers die Wirkleistung ist, können die Ströme so nicht berechnet werden.
Ich vermute, dass der Faktor für die Ströme auch per Modbus ausgelesen werden kann.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In der Doku ist anscheinend doch fix der Faktor 0,1 angegeben. Wenn das wirklich nicht passt, sollten die Ströme anhand der Scheinleistungen berechnet werden.

apparent_powers = self.__tcp_client.read_holding_registers(0x002b, [ModbusDataType.INT_32]*3, unit=self.__modbus_id)

Copy link
Contributor Author

@ndrsnhs ndrsnhs Mar 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Der Faktor ist laut Doku fix auf 0,1. Wir haben bisher über Jahre 0,001 genutzt. Es sind aber Anlagen aufgetaucht wo es Probleme beim Lastmanagement gab, da der Faktor dort nicht stimmte.

Das Modul/ der Faktor wurde an die AlphaEss Doku angepasst. Jetzt tauchen aber vermehrt Anlagen auf bei denen das Lastmanagement die Ladung verhindert, da die Ströme zu hoch sind (ebenfalls falscher Faktor).
Ob das jetzt modell- oder firmwarespezifisch ist bleibt unklar.

Das mit der Leistung sehe ich ein, das konkrete Problem dabei ist aber, dass nur die Wirkleistung vorzeichenbehaftet ist. Scheinleistung und Blindleistung sind bei der Referenzanlage immer positiv.

Würdest du dann mit der Scheinleistung arbeiten und das Vorzeichen der Wirkleistung setzen?
Ansonsten wären die Ströme nämlich ebenfalls immer positiv...

Edit: Die zweite Anlage bei der der Faktor 0.001 statt 0.1 ist liefert für die Scheinleistung auf jeder Phase 0. Für die gesamte Scheinleistung ebenfalls 0.

frequency = self.__tcp_client.read_holding_registers(
Expand Down