Mit Sensor-Templates beliebige Werte in Prozentangaben umrechnen

Home Assistant Quickie: Werte in Prozent anzeigen

Oft ist eine Anzeige in Prozent sehr viel intuitiver, als ein reiner Messwert. Ich zeige euch, wie man solche Werte ausgeben kann.

Bei meiner Zisterne, wird aus der Spannung des Wasserstandsensors der Füllstand in Zentimetern und Litern berechnet. Natürlich weiß ich, dass bei 100,5 cm Füllstand die Zisterne bis zum Überlauf voll ist und damit laut Herstellerangabe 5130 Liter Wasser enthalten sind. Doch wie gibt man den Füllstand in Prozent aus? Das ist auch für Batterieanzeigen interessant, denn 70 % Batterielevel sind intuitiver zu verstehen, als 2,7 Volt.

Mit einem Sensor-Template geht die Umrechnung ganz einfach, denn damit kann man praktisch einen „virtuellen“ Sensor bauen, der eine Berechnung aus anderen Quellen ausgibt.

Wir benötigen einen Sensor mit dem aktuellen Wert, also z. B. dem aktuellen Wasserstand in Litern. Bei mir ist das die Entität sensor.zisterne_liter. Außerdem den maximal zu erreichenden Wert, den Grundwert. Bei meiner Zisterne wären das 5130 (Liter).

Nun erstellt man einen neuen Sensor. Entweder unter sensors: in der configuration.yaml oder, wie bei mir, in einer ausgelagerten sensors.yaml in der nur meine Sensoren enthalten sind – das schafft mehr Übersicht.

sensors: - platform: template sensors: zisterne_prozent: unit_of_measurement: '%' value_template: >- {{ (((states('sensor.zisterne_liter'))|float / 5130) *100)|round(1) }}
Code-Sprache: YAML (yaml)

In value_template teilen wir den gemessenen Wert des Sensors durch den Grundwert, also 5130 und multiplizieren das Ergebnis mit 100. round(1) gibt an, dass auf eine Nachkommstelle gerundet werden soll. Will man keine Nachkommastellen, gibt man round(0) an.

Nach dem Reload hat man eine neue Entität sensor.zisterne_prozent, die man dann im Dashboard einbinden kann.

Für eine Batterie muss man erst einmal wissen, ab wann eine Batterie als leer angesehen werden kann. Bei Knopfzellen, wie man sie in vielen Geräten wie den Aqara ZigBee Sensoren findet, kommen 3 Volt Lithium-Knopfzellen zum Einsatz. Die meisten Hersteller geben an, dass die Zelle bei einer Spannung von 2 Volt leer ist. Daher darf man also nicht die 3 Volt als Grundwert annehmen, sondern nur die Differenz zwischen neuer Batterie mit 3 Volt und leerer Batterie mit 2 Volt, also 1 Volt. Bei 1,5 Volt Batterien geht man von 0,9 Volt für eine leere Batterie aus, also müsste man 0,6 Volt als Grundwert annehmen (1,5 Volt – 0,9 Volt).

sensors: - platform: template sensors: batterie_prozent: unit_of_measurement: '%' value_template: >- {{ (((states('sensor.batteriespannung'))|float / 1) *100)|round(0) }}
Code-Sprache: YAML (yaml)

Hier nimmt man den Sensor, der die aktuelle Batteriespannung eines Geräts misst, und setzt z. B. bei einer 3 Volt Batterie 1 als Grundwert ein und schon hat man den Batteriezustand in Prozent.


Die mit Sternchen (*) gekennzeichneten Verweise sind sogenannte Provision-Links. Wenn du auf so einen Verweislink klickst und über diesen Link einkaufst, bekomme ich von deinem Einkauf eine Provision. Für dich verändert sich der Preis nicht und du unterstützt damit meine Arbeit. Preisänderungen und Irrtümer vorbehalten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Cookie Consent mit Real Cookie Banner