Home Assistant

Event-Entitäten in HA: Tasten clever auslösen

Wer einen Hue Dimmer Switch, einen Tap Dial oder eine IKEA-Fernbedienung in Home Assistant einbindet, stösst früher oder später auf eine Frustration: Tasten sind zustandslos. Sie haben keinen «An»- oder «Aus»-Status, den man abfragen könnte – sie feuern nur im Moment des Drucks ein flüchtiges Ereignis. Lange behalf man sich mit kryptischen Device-Triggern oder dem manuellen Abfangen von hue_event im Event-Bus. Seit Home Assistant die Event-Entitäten eingeführt hat, geht das deutlich sauberer – und genau darum geht es hier.

Das Problem mit zustandslosen Tasten

Ein Bewegungsmelder ist on oder off, ein Sensor hat einen Messwert. Ein Tastendruck dagegen ist ein Augenblick ohne Dauerzustand. Klassische Automationen, die auf einen Zustandswechsel triggern, greifen hier ins Leere. Die Folge: Man baute Device-Trigger, die fest an eine bestimmte Hardware gebunden und beim Gerätetausch wertlos waren, oder lauschte direkt auf rohe Bus-Ereignisse – schwer lesbar und fehleranfällig.

Die Event-Entität löst das, indem sie das jeweils zuletzt ausgelöste Ereignis als Zustand festhält. Eine Taste erscheint damit als normale Entität, etwa event.hue_dimmer_switch_2_taste_1, deren Zustand der Zeitstempel des letzten Drucks ist. Das Attribut event_type verrät die Art des Drucks – kurz, lang, losgelassen oder mehrfach. So lässt sich auf einen Schlag erkennen, welche Taste wie gedrückt wurde, ohne Hardware-IDs auswendig zu kennen.

Schritt für Schritt zur Automation

Zuerst herausfinden, was die Taste meldet. Unter Entwicklerwerkzeuge → Zustände die gewünschte event.-Entität suchen und die Liste der möglichen event_type-Werte im Attributbereich ablesen. Bei einem Hue Dimmer sind das typischerweise initial_press, repeat, short_release und long_release.

Anschliessend triggert die Automation auf den Zustandswechsel der Event-Entität – jeder neue Tastendruck ändert den Zeitstempel und löst damit aus. Welche Aktion folgt, entscheidet eine Abfrage des event_type:


automation:
  - alias: Hue Dimmer Taste 1 – kurz vs. lang
    triggers:
      - trigger: state
        entity_id: event.hue_dimmer_switch_2_taste_1
    conditions:
      - condition: template
        value_template: "{{ trigger.to_state.state not in ['unknown', 'unavailable'] }}"
    actions:
      - choose:
          - conditions:
              - condition: template
                value_template: >
                  {{ trigger.to_state.attributes.event_type == 'short_release' }}
            sequence:
              - action: light.toggle
                target:
                  entity_id: light.hue_white_lamp_1
          - conditions:
              - condition: template
                value_template: >
                  {{ trigger.to_state.attributes.event_type == 'long_release' }}
            sequence:
              - action: scene.turn_on
                target:
                  entity_id: scene.erdgeschoss_entspannen


Die Template-Bedingung mit unknown/unavailable ist wichtig: Nach einem HA-Neustart steht die Event-Entität kurz auf unknown, und ohne diesen Filter würde der Neustart selbst die Automation auslösen.

Mehrere Tasten elegant bündeln

Hat eine Fernbedienung vier Tasten, muss man nicht vier Automationen bauen. Man kann alle vier Event-Entitäten in einem einzigen Trigger sammeln und über trigger.entity_id unterscheiden, welche gedrückt wurde:


    triggers:
      - trigger: state
        entity_id:
          - event.hue_dimmer_switch_2_taste_1
          - event.hue_dimmer_switch_2_taste_2
          - event.hue_dimmer_switch_2_taste_3
          - event.hue_dimmer_switch_2_taste_4
    actions:
      - variables:
          taste: "{{ trigger.to_state.attributes.event_type }}"
          quelle: "{{ trigger.entity_id }}"


Mit den beiden Variablen taste und quelle lässt sich danach beliebig verzweigen. Das hält die Konfiguration kompakt und – der grosse Vorteil gegenüber Device-Triggern – portabel: Tauscht man später die Fernbedienung, passt man nur die Entitäts-IDs an, die Logik bleibt.

Warum sich der Umstieg lohnt

Event-Entitäten sind in YAML lesbar, in der Oberfläche sichtbar und unabhängig von der konkreten Geräteinstanz. Sie funktionieren über Hue hinaus mit Aqara-Würfeln, IKEA-Tastern und vielen Zigbee-Fernbedienungen gleichermassen. Wer seine Tastenlogik bisher über Device-Trigger gelöst hat, gewinnt mit dem Umstieg vor allem Wartbarkeit. Wie man die zwölf Funktionen eines Hue Dimmers überhaupt erst voll ausreizt, zeigt der Beitrag zum Hue Dimmer Switch v2 in HA.

Fazit

Zustandslose Tasten sind kein Sonderfall mehr, sondern ganz normale Entitäten. Wer einmal das Muster verinnerlicht hat – auf den Zustandswechsel triggern, event_type auswerten, unknown abfangen –, baut Tasten-Automationen schneller, sauberer und geräteunabhängig. Suchen Sie als Nächstes in den Entwicklerwerkzeugen Ihre erste event.-Entität und schauen Sie nach, welche event_type-Werte sie liefert. Von dort ist es nur ein kurzer Schritt zur ersten portablen Tasten-Automation.

← Zurück zur Übersicht