Da ich mir immer wieder zusammensuche, wie ich States in Home Assistant abfrage, fasse ich das jetzt einfach mal zusammen. Ich beschränke mich auf mir bis jetzt ausreichende Möglichkeiten.
state vergleichen
Um einen state zu vergleichen oder zu prüfen, kann state_attr
in Kombination mit if
oder elif
oder is_state
genutzt werden.
state_attr
:
{% if state_attr('media_player.receiver_yamaha', 'source') == 'Fire TV' %}
Fire TV
{% elif state_attr('media_player.receiver_yamaha', 'source') == 'Spotify' %}
{{ state_attr('media_player.receiver_yamaha', 'media_artist') }} - {{ state_attr('media_player.receiver_yamaha', 'media_title')}}
{% endif %}
is_state
:
{% if is_state('sensor.offene_fenster', '0') %}
mdi:window-closed
{% else %}
mdi:window-open
{% endif %}
Kurzschreibweise:
{{ 'mdi:window-closed' if is_state('sensor.offene_fenster', '0') else 'mdi:window-open' }}
multiple Abfrage mit in
:
{% if states('sensor.mein_toller_sensor') in ("unavailable", "unknown") %}
yada yada
{% endif %}
Was ich mir dahingehend ansehen sollte (beim flüchtigen Blick über die Templating-Doku):
select('is_state', 'on')
4 Antworten auf „Home Assistant: state (in Templates) abfragen“
Hi, wie ist die Zeichensetzung in („unavailable“, „unknown“) %} mit „Anführungszeichen“ oder ‚Hochkommma‘ ? Oder egal?
Sorry, hab deinen Kommentar gar nicht gesehen.
Ich glaube es ist relativ egal, nur keine deutschen An- und Abführungen.
Hi Michel. Danke für die Übersicht. Komme immer wieder mal auf diese Seite zurück und wollte mich dafür mal bedanken :)
Hi, und wie kombiniere ich eine ODER-Abfrage?
In meiner Sprache logisch etwa:
TRUE ist, wenn
is_state(’sensor.1′, ‚Status on‘)
ODER
is_state(’sensor.2′, ‚Status on‘)
ODER
(is_state(’sensor.1′, ‚Status on‘) UND is_state(’sensor.offene_fenster‘, ‚Status on‘)
Wie wäre der richtige Syntax für solche eine (zusammengefasste) Abfrage, die ich hier als Prüfung in einem Scheduler verwenden will.
Danke für einen Hinweis.