Kategorien
Home Assistant Smart Home

Home Assistant: state (in Templates) abfragen

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?

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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert