npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

iobroker.solix4

v6.0.2

Published

Anker SOLIX Gen4 adapter for ioBroker with MQTT live values, diagnostics, HTML dashboards and safe output-power control

Readme

ioBroker.solix4

SOLIX Live-Dashboard

[!IMPORTANT] Der Adapter verwendet eine inoffizielle Anker-SOLIX-Schnittstelle. Cloud- und Firmwareänderungen können einzelne Funktionen beeinflussen. Schreibfunktionen für die Solarbank 4 sind derzeit experimentell und standardmäßig gesperrt.

Funktionen

  • Livewerte über MQTT mit Cloud-Fallback
  • automatische Erkennung mehrerer Sites
  • automatische Erkennung und Gruppierung der Geräte
  • Unterstützung für Solarbank, Smart Meter und weitere erkannte SOLIX-Gerätetypen
  • PV1 bis PV4, Hausverbrauch, Netzbezug, Einspeisung und Akku-Leistung
  • Ladezustand, Temperatur, Firmware und Gerätestatus
  • großformatiges Live-Dashboard für VIS und andere HTML-Widgets
  • Gen4-Systeminformationen mit echten API-Feldnamen
  • strukturierte Diagnose mit Warnungen und Empfehlungen
  • persistente Python-Laufzeit im ioBroker-Datenverzeichnis
  • experimentelle, ausdrücklich freizugebende Schreibsteuerung

Getestete Geräte

| Gerät | Modell | Status | |---|---|---:| | Solarbank 4 E5000 Pro | AE103 | ✅ getestet | | Smart Meter Gen 2 | AE1X0 | ✅ getestet | | Weitere Gerätetypen | dynamische Erkennung | 🧪 abhängig von gelieferten API-Daten |

Der Adapter kann weitere Typen automatisch kategorisieren. Nicht bekannte Geräte werden nicht verworfen, sondern in der Geräteübersicht und Diagnose kenntlich gemacht.

Screenshots

Live-Dashboard

Das Dashboard zeigt den aktuellen Energiefluss zwischen Solar, Haus, Netz und Akku sowie die wichtigsten Statusinformationen.

Live-Dashboard

Gen4-Systeminformationen

Die kompakte Gen4-Ansicht trennt App-Maximum, Istleistung, Zeitplan, Hauslast-Zielwert, Akku-Grenzen und Gerätestatus.

Gen4-Systeminformationen

Diagnose

Die Diagnose bewertet MQTT, Solarbank und Smart Meter und zeigt Firmwarestände, Warnungen und Empfehlungen.

Diagnose

Voraussetzungen

  • ioBroker mit aktuellem js-controller
  • Node.js 18 oder neuer
  • Internetzugang zur Anker-Cloud
  • Anker-SOLIX-Konto mit Zugriff auf die Anlage
  • Python 3.11 oder neuer empfohlen
  • MQTT-fähiges SOLIX-Gerät für schnelle Livewerte

Python-Abhängigkeiten werden beim ersten Start automatisch in einer eigenen Laufzeit unter iobroker-data/solix4.0/venv eingerichtet.

Installation

Installation einer bereitgestellten TGZ-Datei

Die TGZ-Datei zunächst nach /tmp kopieren und anschließend ausführen:

cd /opt/iobroker

iob stop solix4.0 2>/dev/null || true
sudo -u iobroker npm install /tmp/iobroker.solix4-6.0.2.tgz
iob upload solix4
iob start solix4.0

Bei einer Erstinstallation muss zusätzlich eine Instanz angelegt werden:

iob add solix4

Installation direkt von GitHub

Solange der Adapter noch nicht im offiziellen ioBroker-Repository oder auf npm veröffentlicht ist, kann die GitHub-Version über die Adminoberfläche installiert werden:

  1. Adapter
  2. oben rechts Adapter aus eigener URL installieren
  3. GitHub auswählen
  4. diese URL eintragen:
https://github.com/michihorn64/ioBroker.solix4

Alternativ auf der Konsole:

