Mqtt direkt beim Auslesen auswerten und ändern

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