Gaszähler anbinden 2

Posted on Di 27 Februar 2024 in Computer & Electronics

In einem früheren Post hatte ich mich mit dem Auslesen des Gaszählers via ESPhome befasst und war dabei auf ein paar Probleme gestoßen: Jedes Mal, wenn ESPhome den Kontakt zum Homessistant verlor und dann wiederherstellte, wurde der Zählerstand in ESPhome wieder auf den beim letzen Mal eingegeben Stand zurückgesetzt. In einem follow-up Post hatte ich dann schonmal entdeckt, warum das so häufig passiert, aber endgültig gelöst hat es das auch nicht. Des Übels Wurzel ist, dass der homeassistant Sensor, den ich zur Übergabe des Sollwerts verwendet hatte nicht nur dann aktualisiert wird, wenn man eine neue Zahl eingibt, sondern eben auch beim (Wieder-)Herstellen des Kontakts. Und so hatte ich eine Weile den Kopf gegen die Wand gehauen und hoffte auf eine Eingebung und habe verschiedenes ausprobiert – erfolglos. Letztlich habe ich im Homeassistant-Forum um Tips gebeten.

Und in der Tat: User Mahko_Mahko gab den entscheidenden Hinweis: Neben dem oben erwähnten Home Assistant Sensor gibt es auch noch die Möglichkeit, in ESPhome einen Service über die native API Component zu definieren! Und das hat mein Problem gelöst.

Also zunächst in der YAML config für ESPhome den Service anlegen:

api:
  reboot_timeout: 0s
  services:
    - service: set_reading
      variables:
        new_reading: float
      then:
        lambda: id(count_reading) = int(new_reading * 100);

Und den alten Homeassistant Sensor, sowie den Factory-reset button wieder rausschmeißen und Firmware flashen.

Wenn wir nun den Gaszählerstand manuell korrigieren möchten, gehen wir in Homeassistant nach Developer tools > Services und geben dann den Namen unseres services ein (set_reading) uns schon findet er ihn unter vollem Namen:

Nur noch den am physischen Gaszähler angezeigten Stand in das Eingabefeld (new_reading) tippen und dann Call service drücken – und schon ist das erledigt.

Die angepasste config findet Ihr hier

Nun werde ich das Ganze mal eine Weile testen. Und falls es wider Erwarten immernoch Probleme macht wird das hier eine Gaszähler-Serie... ;-)