Hallo Zusammen,
hier eine kurze Anleitung wie ihr diverse ETA Parameter mit der Homeautomatisierungssoftware Home Assistant über die ETA REST-Schnittstelle auslesen könnt.
Eine fertige "HA Integration" gibt es leider nicht, dafür kann man die vorhandene Home Assistant sensor platform "rest" benutzen.
1) REST-schnittstelle eures Kessels aktivieren. Da ist an diversen Stellen beschrieben, z.B. im Thread "ETA: Anleitung: Datenaufzeichnung ..."
2) Jetzt könnte ihr Werte über eine URL abfragen, z.B. die Kesseltemperatur
http://192.168.178.75:8080/user/var///40/10021/0/11109/0
Die IP Adresse durch die Adresse eures Kessel ersetzen. Die URL könnt ihr einfach im Browser testen.
3) Jetzt geht ihr in Home Assistant -> File Editor -> /config/configuration.yaml und fügt dort dem "sensor:" Bereich folgendes hinzu:
Es wird alles 120 Sekunden der Wert für die Abgastemperatur ausgelesen.
Auf Einrückung achten!
sensor:
- platform: rest
name: "ETA Abgas Temp"
scan_interval: 120
resource: http://192.168.178.75:8080/user/var//40/10021/0/11110/0
value_template: '{{ value_json.eta.value["@strValue"] | replace(",", ".") | float }}'
unit_of_measurement: "°C"
4) Jetzt Home Assistant neu starten. Dann solltet ihr die neue Entity "ETA Abgas Temp" finden. Die könnt ihr z.B. in der UI als Graph anzeigen lassen.
Jetzt könnt ihr für jeden Parameter einen Sensor anlegen.
Die Codes aller Parameter findet ihr einfach über den Browser: http://192.168.178.75:8080/user/menu
Erklärung zu dem HA rest sensor:
Die Restschnittstelle liefert XML zurück:
<etaversion="1.0">
<valueuri="/user/var/120/10601/0/0/12197" strValue="3,6"unit="°C" decPlaces="1" scaleFactor="10"advTextOffset="0">36</value>
</eta>
Das wird von HA automatisch mit dem Paket xmltodict nach JSON konvertiert und hat dann die folgende Form:
{"eta":{"@version": "1.0", "value": {"@uri":"/user/var/120/10601/0/0/12197", "@strValue":"3,6", "@unit": "C", "@decPlaces":"1", "@scaleFactor": "10","@advTextOffset": "0", "#text": "36"}}}
value_template definiert ein template, dass den Wert von "@strValue" extrahiert. Dann muss noch das dezimal "," durch einen "." ersetzt werden und der String in eine float-Zahl konvertiert werden.
Tipp: Über http://homeassistant.local:8123/developer-tools/template könnte ihr die templates einfach ausprobieren
Ich hoffe, es hilft jemanden weiter. - ETA - kurze Anleitung Einbindung in Home Assistant