Zum Hauptinhalt springen

Sigenergy Smart-Home-Integration, kostenlos und Open Source

Sigenergy-Integration für Gladys Assistant

Sigenergy SigenStor lokal per Modbus TCP: Solar, Haus, Netz, Batterie und Energieverlauf.

Liest eine Sigenergy-Anlage — SigenStor, Sigen Hybrid und ihre Batterien — im lokalen Netz per Modbus TCP, mit den Registern, die Sigenergy in seinem „Sigenergy Modbus Protocol“ (V2.9) veröffentlicht. Keine Cloud, kein Konto, kein Register einzeln anzulegen: Solar, Haus, Netz und Batterie erscheinen in Gladys als Geräte, mit den kumulierten Zählerständen für den Energieverlauf.

Ohne die Hardware entwickelt: Rückmeldungen willkommen. Die Integration folgt dem offiziellen Protokolldokument und wird gegen eine danach simulierte Sigenergy-Anlage getestet, nicht gegen eine echte. Melde in den Issues, was funktioniert und was nicht, mit dem Ergebnis der Schaltfläche Verbindung testen.

Diese Integration ist nicht mit Sigenergy Technology Co., Ltd. verbunden. Sigenergy, SigenStor und mySigen sind Marken ihrer Inhaber.

Was sie tut​

  • Ein Gerät für die Anlage (die „Plant“ des Protokolls): Solarleistung, Hausverbrauch, Netzaustausch (Bezug und Einspeisung), Batteriestand, Lade- und Entladeleistung, verfügbare Energie, Batteriezustand, die kumulierten Zählerstände (Solarertrag, Hausverbrauch, Netzbezug und -einspeisung, Batterie geladen und entladen), Betriebsmodus, Zustand, Inselbetrieb und Alarme.
  • Ein Gerät pro Wechselrichter: seine Leistung, Solarleistung, Batterie, Spannungen und Ströme der Phasen, Spannung und Strom jedes PV-Strings, seine Temperaturen, sein Zustand und seine Alarme.
  • Batteriesteuerung, standardmäßig aus: Batteriemodus (automatisch, Zwangsladung oder -entladung, Standby) sowie Lade- und Entladeleistungsgrenzen.
  • Ein Dashboard-Widget: Solar, Haus, Netz und Batterie auf einen Blick.
  • Szenen-Auslöser (ein neuer Alarm, die Anlage antwortet nicht mehr oder wieder) und Szenen-Aktionen (Batteriemodus einstellen, Grenzen einstellen).

Voraussetzungen​

  • Gladys Assistant 5.1 oder neuer (5.2 für den Energieverlauf).
  • Eine Sigenergy-Anlage im selben Netz wie Gladys, mit fester IP-Adresse (DHCP-Reservierung im Router).
  • Modbus TCP aktiviert an der Anlage (siehe unten). Die Integration spricht Modbus TCP auf Port 502; Modbus über RS-485 wird nicht unterstützt.

Modbus TCP aktivieren​

Bei einer neuen Anlage ist Modbus TCP aus. Öffne in der mySigen-App deine Anlage, dann ihre Einstellungen, und suche die Option Modbus-TCP-Server (in den Kommunikationseinstellungen); schalte sie ein und speichere. Bei vielen Konten sieht nur der Installateur dieses Menü: Bitte ihn, es zu aktivieren. Die Menünamen hängen von der App-Version ab.

Die Unit-IDs finden​

Jedes Gerät einer Sigenergy-Anlage hat eine Modbus-Adresse, seine Unit-ID, die in der mySigen-App eingestellt wird:

  • die Anlage (das ganze System) antwortet immer unter 247;
  • jeder Wechselrichter hat seine eigene, von 1 bis 246: 1 bei den meisten Anlagen mit einem Wechselrichter. Ein AC-Ladegerät belegt oft die 1, der Wechselrichter hat dann eine andere (zum Beispiel 2).

Nicht sicher? Gib die Adresse der Anlage ein, speichere und drücke Verbindung testen: Antwortet kein konfigurierter Wechselrichter, sucht es sie unter den Unit-IDs 1 bis 16.

Konfiguration​

