Zum Hauptinhalt springen

FoxESS Smart-Home-Integration, kostenlos und Open Source

FoxESS-Integration für Gladys Assistant

FoxESS-Wechselrichter und -Batterien über die FoxESS Cloud: Solar, Haus, Netz, Batterie.

FoxESS-Wechselrichter und -Batterien (Serien H1, H3, KH, AIO, T und F…) in Gladys, über die offizielle Open API der FoxESS Cloud: Solarproduktion, Hausverbrauch, Netzbezug und Netzeinspeisung, Batterieladung, Status und Störungen des Wechselrichters, auf deinem Dashboard und in deinen Szenen.

Diese Integration wurde ohne die Hardware entwickelt, anhand der Dokumentation der Open API und der Open-Source-Projekte, die sie nutzen: Rückmeldungen sind willkommen. Die Integration ist nicht mit FoxESS verbunden.

Was du bekommst​

  • Ein Gerät pro Wechselrichter deines FoxESS-Cloud-Kontos, standardmäßig alle 5 Minuten gelesen.
  • Die Energieflüsse: Solarleistung (gesamt und pro PV-String), Hausverbrauch, Netzbezug und Netzeinspeisung, Laden und Entladen der Batterie.
  • Die Zähler: Produktion heute, Gesamtproduktion (der Index, den die Energieüberwachung von Gladys liest), Netzbezugs- und Netzeinspeisezähler, Lade- und Entlade-Index der Batterie.
  • Die Batterie: Batteriestand und Temperatur.
  • Den Wechselrichter: Status (am Netz, Inselbetrieb, Störung…), aktueller Alarm, online oder nicht, Temperatur.
  • Ein Dashboard-Widget mit den Flüssen eines Wechselrichters, seiner Batterie und seinem Arbeitsmodus.
  • Einen Szenen-Auslöser, wenn der Wechselrichter eine neue Störung meldet.
  • Eine optionale Steuerung (standardmäßig aus): Arbeitsmodus und Mindestladung der Batterie, aus Szenen und dem Widget.

Voraussetzungen​

  • Gladys Assistant 5.1.0 oder neuer.
  • Ein FoxESS-Cloud-Konto (foxesscloud.com), in dem dein Wechselrichter erscheint: dasselbe Konto wie in der FoxESS-App.
  • Ein API-Schlüssel für dieses Konto: Öffne auf foxesscloud.com dein Profil (oben rechts), User Profile, API Management, dann Generate API key. Kopiere den langen Schlüssel.
  • Der Gladys-Server braucht Internet und eine richtig gehende Uhr (die Anfragen werden mit der Uhrzeit signiert: Eine Uhr, die mehr als eine Minute abweicht, wird abgelehnt).

Konfiguration​

Installiere die Integration (Integrationen → Von GitHub installieren, oder aus dem Store) und fülle dann ihre Konfiguration aus:

FeldWas eintragen
API-SchlüsselDer unter API Management erzeugte Schlüssel.
Seriennummern der WechselrichterLeer, um alle Wechselrichter des Kontos anzuzeigen, sonst die zu behaltenden Seriennummern, durch Kommas getrennt (FoxESS Cloud, Device, Inverter).
Aktualisierungsintervall5 Minuten (Standard) bis 1 Stunde. Die FoxESS Cloud aktualisiert ihre Werte etwa alle 5 Minuten: Schneller zu lesen würde nur das Kontingent verbrauchen.
Anzahl der PV-Strings0 (Standard): eine Funktion pro String, den der Wechselrichter meldet. Manche Modelle melden 4 oder 6 Strings, obwohl 2 angeschlossen sind: Trage 2 ein, um 1 und 2 zu behalten.
Sprache der FunktionsnamenDie Sprache der Funktionsnamen, wenn ein Wechselrichter hinzugefügt wird (Gladys behält sie danach), und der Statustexte.
Steuerung des Wechselrichters erlaubenStandardmäßig aus. Siehe Szenen-Aktionen.

