(Leider kann ich meinen Beitrag von gestern nicht mehr ändern, daher hier neu)
Mein Tasmota Smartmeter Lesekopf liefert seit ein paar Tagen falsche Werte, die ich gerne “herausfiltern” würde. Woran das liegt, muss ich noch herausfinden.
Die Drehung des Kopfes um einen halben Millimeter hat nichts gebracht.
Aktuell sieht der Sensor wie folgt aus:
# Stromzähler Haupt Verbrauch
- name: "Stromzähler Haupt Verbrauch"
unique_id: "stromzhauptverbrauch"
unit_of_measurement: 'kWh'
device_class: "energy"
state_class: "total_increasing"
state: >
{% if states('sensor.tasmota_e320_total_in') | float <= 0 -%}
{{states('sensor.Stromzahler_haupt_verbrauch')}}
{% else %}
{% if states('sensor.tasmota_e320_total_in') | float > 99999 -%}
{{states('sensor.Stromzahler_haupt_verbrauch')}}
{% else %}
{{states('sensor.tasmota_e320_total_in') | float}}
{% endif %}
{% endif %}
Leider bringt das nicht das gewünschte Ergebnis.
Wie würde der Code aussehen bei folgenden Bedingungen?
- Nur Werte übernehmen, die zwischen 1800 und 50000 liegen
- Kein Ersatzwert wie z.B. “0” wenn Bedingung nicht erfüllt ist
Hier das logfile:
Nachtrag:
Ich probiere es mal hiermit:
{% set value = states('sensor.tasmota_e320_total_in') | float %}
{% if 1800 <= value <= 50000 %}
{{ value }}
{% endif %}
by HarryP: Zusammenführung Doppelpost (bitte „bearbeiten“ Funktion nutzen)





