Attribute eines Sensors in Home Assistant nutzen

Entitäten also auch Sensoren können in Home Assistant neben dem eigentlichen Zustand auch noch weitere Attribute haben, die beliebig genutzt werden können. Hierdurch stehen einem unzählige weitere Werte zur Verfügung, welche für Automatisierungen beispielsweise genutzt werden können. Wie man auf diese Attribute zugreifen kann, erkläre ich dir in diesem Beitrag.

Da vermutlich einige nun irritiert sein werden, worum es sich bei Attributen einer Entität handelt, möchte ich diese zunächst an einem konkreten Beispiel erklären:

Attribute einer Home Assistant Entität

Was wir im obigen Screenshot sehen, ist der Dialog Entwicklerwerkzeuge Zustände für die Entität sensor.pixel_5n_geocoded_location. Bei der Entität handelt es sich um eine von der Home Assistant App bereitgestellte Entität – also Daten von meinem Handy. Im konkreten Fall die „geocoded location“, also Informationen über den aktuellen Standort des Handys (ein paar Details unter Attribute habe ich ausgepixelt – bitte nicht wundern).

Was man in der Regel für Automations nutzt, ist der eigentliche Zustand der Entität. Ebenso ist aber auch möglich auf die unter „Attribute“ aufgeführten Attribute und deren Werte zuzugreifen. Die Auflistung dort ist wie ein Telefonbuch zu verstehen: Wenn man auf das Attribut „administrative_area“ zugreift, erhält man als Wert „Nordrhein-Westfalen“ zurück beispielsweise.

Am einfachsten probiert man das Auswählen des gewünschten Attributs unter Entwicklerwerkzeuge -> Template aus, da man hier „on-the-fly“ Code schreiben und das Ergebnis prüfen kann:

Du magst Home Assistant? Dann abonniere kostenlos meine Beiträge mit Tipps, Tricks und Anleitungen rund um Home Assistant:

Follow Home Assistant
( 349 Followers )
X

Follow Home Assistant

E-mail : *
* Ich stimme der Datenschutzerklärung zu!

Garantiert kein Spam, keine Werbung und immer mit Abmelde-Link, solltest du es dir anders überlegen!

Entwicklerwerkzeuge Template Demo in Home Assistant

Links im Template-Editor kann man Code eintippen, dessen Ergebnis dann rechts im Bild gezeigt wird.

Wie liest man das Attribut einer Entität aus?

Aus dem Screenshot kann man es schon ablesen, wie ein konkretes Attribut einer Entität angesprochen beziehungsweise ausgelesen wird. Der Aufbau ist immer gleich wie folgt:

{{ states.DEINE-ENTITÄT.attributes.DEIN-ATTRIBUT }}

In dem konkreten Fall von mir also {{ states.sensor.pixel_5n_geocoded_location.attributes.administrative_area }} um auf das Attribut administrative_area der Entität sensor.pixel_5n_geocoded_location zuzugreifen

Um für die selbe Entität auf das Attribut iso_country_code zuzugreifen, würde man lediglich das Attribut am Ende tauschen, also konkret {{ states.sensor.pixel_5n_geocoded_location.attributes.iso_country_code }} – lediglich das Attribut am Ende ändert sich!

In einer Automation kannst du auf solche Attribute wie folgt zugreifen:

    trigger:
    - platform: numeric_state
      entity_id: weather.home
      attribute: temperature
      above: 23

Wie du siehst, musst du nicht den „Umweg“ über die geschweiften Klammern etc. gehen. Aber in anderen Anwendungsfällen wirst du ggf. hierum nicht umherkommen.

Ich hoffe, dass ich dir mit diesem Tipp ein wenig weiterhelfen konnte und du somit ggf. sogar die Lösung für ein bislang bestehendes Problem gefunden hast – immerhin stehen dir nun deutlich mehr dynamische Attribute in deinem Smarthome zur Verfügung! 😉

Dieser Beitrag ist Teil einer kleinen Beitrags-Serie rund um das Smarthome mit Home Assistant.

Foto des Autors
Autor
Olli
Ca. Ende 30, seit Windows 3.1 Fan von Computern, Gadgets, Handys und allem, was sich irgendwie programmieren lässt. Ich mag es gerne individuell und möglichst einfach, probiere aber auch gerne neue Dinge sofort aus. :) Konnte ich dir helfen? Dann würde ich mich über ein Bier freuen ;) Bier-Spende

7 Gedanken zu „Attribute eines Sensors in Home Assistant nutzen“

  1. Wenn ein Attribut eine Leerstelle hat, dann so: {{states.sensor.anjas_iphone_11_pro_max_geocoded_location.attributes[‚Sub Locality‘]}}

    Doch wie kann ich das in einer Karte darstellen?

    Antworten
    • Also wenn dein iPhone 11 Pro Max mit einer Person (Anja) verknüpft ist, solltest du bei einem Klick auf person.anja eigentlich eine OpenStreetMap-Karte angezeigt bekommen mit dem zuletzt bekannten Standort.

      Antworten
    • Hi Christian,
      also ich habe bewusst nichts getan, um die Attribute sehen zu können. Auch auf meiner DEV-Umgebung von Home Assistant, die noch relativ unangetastet ist, habe ich die Ansicht Entität, Zustand, Attribute, wenn ich in den Entwicklerwerkzeugen auf Zustände wechsel.

      Antworten
  2. Ich habe das zwar hinbekommen.
    Aber der Wert des Attributs (eine Temperatur) wird nur 1x gelesen.
    Und zwar, wenn ich die config yaml (Template) neu starte.
    Danach ändert sich zwar der Wert (sehe ich in meiner Ios App) aber
    diese geänderten Werte tauchen in Home Assitant nicht auf.
    Wie füge ich also ein „Refresh“ durch, damit ich ständig den aktuellen Wert
    in home assistant bekomme.

    Antworten
    • Kann es sein, dass du einen Handy-Sensor ausliest, der von der Home Assistant App bereitgestellt wird? Was du schreibst, klingt nämlich ein wenig danach. Und wenn dem so ist, klingt das für mich danach, als wäre die Aktualisierungsfrequenz der App-Sensoren auf „selten“ eingestellt. Bei Android kann man in den App-Einstellungen unter Aktualisierungsfrequenz der Sensoren wählen zwischen: Normal, Schnell während des Ladens, Immer schnell.

      Hilft das ggf.?

      Antworten
  3. Hi, hat wer eine Idee, ein Attribut (Helligkeit) entsprechend eines Wertes in einem Sensor (Dimmer) zu ändern. Mit Automatisierung kann ich zwar das Attribut auslesen, aber scheinbar nicht schreiben, oder?
    Danke für egal welchen input 🙂
    Thomas

    Antworten

Schreibe einen Kommentar