Verbindung testen listet die Wechselrichter des Kontos und, wenn die Cloud sie liefert, die Zahl der heute verbleibenden API-Aufrufe auf. Öffne dann den Reiter Erkennung und füge deine Wechselrichter hinzu.

Das Wechselrichter-Gerät​

FunktionTyp in GladysEinheitHinweise
SolarleistungProduktionsleistungWAlle PV-Strings zusammen.
PV-StringProduktionsleistungWEiner pro String: „PV-String 1“, „PV-String 2“…
Produktion heuteTagesproduktionkWhUm Mitternacht wieder 0 (Zeit der Anlage).
GesamtproduktionProduktionsindexkWhLebenszeitzähler, für die Energieüberwachung.
HausverbrauchLeistungWWas das Haus bezieht, egal aus welcher Quelle.
NetzbezugNetzbezugsleistungW
NetzeinspeisungNetzeinspeiseleistungW
NetzbezugszählerNetzbezugszählerkWhLebenszeitzähler des Netzzählers des Wechselrichters.
NetzeinspeisezählerNetzeinspeisezählerkWh
BatteriestandBatteriestand%Nur Wechselrichter mit Batterie, wie die fünf folgenden.
BatterieladungLadeleistungW
BatterieentladungEntladeleistungW
Lade-Index BatterieLade-IndexkWh
Entlade-Index BatterieEntlade-IndexkWh
BatterietemperaturTemperatur°C
WechselrichtertemperaturTemperatur°C
WechselrichterstatusTextOnline, Am Netz, Inselbetrieb (Notstrom), Störung, Offline…
WechselrichteralarmTextDie Störung, die FoxESS meldet, sonst „Keiner“.
OnlineStatus des Eingangs1, wenn der Wechselrichter mit der FoxESS Cloud spricht.

Ein Wechselrichter, den die FoxESS Cloud als offline meldet (nachts bei einem Wechselrichter ohne Batterie, oder wenn sein WLAN-Dongle aus ist), aktualisiert nur seinen Status und „Online“: Die Cloud würde sonst seine letzten Werte liefern, als wären sie aktuell.

Die Gesamtproduktion ist ein kumulativer Produktionsindex für die Energieüberwachung von Gladys; sein Verlauf wird gespeichert. Ob Gladys daraus eine 30-Minuten-Produktion berechnet, hängt von deiner Gladys-Version ab: 5.2.1 tut das automatisch nur für Verbrauchsindizes.

Dashboard-Widget​

FoxESS Solar zeigt für den in seinen Einstellungen gewählten Wechselrichter (den ersten hinzugefügten, wenn keiner gewählt ist):

  • Kacheln für Solarleistung, Hausverbrauch, Batteriestand, Netzbezug und Netzeinspeisung, Produktion heute — live, sie folgen den Zuständen;
  • den Status des Wechselrichters, seinen aktuellen Alarm, was die Batterie tut (lädt, entlädt, ruhend), ihre Mindestladung, den Arbeitsmodus und die Uhrzeit der letzten Messung;
  • mit erlaubter Steuerung und einer Batterie: drei Schaltflächen Eigenverbrauch, Einspeisung zuerst und Notstrom, jede mit einer Bestätigung. Der aktuelle Modus trägt ein Häkchen. Mit den Schaltflächen ist Platz für vier Kacheln: Netzeinspeisung und Produktion heute werden zu Statuszeilen.

Szenen-Auslöser​

Störung des Wechselrichters löst aus, wenn der Wechselrichter eine Störung meldet, die bei der vorigen Messung nicht da war (eine neue Störung, oder eine andere, die sie ersetzt). Filtere auf einen Wechselrichter oder lass das Feld für alle leer. Die Variable Störung enthält die Beschreibung von FoxESS (zum Beispiel „Grid Lost Fault“). Eine Störung, die schon beim Start der Integration da ist, löst nicht aus, ebenso wenig eine Störung, die verschwindet: Die Funktion „Wechselrichteralarm“ zeigt dann wieder „Keiner“.

Szenen-Aktionen​

