Ich bin auf eine versteckte Fähigkeit von states
gestoßen, und möchte die mit Euch teilen, damit wir alle Zeit sparen und konsistente(re) Dashboards bauen.
Für Sensoren, die Zahlenwerte liefern, kann man die Anzeigegenauigkeit einstellen.
Wenn ich nun den Sensor.Wert in einem Template ausgebe, sieht es so aus
{{ states('sensor.steckdose_25z_current') }}
0.26
Keine Einheit, Anzeigegenauigkeit ignoriert.
Und daher habe ich bislang, zum Beispiel in Mushroom Template Cards, Sensor-Zahlenwerte so ausgegeben:
{{ states('sensor.steckdose_25z_current') | float(0) | round(1)}}
{{ state_attr('sensor.steckdose_25z_current','unit_of_measurement') }}
0.3 A
Damit wurde auf 1 Stelle gerundet, und die eingestellte Einheit angezeigt.
Und ich habe mich schon lange gefragt, warum ich bei der Entität die Anzeigegenauigkeit einstellen kann … und ich hier selber round(1) schreiben muss.
Doch es geht einfacher!
states
akzeptiert weitere Parameter! der erste gibt an, ob die eingestellte Anzeigegenauigkeit verwendet werden soll:
{{ states('sensor.steckdose_25z_current', True) }}
0.3
der zweite gibt an, ob die Einheit angezeigt werden soll:
{{ states('sensor.steckdose_25z_current', True, True) }}
0.3 A
Das macht die Anzeige in Dashboards um Längen konsistenter und einfacher.