SMA Bat Sunny Island control / combine bat modules Sunny Boy#3363
Conversation
There was a problem hiding this comment.
Pull request overview
Diese PR konsolidiert die bisher getrennten SMA Sunny Boy Batterie-Module (Hybrid/SBS/Tesvolt) in ein gemeinsames, versionsbasiertes Batterie-Modul und ergänzt/aktiviert die Speichersteuerung (Power-Limit) für SMA Sunny Island / Tripower X. Zusätzlich wird eine Datastore-Migrationsroutine eingeführt, um bestehende Konfigurationen auf die neue Struktur zu heben.
Changes:
- SMA Sunny Boy: Zusammenführung der Batterie-Implementierungen in ein einziges
bat-Modul mitversion(hybrid/sbs/tesvolt) und Entfernen der alten Spezial-Module. - SMA Sunny Island: Ergänzung der Batteriesteuerung via
set_power_limit()(externe Steuerung per Modbus). - Konfigurationsmigration: Datastore-Upgrade 123 zur automatischen Übernahme/Mapping alter SMA-Batterie-Komponenten-Typen.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/modules/devices/sma/sma_sunny_island/config.py | UI/Config-Bezeichnungen für Sunny Island / Tripower X angepasst. |
| packages/modules/devices/sma/sma_sunny_island/bat.py | Battery-Update refactored + neue Power-Limit-Steuerung (Modbus Register Writes). |
| packages/modules/devices/sma/sma_sunny_boy/device.py | Entfernt alte Battery-Component-Typen/Factories, nur noch ein bat-Typ. |
| packages/modules/devices/sma/sma_sunny_boy/config.py | Neues version-Feld für Batterie-Konfiguration; entfernt hybrid aus Inverter-Config. |
| packages/modules/devices/sma/sma_sunny_boy/bat.py | Vereinheitlichte Batterie-Logik für hybrid/sbs/tesvolt + (teilweise) Power-Limit-Steuerung. |
| packages/modules/devices/sma/sma_sunny_boy/inverter.py | Refactor: read() entfernt, Vorzeichenbehandlung umgestellt; Store-Write direkt in update(). |
| packages/modules/devices/sma/sma_sunny_boy/bat_version.py | Neue Enum zur Auswahl der Batterie-Variante. |
| packages/modules/devices/sma/sma_sunny_boy/bat_tesvolt.py | Entfernt (Logik in unified bat.py aufgegangen). |
| packages/modules/devices/sma/sma_sunny_boy/bat_smart_energy.py | Entfernt (Logik in unified bat.py aufgegangen). |
| packages/helpermodules/update_config.py | Datastore-Version auf 123 + neue Migration für SMA Sunny Boy Battery-Module. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Änderungen von Copilot umgesetzt, nur mit dem Fehler beim Pytest kann ich leider nichts anfangen, |
|
Alle Dateien in sma/sma_sunny_boy/bat.py werden als Datei einer Komponente betrachtet. Die Funktion, die die Auswahlliste generiert, hat versucht, aus bat_version.py eine Komponente zu parsen. |
UI Änderungen: openWB/openwb-ui-settings#976
Es gab bisher 3 verschiedene Batterie Module für den sma_sunny_boy (SBS, Hybrid und Tesvolt), dieser PR bringt alles zusammen und macht nur noch eine Auswahl nötig, so wird der Code deutlich vereinfacht und kombiniert und so ist auch eine Speichersteuerung für Sunny Boy Storage möglich. Einzig ein Tesvolt Speicher ist damit nicht steuerbar.
Zudem enthält es die getestete und funktionierende Speichersteuerung für den Sunny Island. Der Feature Branch dafür kann gelöscht werden: https://github.com/openWB/core/tree/feature_bat_control_sunny_island
Eine Config Update Routine ist auch enthalten, bisher ungetestet, sollte aber die Config eigentlich sauber updaten.