Skip to content

AlphaEss: calculate currents from powers#3173

Open
ndrsnhs wants to merge 1 commit intoopenWB:masterfrom
ndrsnhs:alphaess-counter-currents
Open

AlphaEss: calculate currents from powers#3173
ndrsnhs wants to merge 1 commit intoopenWB:masterfrom
ndrsnhs:alphaess-counter-currents

Conversation

@ndrsnhs
Copy link
Contributor

@ndrsnhs ndrsnhs commented Mar 3, 2026

Der Faktor der Phasenströme wurde wegen Problemen im Lastmanagement (zu niedrige Ströme) angepasst. Die Anpassung führt aber bei anderen Anlagen zu Problemen (zu hohe Ströme).
AlphaEss Anlagen haben unterschiedliche Faktoren für die Ströme einzelner Phasen. Je nach Modell unterscheiden sich die Werte um den Faktor 10.
Eine Unterscheidung nach Firmware oder Modell ist aktuell nicht möglich. Workaround ist die Berechnung der Phasenströme aus der übermittelten Leistung einzelner Phasen.

Copy link
Contributor

@LKuemmel LKuemmel left a comment

Choose a reason for hiding this comment

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

Bitte in einem Kommentar festhalten, warum die Ströme entfernt wurden.

Comment on lines +50 to 52
currents = [val / 230 for val in powers]
voltages = self.__tcp_client.read_holding_registers(
0x0014, [ModbusDataType.UINT_16]*3, unit=self.__modbus_id)
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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants