FEMS - Fennecon Energy Management System
Einen Fennceon FEMS (Fennecon Energy Management System), zum Beispiel die Heckert Symphon-E, in das Dashboard des Homeassistant einbinden:
Kurze Einführung:
Das FEMS bringt nicht nur einen Link auf die Cloud mit, den man in der Regel per Email zugesendet bekommt, auch im internen LAN stellt es die gleichen Informationen bereit.
Zusätzlich stellt das Gerät eine sogenannte Rest-API zur Verfügung, über die man aktuelle Werte der Anlage abfragen kann.
Details zur API finden sich hier:
https://docs.fenecon.de/de/_/latest/fems/fems-app/includes/FEMS_App_REST_JSON.html
In der Dokumentation zur API ist genau angegeben, über welchen Link man die Rest-API anspricht. Das Passwort steht dort auch, ist also kein Geheimnis, es lautet „user“.
In der Kommandozeile kann man dieses hier ausprobieren (IP Adresse anpassen!):
curl http://x:user@192.168.2.121:8084/rest/channel/_sum/EssSoc
Dieser direkte Zugriff ist ganz praktisch, da man so in Homeassistant recht leicht an die entsprechenden Werte kommt.
Leider habe ich jedoch trotz der sehr umfangreichen Dokumentation von Homeassistant länger gebraucht um herauszufinden, was ich wo eintragen muss.
Ein Beispiel hätte mir sehr geholfen, daher im Folgenden eine kurze
Anleitung:
Wie kann man also jetzt über die configuration.yaml seine Sensoren einfügen?
- Man öffnet das Web Frontend seiner Homeassistant Instanz (Standardmässig Port 8123)
- Unter Einstellungen Add-Ons:
- Den Fileeditor auswählen (oder installieren, dann auswählen)
- Die Benutzeroberfläche öffnen
- Dort die Datei configuration.yaml auswählen
- Editieren der Datei erlauben
- Hier hat man in der Regel bereits einen Sensor angelegt (CPU Temperatur), weswegen ich hier das Stichwort „sensor“ mit dem Rautezeichen (#) auskommentiert habe.
- Zur Sicherheit lädt man die Datei herunter, damit man im Zweifelsfall alles rückgängig machen kann.
- Ans Ende der Datei fügt man nun im Online-Editor die folgenden Zeilen an:
# Anlegen von Sensoren, die über die Rest-API Infos aus der FEMS von Fennecon lesen # Geht davon aus, dass das Stichwort "sensor" bereits weiter oben steht (z.B. CPU Temperatur) # ACHTUNG: Immer unter Entwicklerwerkzeuge die Konfiguration prüfen bevor man neu startet! # IP Adresse muss natürlich in der Regel die eurer Anlage im LAN sein! #sensor: - platform: rest name: Solar Battery State unit_of_measurement: "%" device_class: battery json_attributes: value value_template: "{{value_json.value}}" resource: http://x:user@192.168.2.121:8084/rest/channel/_sum/EssSoc username: x password: user authentication: basic headers: User-Agent: Home Assistant Content-Type: application/json - platform: rest name: Solar Income unit_of_measurement: "W" device_class: energy json_attributes: value value_template: "{{value_json.value}}" resource: http://x:user@192.168.2.121:8084/rest/channel/_sum/ProductionActivePower username: x password: user authentication: basic headers: User-Agent: Home Assistant Content-Type: application/json - platform: rest name: House Consumption unit_of_measurement: "W" device_class: energy json_attributes: value value_template: "{{value_json.value}}" resource: http://x:user@192.168.2.121:8084/rest/channel/_sum/ConsumptionActivePower username: x password: user authentication: basic headers: User-Agent: Home Assistant Content-Type: application/json
Abspeichern (Diskettensymbol rechts oben)
Hokuspokus. Und was jetzt? Nun schaut man, ob ein kleines rotes Ausrufungszeichen über dem Editor erscheint. Wenn ja, klickt man es an und beseitigt ggf. den Fehler.
Zur Sicherheit geht man nun noch auf Entwicklerwerkzeuge
u nd überprüft dort die Konfiguration um ggf. Fehler zu beheben.
Nach einem Neustart stehen die Sensoren zur Verfügung.
Was nun?
Nun kann man im Dashboard Schaltflächen für die neu angelegten Sensoren erstellen. Dazu einfach eine Schaltfläche „Sensor“ wählen und die ensprechende Enitität suchen und auswählen (sensor.solar_income zum Beispiel). Die Namen der Sensoren ergeben sich aus dem Schlüsselwort „sensor“ gefolgt von einem Punkt und dem Namen in der configuration.yaml mit Unterstrich anstelle von Leerzeichen).
Nun kann man die Kennwerte seiner Solaranlage im Dashboard auslesen. Natürlich kann man das analog für alle in der API Dokumentation angegebenen Werte machen.
Viel Spaß
Johannes