Wiki-Quellcode von FEMS - Fennecon Energy Management System
Zuletzt geändert von Jan Tobias Biedermann am 2024/01/16 22:19
Zeige letzte Bearbeiter
| author | version | line-number | content |
|---|---|---|---|
| 1 | **Einen Fennceon FEMS (Fennecon Energy Management System), zum Beispiel die Heckert Symphon-E, in das Dashboard des Homeassistant einbinden:** | ||
| 2 | |||
| 3 | === Kurze Einführung: === | ||
| 4 | |||
| 5 | 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. | ||
| 6 | |||
| 7 | Zusätzlich stellt das Gerät eine sogenannte Rest-API zur Verfügung, über die man aktuelle Werte der Anlage abfragen kann. | ||
| 8 | |||
| 9 | Details zur API finden sich hier: | ||
| 10 | |||
| 11 | [[https:~~/~~/docs.fenecon.de/de/_/latest/fems/fems-app/includes/FEMS_App_REST_JSON.html>>url:https://docs.fenecon.de/de/_/latest/fems/fems-app/includes/FEMS_App_REST_JSON.html]] | ||
| 12 | |||
| 13 | 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“. | ||
| 14 | |||
| 15 | In der Kommandozeile kann man dieses hier ausprobieren (IP Adresse anpassen!): | ||
| 16 | |||
| 17 | curl http:~/~/x:[[user@192.168.2.121>>mailto:user@192.168.2.121]]:8084/rest/channel/_sum/EssSoc | ||
| 18 | |||
| 19 | Dieser direkte Zugriff ist ganz praktisch, da man so in Homeassistant recht leicht an die entsprechenden Werte kommt. | ||
| 20 | |||
| 21 | Leider habe ich jedoch trotz der sehr umfangreichen Dokumentation von Homeassistant länger gebraucht um herauszufinden, was ich wo eintragen muss. | ||
| 22 | |||
| 23 | Ein Beispiel hätte mir sehr geholfen, daher im Folgenden eine kurze | ||
| 24 | |||
| 25 | === Anleitung: === | ||
| 26 | |||
| 27 | Wie kann man also jetzt über die configuration.yaml seine Sensoren einfügen? | ||
| 28 | |||
| 29 | * Man öffnet das Web Frontend seiner Homeassistant Instanz (Standardmässig Port 8123) | ||
| 30 | * Unter Einstellungen Add-Ons:((( | ||
| 31 | [[image:HowtoHeckertHomeassistant_html_d1a85b4c3b96274c.png||height="62" width="584"]] | ||
| 32 | ))) | ||
| 33 | * Den Fileeditor auswählen (oder installieren, dann auswählen) | ||
| 34 | * Die Benutzeroberfläche öffnen | ||
| 35 | * [[image:HowtoHeckertHomeassistant_html_393e18dd24aa3605.png||height="95" width="325"]] | ||
| 36 | * Dort die Datei configuration.yaml auswählen | ||
| 37 | * [[image:HowtoHeckertHomeassistant_html_40cee925dd2f7b9b.png||height="157" width="167"]] | ||
| 38 | * [[image:HowtoHeckertHomeassistant_html_90e54244e4b8eb27.png||height="69" width="251"]] | ||
| 39 | * Editieren der Datei erlauben [[image:HowtoHeckertHomeassistant_html_a596c3d90f249047.png||height="59" width="51"]] | ||
| 40 | * Hier hat man in der Regel bereits einen Sensor angelegt (CPU Temperatur), weswegen ich hier das Stichwort „sensor“ mit dem Rautezeichen (#) auskommentiert habe. | ||
| 41 | * Zur Sicherheit lädt man die Datei herunter, damit man im Zweifelsfall alles rückgängig machen kann. | ||
| 42 | * Ans Ende der Datei fügt man nun im Online-Editor die folgenden Zeilen an: | ||
| 43 | |||
| 44 | {{{# Anlegen von Sensoren, die über die Rest-API Infos aus der FEMS von Fennecon lesen | ||
| 45 | # Geht davon aus, dass das Stichwort "sensor" bereits weiter oben steht (z.B. CPU Temperatur) | ||
| 46 | # ACHTUNG: Immer unter Entwicklerwerkzeuge die Konfiguration prüfen bevor man neu startet! | ||
| 47 | # IP Adresse muss natürlich in der Regel die eurer Anlage im LAN sein! | ||
| 48 | #sensor: | ||
| 49 | - platform: rest | ||
| 50 | name: Solar Battery State | ||
| 51 | unit_of_measurement: "%" | ||
| 52 | device_class: battery | ||
| 53 | json_attributes: | ||
| 54 | value | ||
| 55 | value_template: "{{value_json.value}}" | ||
| 56 | resource: http://x:user@192.168.2.121:8084/rest/channel/_sum/EssSoc | ||
| 57 | username: x | ||
| 58 | password: user | ||
| 59 | authentication: basic | ||
| 60 | headers: | ||
| 61 | User-Agent: Home Assistant | ||
| 62 | Content-Type: application/json | ||
| 63 | |||
| 64 | |||
| 65 | - platform: rest | ||
| 66 | name: Solar Income | ||
| 67 | unit_of_measurement: "W" | ||
| 68 | device_class: energy | ||
| 69 | json_attributes: | ||
| 70 | value | ||
| 71 | value_template: "{{value_json.value}}" | ||
| 72 | resource: http://x:user@192.168.2.121:8084/rest/channel/_sum/ProductionActivePower | ||
| 73 | username: x | ||
| 74 | password: user | ||
| 75 | authentication: basic | ||
| 76 | headers: | ||
| 77 | User-Agent: Home Assistant | ||
| 78 | Content-Type: application/json | ||
| 79 | |||
| 80 | - platform: rest | ||
| 81 | name: House Consumption | ||
| 82 | unit_of_measurement: "W" | ||
| 83 | device_class: energy | ||
| 84 | json_attributes: | ||
| 85 | value | ||
| 86 | value_template: "{{value_json.value}}" | ||
| 87 | resource: http://x:user@192.168.2.121:8084/rest/channel/_sum/ConsumptionActivePower | ||
| 88 | username: x | ||
| 89 | password: user | ||
| 90 | authentication: basic | ||
| 91 | headers: | ||
| 92 | User-Agent: Home Assistant | ||
| 93 | Content-Type: application/json }}} | ||
| 94 | |||
| 95 | Abspeichern (Diskettensymbol rechts oben) | ||
| 96 | |||
| 97 | 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. | ||
| 98 | |||
| 99 | Zur Sicherheit geht man nun noch auf Entwicklerwerkzeuge | ||
| 100 | |||
| 101 | u[[image:HowtoHeckertHomeassistant_html_55c9f529bf5f36cf.png||height="159" width="643"]] nd überprüft dort die Konfiguration um ggf. Fehler zu beheben. | ||
| 102 | |||
| 103 | Nach einem Neustart stehen die Sensoren zur Verfügung. | ||
| 104 | |||
| 105 | Was nun? | ||
| 106 | |||
| 107 | 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). | ||
| 108 | |||
| 109 | 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. | ||
| 110 | |||
| 111 | Viel Spaß | ||
| 112 | |||
| 113 | Johannes |