cd /opt/iobroker
iob install https://github.com/michihorn64/ioBroker.solix4

Spätere npm-Installation

Nach der npm-Veröffentlichung wird die Installation voraussichtlich so möglich sein:

iob add solix4

Bis dahin ist die GitHub- oder TGZ-Installation zu verwenden.

Konfiguration

In der Adapterinstanz werden mindestens benötigt:

| Einstellung | Bedeutung | |---|---| | Benutzername | E-Mail-Adresse des Anker-SOLIX-Kontos | | Passwort | Passwort des Anker-SOLIX-Kontos | | Land | zweistelliger Ländercode, beispielsweise DE | | Site-ID | optional; leer lassen für automatische Erkennung | | Abfrageintervall | Cloud-Abfrage in Sekunden | | MQTT aktivieren | schnelle lokale Livewerte verwenden | | MQTT-Dauer | Dauer einer MQTT-Abfragephase |

[!CAUTION] Zugangsdaten niemals in Issues, Screenshots, Logs oder Chatnachrichten veröffentlichen. Das Passwort wird von ioBroker als geschützter Konfigurationswert behandelt.

Wichtige Datenpunkte

Die Site-ID wird für Objektpfade auf acht Zeichen verkürzt, beispielsweise 3ed983d2.

Live-Dashboard

solix4.0.sites.<site>.dashboard.html
solix4.0.sites.<site>.widget.html
solix4.0.sites.<site>.settingsWidget.html

Gen4-Systeminformationen

solix4.0.sites.<site>.settings.gen4InfoHtml
solix4.0.sites.<site>.settings.gen4FieldsJson
solix4.0.sites.<site>.settings.scheduleJson
solix4.0.sites.<site>.settings.featureSwitchJson

Diagnose

solix4.0.sites.<site>.diagnosis.overallStatus
solix4.0.sites.<site>.diagnosis.severity
solix4.0.sites.<site>.diagnosis.warningCount
solix4.0.sites.<site>.diagnosis.recommendation
solix4.0.sites.<site>.diagnosis.text
solix4.0.sites.<site>.diagnosis.html

Geräteübersicht

solix4.0.sites.<site>.devices.inventoryHtml
solix4.0.sites.<site>.info.deviceCount
solix4.0.sites.<site>.info.knownDeviceCount
solix4.0.sites.<site>.info.unknownDeviceCount
solix4.0.sites.<site>.info.deviceTypesJson

Leistung und Akku

solix4.0.sites.<site>.power.solar
solix4.0.sites.<site>.power.home
solix4.0.sites.<site>.power.gridImport
solix4.0.sites.<site>.power.gridExport
solix4.0.sites.<site>.power.batteryCharge
solix4.0.sites.<site>.power.batteryDischarge
solix4.0.sites.<site>.battery.soc
solix4.0.sites.<site>.battery.temperature

Die tatsächlich vorhandenen Zustände hängen davon ab, welche Daten das jeweilige Gerät über Cloud und MQTT liefert.

HTML in VIS verwenden

  1. In VIS ein HTML- oder String-Widget anlegen.
  2. Den gewünschten HTML-Datenpunkt auswählen.
  3. Die Widgetgröße an den Screenshot beziehungsweise das eigene Tablet anpassen.
  4. Bei Bedarf den Datenpunkt über eine Binding-Syntax des verwendeten Widgets einbinden.

Empfohlene Datenpunkte:

dashboard.html
settings.gen4InfoHtml
diagnosis.html
devices.inventoryHtml

Experimentelle Ausgangsleistungssteuerung

Ab Version 6.0.0 existieren folgende Zustände:

solix4.0.sites.<site>.control.enabled
solix4.0.sites.<site>.control.maxOutputPower
solix4.0.sites.<site>.control.actualMaxOutputPower
solix4.0.sites.<site>.control.pending
solix4.0.sites.<site>.control.verified
solix4.0.sites.<site>.control.lastCommand
solix4.0.sites.<site>.control.lastResult
solix4.0.sites.<site>.control.lastError
solix4.0.sites.<site>.control.experimental

