Sensorwert in ESPHome als Integer ausgeben

u5zzug

Well-known member
YAML:
  - platform: irgendwas
    name: "irgendwas"
    filters:
    - lambda: "return static_cast<int>(round(x));"
Das hat bei mir zwar immer noch ein .0 hinten dran, aber zumind. nicht mehr sehr viele Nachkommastellen
 
hast du das ausprobiert? Jegliche Anzeige in templates (und in manchen Integrationen) berücksichtigt das nicht, weil man ja mit Realwerten rechnen muss und im Recorder muss ich auch nicht 12 Nachkommastellen haben.
 
in einer Template Karte?
Ich muss da immer 'rounded=true' dahinterschreiben und es gab im HA Forum reichlich Diskussion über die aus der ESPHome-Änderung entstehenden Probleme.
 
Nein direkt im ESPHome Builder
Code:
sensor:
  - platform: dallas_temp
    address: 0xa90000003501xxxx
    name: "WW HK VL"
    unit_of_measurement: "°C"
    icon: "mdi:thermometer-plus"
    device_class: "temperature"
    state_class: "measurement"
    accuracy_decimals: 0
    update_interval: 30s
 
Dann nim es eben so
Code:
 {{ states('sensor.heizung_ww_hk_vl') | float | round(0) | int }} °C
Gibt auf alle Fälle einen Wert ohne Komma zurück.
 
ich wollte es ohne round() und int, denn genau darum geht es, dass der Sensor in irgendwelchen custom cards, templates o.ä. nicht per default 12 Nachkommastellen hat.
accuracy_decimals: 0 ist lediglich eine Empfehlung, wie der Wert anzuzeigen ist.
 

Letzte Anleitungen

Statistik des Forums

Themen
7.327
Beiträge
71.450
Mitglieder
7.802
Neuestes Mitglied
amiga2000
Zurück
Oben