FeldBeschreibung
SpracheSprache der Funktionsnamen (standardmäßig Französisch). Gladys behält die Namen, die beim Hinzufügen eines Geräts vergeben werden.
Adresse der AnlageIP-Adresse oder Hostname des SigenStor oder des Wechselrichters mit dem Modbus-TCP-Server.
Modbus-TCP-Port502, außer dein Installateur hat ihn geändert.
Unit-IDs der WechselrichterDie Unit-ID jedes Wechselrichters, durch Kommas getrennt (Standard 1, höchstens 8).
Unit-ID der Anlage247 im Protokoll: Lass sie so.
Aktualisierungsintervall10 s bis 5 min (Standard 15 s). Nur geänderte Werte werden gesendet.
Batteriesteuerung erlaubenStandardmäßig aus. Siehe Batteriesteuerung.

Speichere und füge die Geräte im Tab Entdecken der Integration hinzu.

Geräte​

Die Anlage​

FunktionEinheitHinweise
SolarleistungWNie negativ.
HausverbrauchWDas Register „Gesamtlastleistung“, bei älteren Firmwares berechnet.
NetzaustauschWPositiv beim Bezug, negativ bei der Einspeisung.
Netzbezug, NetzeinspeisungWDerselbe Austausch als zwei positive Werte.
Batteriestand%Nur Anlagen mit Batterie.
Batterie-Ladeleistung, -EntladeleistungW
Verfügbare BatterieenergiekWhWas die Batterie noch liefern kann.
Batteriezustand%Gesundheitszustand, wenn die Firmware ihn liefert.
Solarertrag (gesamt)kWhKumulierter Zählerstand.
Hausverbrauch (gesamt)kWhKumulierter Zählerstand, vom Energieverlauf genutzt.
Netzbezug (gesamt), Netzeinspeisung (gesamt)kWhKumulierte Zählerstände.
Batterie geladen (gesamt), entladen (gesamt)kWhKumulierte Zählerstände.
BetriebsmodusTextMaximaler Eigenverbrauch, KI-Modus, Zeittarif, Volleinspeisung, Fernsteuerung, benutzerdefiniert.
AnlagenzustandTextStandby, in Betrieb, Störung, abgeschaltet, Umgebungsstörung.
Inselbetrieb (Notstrom)0/11, wenn die Anlage ohne Netz läuft.
Alarm, Aktive Alarme0/1, TextJedes Alarmbit des Protokolls, übersetzt („Batterie: Übertemperatur“).

Eine Funktion, deren Register die Firmware nicht kennt, wird weggelassen.

Jeder Wechselrichter​

Wechselrichterleistung, Solarleistung, Batteriestand, Lade- und Entladeleistung und Batterietemperatur (mit Batterie), Wechselrichtertemperatur, Netzspannung und -strom (L1, L2, L3 bei einem dreiphasigen Wechselrichter), Spannung und Strom jedes PV-Strings, Wechselrichterzustand und seine Alarme. Das Gerät trägt den Namen des Modells, das der Wechselrichter meldet („SigenStor EC 6.0 SP“).

Energieverlauf​

Mit Gladys 5.2 speist der Zählerstand Hausverbrauch (gesamt) den Energieverlauf: Gladys leitet daraus den Verbrauch jeder halben Stunde ab, und seine Kosten, wenn ein Vertrag hinterlegt ist. Die anderen Zählerstände (Netz, Batterie, Solar) werden in eigenen Kategorien veröffentlicht und nicht als Verbraucher gezählt. Die Kosten des Hausverbrauchs enthalten die selbst verbrauchte Solarenergie: Ist dein Stromzähler schon in Gladys, behalte ihn als Hauptzähler.

Batteriesteuerung​

Standardmäßig aus: Die Integration liest nur. Sobald Batteriesteuerung erlauben an ist, bekommt das Gerät der Anlage drei Auswahllisten (klicke im Tab „Entdecken“ auf Aktualisieren):

  • Batteriesteuerung: Automatisch (App-Modus) gibt die Steuerung an den in der mySigen-App gewählten Modus zurück; Maximaler Eigenverbrauch, Zwangsladung (Netz zuerst), Zwangsladung (Solar zuerst), Zwangsentladung (Solar zuerst), Zwangsentladung (Batterie zuerst) und Standby (Batterie ruht) erzwingen das Remote-EMS der Anlage.
  • Ladeleistungsgrenze und Entladeleistungsgrenze: 0 bis 100 % der Nennleistung, in Schritten von 10 %. Eine anderswo eingestellte Grenze erscheint als nächster Schritt.