Der Schreibzugriff ist standardmäßig deaktiviert. Bei einem Fehler sperrt Version 6.0.1 die Steuerung automatisch wieder.

Für AE103 kann der derzeit bekannte Cloud-Endpunkt mit API-Fehler 10004 abgelehnt werden. Die Steuerung gilt deshalb noch nicht als produktionsreif. Bis zur Klärung sollte sie nur zu Testzwecken verwendet werden.

Fehlerbehebung

Adapter startet nicht

iob logs solix4.0 --watch

Außerdem prüfen:

iob state get solix4.0.info.connection
iob state get solix4.0.info.lastError
iob state get solix4.0.info.adapterVersion

Keine MQTT-Livewerte

  • Solarbank muss online sein.
  • MQTT muss in der Adapterkonfiguration aktiviert sein.
  • Internet-, WLAN- und Kontozugang prüfen.
  • Diagnose-Widget und info.mqttConnected kontrollieren.

HTML-Datenpunkt ist leer

Nach dem Adapterstart bis zur ersten vollständigen Abfrage warten. Danach beispielsweise prüfen:

iob state get solix4.0.sites.<site>.dashboard.html

Keine Tagesenergiewerte

Nicht jede Gen4-Anlage liefert über die derzeit verwendete Schnittstelle Tagesenergiewerte. Fehlende Werte werden bewusst nicht aus Momentanleistungen hochgerechnet.

Aktualisierung

cd /opt/iobroker

iob stop solix4.0
sudo -u iobroker npm install /tmp/iobroker.solix4-NEUE_VERSION.tgz
iob upload solix4
iob start solix4.0

Danach:

iob state get solix4.0.info.adapterVersion

Entwicklung und Tests

npm install
npm test
npm run pack:check

Der Selbsttest prüft JavaScript-Syntax, Kernfunktionen und die Syntax der Python-Bridge.

Datenschutz und Sicherheit

  • Der Adapter kommuniziert mit einer inoffiziellen Anker-SOLIX-Cloudschnittstelle.
  • Zugangsdaten verbleiben in der ioBroker-Instanz.
  • Debug-Rohdaten können technische Geräteinformationen enthalten.
  • Rohdaten vor einer Veröffentlichung immer auf Seriennummern, Site-IDs, E-Mail-Adressen und andere persönliche Informationen prüfen.
  • Experimentelle Schreibfunktionen bleiben standardmäßig gesperrt.

Bekannte Einschränkungen

  • Tagesenergiewerte sind bei AE103 über die derzeitige Datenquelle möglicherweise nicht verfügbar.
  • Der Schreibweg für das App-Ausgangslimit von AE103 ist noch nicht bestätigt.
  • API- und MQTT-Felder können sich durch Anker-Updates ändern.
  • Nicht jedes erkannte Feld besitzt bereits eine allgemein bestätigte fachliche Bedeutung.

Roadmap

  • bestätigter Schreibweg für AE103-Ausgangsleistung
  • Backup-Reserve und weitere sichere Steuerfunktionen
  • bessere Abbildung von Betriebsmodi und Zeitplänen
  • Tests mit zusätzlichen SOLIX-Modellen
  • npm-Veröffentlichung
  • Aufnahme in ein ioBroker-Repository

Änderungen

Die vollständige Versionshistorie steht in CHANGELOG.md.

Fehler melden

Bitte Issues im GitHub-Repository anlegen:

https://github.com/michihorn64/ioBroker.solix4/issues

Beim Melden von Problemen niemals Kennwörter, Tokens, vollständige Seriennummern oder persönliche Kontodaten veröffentlichen.

Lizenz

MIT – siehe LICENSE.

Danksagung

Der Adapter verwendet die Open-Source-Bibliothek anker-solix-api für den Zugriff auf Anker-SOLIX-Daten. Vielen Dank an deren Entwickler und Mitwirkende.