Bisher habe ich eine MQTT-Lieferung immer wie folgt ausgelesen.
- name: "AHOY P_AC"
unique_id: "ahoy_p_ac"
state_topic: ahoy/HM-800/ch0/P_AC
Wenn ich jedoch HA reboote oder die YAML-Dateien neu einlese, dann ist abends verständlicherweise der sensor.ahoy_p_ac = unknown
oder ‘unavailable’
Nun dachte ich, dass ich direkt beim Auslesen des MQTT-Wertes diesen auswerte und den Wert in den Sensor gleich korrigiert setze. Ich habe also folgenden Code benutzt
- name: "AHOY P_AC"
unique_id: "ahoy_p_ac"
state_topic: ahoy/HM-800/ch0/P_AC
value_template: >
{% if (value == 'unknown') %}
0
{% else %}
{{ value }}
{% endif %}
probiert habe ich auch
- name: "AHOY P_AC"
unique_id: "ahoy_p_ac"
state_topic: ahoy/HM-800/ch0/P_AC
value_template: >
{% if (value in ['unknown', 'unavailable'] ) %}
0
{% else %}
{{ value }}
{% endif %}
Dummerweise ist im sensor.ahoy_p_ac
immer noch in der Zuständeabfrage der Wert unknown
.
Wie schaffe ich es hier 0 zu bekommen, wenn er unknown oder unavailable und den Wert, z.B. 200, wenn per MQTT 200 geliefert wird?
Danke Euch
Claudius