Nur die Register, die das Protokoll als beschreibbar dokumentiert, werden geschrieben: Remote-EMS aktivieren (40029), Remote-EMS-Modus (40031), maximale Ladegrenze (40032) und Entladegrenze (40034). Nie Start/Stopp, der Netzcode oder die Register der Leistungsvorgabe. Ein erzwungener Modus bleibt, bis du wieder auf automatisch stellst, auch wenn Gladys stoppt: Nutze ihn bewusst. Diese Funktionen sind keine Schalter: Sprachassistenten können sie nicht steuern.

Aktionen​

Verbindung testen liest die Anlage und die konfigurierten Wechselrichter einmal und zeigt, was antwortet: Modus, Zustand, Solar- und Netzleistung, Batteriestand, Modell, Seriennummer (die letzten vier Zeichen) und Firmware jedes Wechselrichters und ob die Register der Batteriesteuerung lesbar sind. Antwortet kein konfigurierter Wechselrichter, sucht es Wechselrichter unter den Unit-IDs 1 bis 16.

Dashboard-Widget​

Sigenergy-Energie zeigt vier Live-Kacheln (Solar, Haus, Netz, Batteriestand) und eine Statusliste: in welche Richtung die Batterie läuft und mit welcher Leistung, den Betriebsmodus, die Alarme und die Verbindung, wenn die Anlage nicht antwortet. Mit erlaubter Steuerung stellen drei Schaltflächen (mit Bestätigung) die Batterie auf automatisch, Zwangsladung aus dem Netz oder Zwangsentladung; der aktuelle Modus trägt ein Häkchen.

Szenen-Auslöser​

  • Ein Sigenergy-Alarm wird ausgelöst: Ein neuer Alarm erscheint. Variablen: der Gerätename, der oder die neuen Alarme und alle aktiven Alarme als Text — bereit für eine Benachrichtigung. Ein Alarm, der beim Start der Integration schon aktiv ist, löst ihn nicht aus.
  • Die Sigenergy-Anlage antwortet nicht mehr: Zwei Abfragen in Folge sind fehlgeschlagen. Variable: der Fehler.
  • Die Sigenergy-Anlage antwortet wieder.

Batteriestand, Leistungen und Inselbetrieb sind Gerätefunktionen: Nutze dafür den üblichen Auslöser „Gerätewert“.

Szenen-Aktionen​

  • Sigenergy-Batteriemodus einstellen: einer der Modi oben. Ausgabe: der angewendete Modus.
  • Sigenergy-Batteriegrenzen einstellen: Lade- und/oder Entladegrenze in Watt, von 0 bis zur Nennleistung; ein leeres Feld bleibt unverändert.

Beide setzen die erlaubte Batteriesteuerung in der Konfiguration voraus und schlagen sonst fehl.

Szenen-Beispiele​

  • Laden im Nachttarif: um 22:00 Sigenergy-Batteriemodus einstellen auf Zwangsladung (Netz zuerst) mit Sigenergy-Batteriegrenzen einstellen auf 3000 W; um 6:00 zurück auf Automatisch (App-Modus).
  • Überschuss nutzen: Sinkt Netzaustausch unter −2000 W, den Warmwasserbereiter starten; über 0 wieder stoppen.
  • Stromausfall: Geht Inselbetrieb (Notstrom) auf 1, eine Nachricht senden und die großen Verbraucher abschalten.
  • Alarm: Bei Ein Sigenergy-Alarm wird ausgelöst den Alarmtext ({{triggerEvent.data.alarm}}) an dein Handy senden.

Aktualisierung und Protokollregeln​

Die Integration liest die Anlage selbst, im gewählten Intervall, unabhängig von der Abfrage durch den Gladys-Kern. Ein Zyklus sendet etwa fünfzehn Anfragen, eine nach der anderen (das Protokoll verlangt, auf jede Antwort höchstens 1 s zu warten, bevor die nächste kommt), und liest nie einen Bereich, den das Protokoll als reserviert markiert. Gladys nimmt 300 Zustände pro Minute an: Nur geänderte Werte werden gesendet, und jeder Wert wird mindestens alle 6 Stunden erneut gesendet. Ein kumulierter Zählerstand wird nie niedriger als vorher gesendet (ein Lesefehler würde sonst den ganzen Zählerstand als in 30 Minuten verbraucht zählen).