Beide Aktionen werden abgelehnt, solange „Steuerung des Wechselrichters erlauben“ aus ist, der Standard: Eine Szene, die die Nutzung der Batterie ändert, darf nie aus Versehen laufen. Schalte es in der Konfiguration ein, um sie zu nutzen. Beide brauchen einen Wechselrichter mit Batterie.

  • Arbeitsmodus des Wechselrichters setzen: Eigenverbrauch (die Batterie deckt zuerst das Haus), Einspeisung zuerst (der Solarstrom geht zuerst ins Netz) oder Notstrom (die Batterie bleibt für einen Stromausfall voll). Ausgabe: der gesetzte Modus.
  • Mindestladung der Batterie setzen: die Ladung, die die Batterie ohne Netz und am Netz behält, 10 bis 100 %, die am Netz nicht unter der anderen. Ausgaben: beide gesetzten Werte.

Diese Einstellungen laufen über die offizielle Open API (setting/set mit dem Schlüssel WorkMode, und battery/soc/set). Wenn in der FoxESS-App ein Zeitplan (Zeitfenster) aktiv ist, lehnt der Wechselrichter sie ab: Die Aktion schlägt mit „In der FoxESS-App ist ein Zeitplan aktiv“ fehl. Die erzwungenen Lade- und Entladefenster des FoxESS-Zeitplans werden nicht angeboten.

Szenen-Beispiele​

  • Störungsmeldung: Auslöser „Störung des Wechselrichters“, Aktion „Nachricht senden“: „FoxESS: {{triggerEvent.data.fault}}“.
  • Gewitter angekündigt: Wenn das Wetter ein Gewitter vorhersagt, „Arbeitsmodus des Wechselrichters setzen“ auf Notstrom; am nächsten Morgen zurück auf Eigenverbrauch.
  • Überschuss nutzen: Wenn „Netzeinspeisung“ 15 Minuten lang über 2.000 W bleibt und „Batteriestand“ über 90 % liegt, den Warmwasserbereiter einschalten.

API-Kontingent​

Die FoxESS Cloud erlaubt 1.440 Aufrufe der Open API pro Tag (im Schnitt einen pro Minute) und lehnt Bursts ab. Die Integration hält mindestens eine Sekunde zwischen ihren Aufrufen und liest pro Zyklus:

  • die Echtzeitwerte aller hinzugefügten Wechselrichter, in einem Aufruf;
  • höchstens alle 15 Minuten: die Liste der Wechselrichter (online, Alarm, offline) und die Produktion heute jedes Wechselrichters;
  • jede Stunde, für einen Wechselrichter mit Batterie: seine Mindestladung und seinen Arbeitsmodus.

Aufrufe pro Tag für einen Wechselrichter mit Batterie:

AktualisierungsintervallAufrufe pro Tag
5 Minuten528
10 Minuten384
15 Minuten336
30 Minuten192
1 Stunde120

Ohne Batterie 48 weniger. Jeder weitere Wechselrichter fügt 96 Aufrufe hinzu (seine Produktion), plus 48 mit Batterie. Das Kontingent wird mit allen anderen Werkzeugen geteilt, die denselben API-Schlüssel nutzen (Home Assistant, ein Skript…): Gib jedem seinen eigenen Schlüssel, oder verlangsame die Aktualisierung. Wenn die Cloud einen Aufruf wegen Kontingent oder Burst ablehnt, pausieren die Messungen 30 Minuten, und der Konfigurationsbildschirm zeigt es an.

