Eine Community-Integration für Home Assistant für Dyness Batteriespeicher über die Dyness Cloud API.
Hinweis / Note: Diese Integration nutzt die Dyness Open API (Cloud). Eine Internetverbindung ist erforderlich. Daten werden alle 5 Minuten aktualisiert (API-Limit). This integration uses the Dyness Open API (Cloud). An internet connection is required. Data is updated every 5 minutes (API limit).
| Gerät | Status |
|---|---|
| Dyness Cygni 10.0HS | ✅ Getestet |
| Dyness DL5.0C | ✅ Getestet |
| Dyness Junior Box | ✅ Getestet |
| Dyness Powerbox G2 | ✅ Getestet (Grundfunktionen) |
| Dyness PowerBox Pro | ✅ Getestet |
| Dyness PowerHaus | ✅ Getestet |
| Dyness Stack100 | ✅ Getestet |
| Dyness Tower Pro TP7 | ✅ Getestet |
| Dyness Tower T14 | ✅ Getestet |
| Andere Dyness-Modelle mit WiFi-Dongle |
Die Integration erkennt das Gerät automatisch über die API und registriert nur die Sensoren, die für das jeweilige Gerät verfügbar sind.
Die folgenden Sensoren sind für alle Geräte verfügbar:
| Sensor | Einheit |
|---|---|
| Ladestand (SOC) | % |
| Leistung | W |
| Strom | A |
| Batteriestatus (Charging / Discharging / Standby) | – |
Weitere Sensoren werden automatisch aktiviert, sofern das Gerät die Daten liefert:
| Sensor | Einheit | Junior Box | Tower T14 / TP7 | DL5.0C / Stack100 / PowerBox Pro | PowerHaus | Powerbox G2 |
|---|---|---|---|---|---|---|
| Pack-Spannung | V | ✅ | – | ✅ | ✅ | ✅ |
| Batteriezustand (SOH) | % | ✅ | ✅ | ✅ | ✅ | – |
| Temperatur Max | °C | ✅ | ✅ | ✅ | ✅ | ✅ |
| Temperatur Min | °C | ✅ | ✅ | ✅ | ✅ | ✅ |
| Zellspannung Max | V | ✅ | ✅ | ✅ | ✅ | ✅ |
| Zellspannung Min | V | ✅ | ✅ | ✅ | ✅ | ✅ |
| Zellspannungsdifferenz | mV | ✅ | ✅ | ✅ | ✅ | ✅ |
| Nutzbare Kapazität | kWh | ✅ | ✅ | ✅ | ✅ | ✅ |
| Verbleibende Energie | kWh | ✅ | ✅ | ✅ | ✅ | ✅ |
| Ladezyklen | – | – | ✅ | ✅ | ✅ | ✅ |
| Heute geladen | kWh | ✅ | – | ✅ | – | – |
| Heute entladen | kWh | ✅ | – | ✅ | – | – |
| Gesamt geladen | kWh | ✅ | ✅ | ✅ | – | – |
| Gesamt entladen | kWh | ✅ | – | ✅ | – | – |
| MOSFET-Temperatur | °C | ✅ | – | ✅ | ✅ | – |
| BMS-Temperatur Max | °C | ✅ | – | ✅ | ✅ | – |
| BMS-Temperatur Min | °C | ✅ | – | ✅ | ✅ | – |
| Alarmstatus | – | ✅ | ✅ | ✅ | ✅ | – |
Geräte mit mehreren Modulen (DL5.0C, Stack100, PowerBox Pro, Tower T14, Tower Pro TP7) erstellen automatisch ein eigenes Device pro Modul:
| Sensor | Einheit | DL5.0C / Stack100 / PowerBox Pro | Tower T14 / TP7 |
|---|---|---|---|
| Ladestand Modul (SOC) | % | ✅ | – ¹ |
| Batteriezustand Modul (SOH) | % | ✅ | – ¹ |
| Modul-Spannung | V | ✅ | – ¹ |
| Modul-Strom | A | ✅ | – ¹ |
| Ladezyklen Modul | – | ✅ | – ¹ |
| Zellspannung Max | V | ✅ | ✅ |
| Zellspannung Min | V | ✅ | ✅ |
| Zellspannungsdifferenz | mV | ✅ | ✅ |
| Zelltemperatur 1 | °C | ✅ | ✅ |
| Zelltemperatur 2 | °C | ✅ | ✅ |
| Zelle 01 – 16 (DL5.0C) | V | ✅ | – |
| Zelle 01 – 30 (Tower T14 / TP7) | V | – | ✅ |
¹ Tower T14 / TP7: SOC, SOH, Spannung, Strom und Zyklen sind nur auf Systemebene (Haupt-Device) verfügbar — die API liefert diese Werte nicht pro Modul.
Einzelne Zellspannungen sind standardmäßig deaktiviert und können in HA unter Einstellungen → Geräte & Dienste → Dyness Battery → Gerät → Entitäten aktiviert werden.
| Sensor | Beschreibung |
|---|---|
| Letzte Aktualisierung | Zeitstempel der letzten Datenübertragung |
| Batteriekapazität | Installierte Kapazität laut API |
| Verbindungsstatus | Online / Offline |
| Betriebsstatus | z.B. RunMode, StandBy, Charging |
| Firmware-Version | Aktuelle Firmware |
- Dyness Batterie ist bereits in der Dyness App eingerichtet und online
- Öffne Dyness Benutzer Smart Monitoring https://ems.dyness.com/login
- Melde dich mit deinem Dyness-Konto an (dasselbe wie in der App)
- Wähle im Menü links Entwicklerzentrum → API-Verwaltung
- Klicke auf API Key erstellen
- Notiere App ID und App Secret – das Secret wird nur einmal angezeigt!
- Öffne HACS in Home Assistant
- Klicke auf Integrationen → ⋮ → Benutzerdefinierte Repositories
- Repository-URL:
https://github.com/shopf/dyness_battery— Kategorie: Integration - Suche nach Dyness Battery und installiere
- Home Assistant neu starten
- Lade die ZIP von Releases herunter
- Entpacke und kopiere
custom_components/dyness_battery/nachconfig/custom_components/ - Home Assistant neu starten
- Einstellungen → Geräte & Dienste → Integration hinzufügen
- Nach Dyness Battery suchen
- Nur API ID und API Secret eintragen — das Gerät wird automatisch erkannt
Mehrere Batterien: Bei mehreren Batterien auf einem Account einfach die Integration erneut hinzufügen — dieselben API-Zugangsdaten, das zweite Gerät wird separat erkannt.
| Module | Intervall |
|---|---|
| 1–2 | 5 Minuten |
| 3–4 | 10 Minuten |
| 5+ | 15 Minuten |
- Nur Monitoring – Steuerung (Ladezeiten, SOC-Grenzen) wird von der API nicht unterstützt
- Internetabhängig – Keine lokale Verbindung möglich
Du hast ein anderes Dyness-Modell und möchtest es hinzufügen lassen? Erstelle ein Issue mit der Ausgabe des API-Testscripts tools/dyness_test.py.
| Device | Status |
|---|---|
| Dyness Cygni 10.0HS | ✅ Tested |
| Dyness DL5.0C | ✅ Tested |
| Dyness Junior Box | ✅ Tested |
| Dyness Powerbox G2 | ✅ Tested (basic features) |
| Dyness PowerBox Pro | ✅ Tested |
| Dyness Stack100 | ✅ Tested |
| Dyness PowerHaus | ✅ Tested |
| Dyness Tower Pro TP7 | ✅ Tested |
| Dyness Tower T14 | ✅ Tested |
| Other Dyness models with WiFi dongle |
The integration automatically detects the device via the API and only registers sensors available for that specific device.
Available for all devices:
| Sensor | Unit |
|---|---|
| State of Charge (SOC) | % |
| Power | W |
| Current | A |
| Battery Status (Charging / Discharging / Standby) | – |
Additional sensors enabled automatically if provided by the device:
| Sensor | Unit | Junior Box | Tower T14 / TP7 | DL5.0C / Stack100 / PowerBox Pro | PowerHaus | Powerbox G2 |
|---|---|---|---|---|---|---|
| Pack Voltage | V | ✅ | – | ✅ | ✅ | ✅ |
| State of Health (SOH) | % | ✅ | ✅ | ✅ | ✅ | – |
| Temperature Max | °C | ✅ | ✅ | ✅ | ✅ | ✅ |
| Temperature Min | °C | ✅ | ✅ | ✅ | ✅ | ✅ |
| Cell Voltage Max | V | ✅ | ✅ | ✅ | ✅ | ✅ |
| Cell Voltage Min | V | ✅ | ✅ | ✅ | ✅ | ✅ |
| Cell Voltage Spread | mV | ✅ | ✅ | ✅ | ✅ | ✅ |
| Usable Capacity | kWh | ✅ | ✅ | ✅ | ✅ | ✅ |
| Energy Remaining | kWh | ✅ | ✅ | ✅ | ✅ | ✅ |
| Cycle Count | – | – | ✅ | ✅ | ✅ | ✅ |
| Energy Charged Today | kWh | ✅ | – | ✅ | – | – |
| Energy Discharged Today | kWh | ✅ | – | ✅ | – | – |
| Energy Charged Total | kWh | ✅ | ✅ | ✅ | – | – |
| Energy Discharged Total | kWh | ✅ | – | ✅ | – | – |
| MOSFET Temperature | °C | ✅ | – | ✅ | ✅ | – |
| BMS Temperature Max | °C | ✅ | – | ✅ | ✅ | – |
| BMS Temperature Min | °C | ✅ | – | ✅ | ✅ | – |
| Alarm Status | – | ✅ | ✅ | ✅ | ✅ | – |
Devices with multiple modules (DL5.0C, Stack100, PowerBox Pro, Tower T14, Tower Pro TP7) automatically create a separate device per module:
| Sensor | Unit | DL5.0C / Stack100 / PowerBox Pro | Tower T14 / TP7 |
|---|---|---|---|
| Module SOC | % | ✅ | – ¹ |
| Module SOH | % | ✅ | – ¹ |
| Module Voltage | V | ✅ | – ¹ |
| Module Current | A | ✅ | – ¹ |
| Module Cycle Count | – | ✅ | – ¹ |
| Cell Voltage Max | V | ✅ | ✅ |
| Cell Voltage Min | V | ✅ | ✅ |
| Cell Voltage Spread | mV | ✅ | ✅ |
| Cell Temperature 1 | °C | ✅ | ✅ |
| Cell Temperature 2 | °C | ✅ | ✅ |
| Cell 01 – 16 (DL5.0C) | V | ✅ | – |
| Cell 01 – 30 (Tower T14 / TP7) | V | – | ✅ |
¹ Tower T14 / TP7: SOC, SOH, Voltage, Current and Cycle Count are only available at system level (main device) — the API does not provide these values per module.
Individual cell voltages are disabled by default and can be enabled in HA under Settings → Devices & Services → Dyness Battery → Device → Entities.
| Sensor | Description |
|---|---|
| Last Update | Timestamp of last data transmission |
| Battery Capacity | Installed capacity per API |
| Communication Status | Online / Offline |
| Work Status | e.g. RunMode, StandBy, Charging |
| Firmware Version | Current firmware version |
- Open Dyness User Smart Monitoring https://ems.dyness.com/login
- Log in with your Dyness account (same as the app)
- Select Developer Center → API Management from the left menu
- Click Create API Key
- Note down App ID and App Secret – the secret is only shown once!
- Open HACS in Home Assistant
- Click Integrations → ⋮ → Custom repositories
- Add URL:
https://github.com/shopf/dyness_battery— Category: Integration - Search for Dyness Battery and install
- Restart Home Assistant
- Download the ZIP from Releases
- Extract and copy
custom_components/dyness_battery/toconfig/custom_components/ - Restart Home Assistant
- Settings → Devices & Services → Add Integration
- Search for Dyness Battery
- Enter only your API ID and API Secret — the device is discovered automatically
Multiple batteries: Simply add the integration again with the same credentials to set up additional batteries on the same account.
| Modules | Interval |
|---|---|
| 1–2 | 5 minutes |
| 3–4 | 10 minutes |
| 5+ | 15 minutes |
- Monitoring only – Control (charge schedules, SOC limits) is not supported via the API
- Cloud dependent – No local connection possible
Open an Issue with the output of the API test script tools/dyness_test.py:
Uses the Dyness Open API v1.1 with HmacSHA1 authentication.
Endpoints used:
POST /v1/device/storage/list– Auto-discover device SN and work statusPOST /v1/device/bindSn– Bind device to API keyPOST /v1/device/realTime/data– Real-time BMS data (every 5 min)POST /v1/device/getLastPowerDataBySn– Current power data (every 5 min)POST /v1/station/info– Station info (battery capacity)POST /v1/device/household/storage/detail– Device details (firmware, status)POST /v1/device/getLastRunningDataBySn– Runtime data (firmware version)
| 💬 Questions & Ideas | GitHub Discussions |
| 🐛 Bug Reports | GitHub Issues |
| 🔌 New Device | Open an Issue with your dyness_test.py output |
Additional languages supported:
- 🇫🇷 French — contributed by the community
MIT License – see LICENSE