Tach, 1st post - sonst nur Mitleser.
Ich frage mich ob es eine Möglichkeit gibt, ähnlich wie in anderen Programmiersprachen wie bswp. PHP Variablen im Vorfeld zu bestimmen und diese dann in Templates zu benutzen.
Ich habe bspw. diesen Code hier:
type: custom:mushroom-template-card
primary: Terassentür
secondary: |-
{% if is_state("sensor.kontakt_aq2", "Zu") %}
Geschlossen
{% else %}
Seit {{ (as_timestamp(now()) - as_timestamp(states.binary_sensor.lumi_lumi_sensor_magnet_aq2_opening_2.last_changed)) | timestamp_custom ('%M') }} Minuten
{% endif %}
icon: |-
{% if is_state("sensor.kontakt_aq2", "Zu") %}
mdi:door
{% else %}
mdi:door-open
{% endif %}
icon_color: |-
{% if is_state("sensor.kontakt_aq2", "Zu") %}
grey
{% else %}
red
{% endif %}
entity: sensor.kontakt_aq2
tap_action:
action: none
hold_action:
action: more-info
double_tap_action:
action: none
multiline_secondary: false
card_mod:
style: |
ha-card {
{% if is_state('sensor.kontakt_aq2', 'Zu') %}
{% else %}
--card-secondary-color: red;
--card-primary-color: red;
{% endif %};
}
Ich frage hier also gleich 4 mal ab wie der Zustand von dem Türkontakt ist. Imho muss es doch irgendwie eine Möglichkeit, das zu vereinfachen.
{% if is_state("sensor.kontakt_aq2", "Zu") %}
$icon_color = 'green'
$icon: 'mdi:door'
$secondary: 'Geschlossen'
usw...
{% else %}
$icon_color = 'red'
$icon: 'mdi:door-open'
$secondary: 'Seit XY Minuten'
usw...
{% endif %}
So irgendwie… Im eigentlichen Template werden halt die Variablen gesetzt und fertig. Geht das irgendwie?