Fehlerbehebung​

  • „Die FoxESS Cloud lehnt den API-Schlüssel ab“: Der Schlüssel ist ungültig, oder er wurde gelöscht oder neu erzeugt. Erzeuge einen neuen unter API Management und füge ihn wieder ein. Nach einer Ablehnung pausieren die Messungen eine Stunde, oder bis sich die Konfiguration ändert.
  • „Die FoxESS Cloud lehnt die Signatur der Anfragen ab“: Die Uhr des Gladys-Servers weicht um mehr als eine Minute ab. Stelle sie richtig (NTP).
  • „Aufruflimit der FoxESS Cloud erreicht“: Ein anderes Werkzeug nutzt denselben Schlüssel, oder die Aktualisierung ist zu schnell. Siehe API-Kontingent.
  • „Seriennummer(n) nicht in diesem Konto“: Vergleiche die Seriennummern der Konfiguration mit FoxESS Cloud, Device, Inverter, oder lass das Feld leer.
  • Kein PV-String, oder zu viele: Die Strings kommen aus dem, was der Wechselrichter meldet; stelle „Anzahl der PV-Strings“ ein und „Aktualisiere“ den Wechselrichter im Reiter Erkennung.
  • „Kein aktueller Wert“ bei einem stabilen Wert: Werte, die sich nicht ändern, werden alle 6 Stunden erneut gesendet, das reicht; ein Wechselrichter offline behält seine letzten Werte.
  • Mehr Details: Setze LOG_LEVEL=debug für die Integration und lies ihre Logs. Der API-Schlüssel erscheint dort nie.

Grenzen​

  • Nur Cloud: kein lokaler Zugriff (Modbus). Für eine lokale Verbindung gibt es foxess_modbus für Home Assistant; es ist nicht Teil dieser Integration.
  • Keine Echtzeit: Die FoxESS Cloud aktualisiert sich etwa alle 5 Minuten, eine Messung kann so alt sein.
  • Ohne die Hardware entwickelt: Die Antworten der API stammen aus ihrer Dokumentation und aus den Projekten, die sie nutzen. Felder, die bei manchen Modellen anders heißen, können fehlen: Sag uns Bescheid.
  • Mindestladung und Arbeitsmodus werden einmal pro Stunde gelesen: Eine Änderung in der FoxESS-App erscheint innerhalb einer Stunde im Widget.
  • Die erzwungenen Lade- oder Entladefenster und der Zeitplan der FoxESS-App werden nicht angeboten; ebenso wenig die Einspeisebegrenzung oder die Batterieheizung.
  • Der Verbrauchsindex des Hauses wird nicht veröffentlicht (nur seine Leistung): Von der Energieüberwachung bepreist, würde er selbst verbrauchten Solarstrom als aus dem Netz gekauft zählen.
  • Nicht mit FoxESS verbunden. FoxESS ist eine Marke ihres Inhabers.

Konfigurationseinstellungen​

Diese Einstellungen fragt FoxESS in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Dein FoxESS-Cloud-KontosectionNeinÖffne auf foxesscloud.com dein Profil (oben rechts), User Profile, API Management, dann Generate API key. Die FoxESS Cloud erlaubt 1.440 API-Aufrufe pro Tag und Wechselrichter: Lass die Aktualisierung bei 5 Minuten oder mehr.
API-SchlüsselsecretJaDer Schlüssel, der unter API Management in deinem FoxESS-Cloud-Profil erzeugt wurde.
Seriennummern der WechselrichterstringNeinLeer: alle Wechselrichter des Kontos. Sonst die anzuzeigenden Seriennummern, durch Kommas getrennt (Device, Inverter in der FoxESS Cloud).
AktualisierungsintervallselectNeinDie FoxESS Cloud selbst aktualisiert ihre Werte etwa alle 5 Minuten.
Anzahl der PV-StringsnumberNein0: alle Strings, die der Wechselrichter meldet. Sonst bekommen nur die Strings 1 bis zu dieser Zahl eine Funktion.
Sprache der FunktionsnamenselectNeinWird verwendet, wenn ein Wechselrichter zu Gladys hinzugefügt wird, und für die Statustexte.
Steuerung des WechselrichterssectionNeinStandardmäßig aus. Eingeschaltet können Szenen und das Dashboard-Widget den Arbeitsmodus und die Mindestladung der Batterie ändern. Eine falsche Einstellung kann die Batterie bei einem Stromausfall leer lassen.
Steuerung des Wechselrichters erlaubenbooleanNein

So installierst du FoxESS in Gladys​

  1. Öffne in Gladys Integrationen: FoxESS 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-foxess: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-foxess.

FoxESS 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​

FoxESS 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 🙂