Fehlerbehebung​

  • „antwortet nicht“: Prüfe die Adresse, ob Modbus TCP in der mySigen-App aktiviert und gespeichert ist und ob nichts den Port 502 blockiert. Manche Firmwares nehmen nur einen Modbus-TCP-Client an: Beende die anderen (Home Assistant, ein Energiemanager).
  • „Kein Wechselrichter antwortet unter der Unit-ID“: Die Anlage antwortet, aber die IDs der Wechselrichter sind falsch. Drücke Verbindung testen, um sie zu finden.
  • Eine Funktion fehlt: Deine Firmware kennt ihr Register nicht. Aktualisiere die Firmware, drücke dann im Tab „Entdecken“ auf Scannen und aktualisiere das Gerät.
  • Mehr Details: Setze LOG_LEVEL=debug für die Integration, um jede Abfrage zu sehen.

Grenzen​

  • Ohne die Hardware entwickelt: Die Werte folgen dem Protokolldokument, nicht einer echten Anlage.
  • Eine Sigenergy-Anlage pro Integration, bis zu 8 Wechselrichter.
  • AC- und DC-Ladegeräte, Smart Loads, PSS- und PID-Geräte des Protokolls werden noch nicht gelesen.
  • Nur Modbus TCP (Port 502, die Anlage als Server); kein RS-485, nicht der „TCP-Client“-Modus von 4G-Anlagen.
  • Die Batteriebefehle beschränken sich auf den Modus und die zwei Grenzen; keine Zeitpläne, keine Leistungsvorgabe.

Konfigurationseinstellungen​

Diese Einstellungen fragt Sigenergy in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Erste SchrittesectionNeinDie Integration liest deine Sigenergy-Anlage im lokalen Netz per Modbus TCP (Port 502). Modbus TCP muss zuerst aktiviert sein: Schalte in der mySigen-App (oder über deinen Installateur) den Modbus-TCP-Server der Anlage ein und notiere ihre IP-Adresse und die Modbus-Adresse (Unit-ID) jedes Wechselrichters. Speichere und füge die Geräte im Tab „Entdecken“ hinzu.
Sprache der FunktionsnamenselectNeinGladys behält die Namen, die beim Hinzufügen eines Geräts vergeben werden.
Adresse der AnlagestringJaIP-Adresse oder Hostname des SigenStor (oder des Wechselrichters mit dem Modbus-TCP-Server). Gib ihm im Router eine feste IP.
Modbus-TCP-PortnumberNein502, außer dein Installateur hat ihn geändert.
Unit-IDs der WechselrichterstringNeinDie Modbus-Adresse jedes Wechselrichters, wie in der mySigen-App eingestellt, durch Kommas getrennt (Standard 1; ein AC-Ladegerät belegt oft die 1, der Wechselrichter hat dann die 2). Höchstens 8.
Unit-ID der AnlagenumberNein247 im Sigenergy-Protokoll: Ändere es nur, wenn man es dir sagt.
AktualisierungsintervallselectNeinWie oft die Anlage gelesen wird. Nur geänderte Werte werden an Gladys gesendet.
BatteriesteuerungsectionNeinStandardmäßig aus: Die Integration liest dann nur. Wenn erlaubt, kann Gladys den Batteriemodus umschalten (automatisch, Zwangsladung oder -entladung) und die Lade- und Entladeleistungsgrenzen setzen, über die Geräte, das Widget und Szenen. Diese Befehle haben Vorrang vor dem in der mySigen-App gewählten Modus, bis du wieder auf automatisch stellst: Nutze sie bewusst.
Batteriesteuerung erlaubenbooleanNeinFügt dem Gerät der Anlage die Steuerfunktionen hinzu (klicke im Tab „Entdecken“ auf Aktualisieren).

So installierst du Sigenergy in Gladys​

  1. Öffne in Gladys Integrationen: Sigenergy erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/guim31/gladys-sigenergy:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-sigenergy.

Sigenergy benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Sigenergy ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