{"id":1029,"date":"2026-06-19T23:14:15","date_gmt":"2026-06-19T21:14:15","guid":{"rendered":"https:\/\/www.coremind.ch\/wordpress\/?p=1029"},"modified":"2026-06-19T23:14:15","modified_gmt":"2026-06-19T21:14:15","slug":"event-entitaeten-in-ha-tasten-clever-ausloesen","status":"publish","type":"post","link":"https:\/\/www.coremind.ch\/wordpress\/event-entitaeten-in-ha-tasten-clever-ausloesen\/","title":{"rendered":"Event-Entit\u00e4ten in HA: Tasten clever ausl\u00f6sen"},"content":{"rendered":"<p>Wer einen Hue Dimmer Switch, einen Tap Dial oder eine IKEA-Fernbedienung in Home Assistant einbindet, st\u00f6sst fr\u00fcher oder sp\u00e4ter auf eine Frustration: Tasten sind zustandslos. Sie haben keinen \u00abAn\u00bb- oder \u00abAus\u00bb-Status, den man abfragen k\u00f6nnte \u2013 sie feuern nur im Moment des Drucks ein fl\u00fcchtiges Ereignis. Lange behalf man sich mit kryptischen Device-Triggern oder dem manuellen Abfangen von <code>hue_event<\/code> im Event-Bus. Seit Home Assistant die <strong>Event-Entit\u00e4ten<\/strong> eingef\u00fchrt hat, geht das deutlich sauberer \u2013 und genau darum geht es hier.<\/p>\n<h2>Das Problem mit zustandslosen Tasten<\/h2>\n<p>Ein Bewegungsmelder ist <code>on<\/code> oder <code>off<\/code>, 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\u00e4tetausch wertlos waren, oder lauschte direkt auf rohe Bus-Ereignisse \u2013 schwer lesbar und fehleranf\u00e4llig.<\/p>\n<p>Die Event-Entit\u00e4t l\u00f6st das, indem sie das jeweils zuletzt ausgel\u00f6ste Ereignis als Zustand festh\u00e4lt. Eine Taste erscheint damit als normale Entit\u00e4t, etwa <code>event.hue_dimmer_switch_2_taste_1<\/code>, deren Zustand der Zeitstempel des letzten Drucks ist. Das Attribut <code>event_type<\/code> verr\u00e4t die Art des Drucks \u2013 kurz, lang, losgelassen oder mehrfach. So l\u00e4sst sich auf einen Schlag erkennen, <em>welche<\/em> Taste <em>wie<\/em> gedr\u00fcckt wurde, ohne Hardware-IDs auswendig zu kennen.<\/p>\n<h2>Schritt f\u00fcr Schritt zur Automation<\/h2>\n<p>Zuerst herausfinden, was die Taste meldet. Unter <strong>Entwicklerwerkzeuge \u2192 Zust\u00e4nde<\/strong> die gew\u00fcnschte <code>event.<\/code>-Entit\u00e4t suchen und die Liste der m\u00f6glichen <code>event_type<\/code>-Werte im Attributbereich ablesen. Bei einem Hue Dimmer sind das typischerweise <code>initial_press<\/code>, <code>repeat<\/code>, <code>short_release<\/code> und <code>long_release<\/code>.<\/p>\n<p>Anschliessend triggert die Automation auf den Zustandswechsel der Event-Entit\u00e4t \u2013 jeder neue Tastendruck \u00e4ndert den Zeitstempel und l\u00f6st damit aus. Welche Aktion folgt, entscheidet eine Abfrage des <code>event_type<\/code>:<\/p>\n<pre><code>\u2029automation:\u2029  - alias: Hue Dimmer Taste 1 \u2013 kurz vs. lang\u2029    triggers:\u2029      - trigger: state\u2029        entity_id: event.hue_dimmer_switch_2_taste_1\u2029    conditions:\u2029      - condition: template\u2029        value_template: \"{{ trigger.to_state.state not in ['unknown', 'unavailable'] }}\"\u2029    actions:\u2029      - choose:\u2029          - conditions:\u2029              - condition: template\u2029                value_template: &gt;\u2029                  {{ trigger.to_state.attributes.event_type == 'short_release' }}\u2029            sequence:\u2029              - action: light.toggle\u2029                target:\u2029                  entity_id: light.hue_white_lamp_1\u2029          - conditions:\u2029              - condition: template\u2029                value_template: &gt;\u2029                  {{ trigger.to_state.attributes.event_type == 'long_release' }}\u2029            sequence:\u2029              - action: scene.turn_on\u2029                target:\u2029                  entity_id: scene.erdgeschoss_entspannen\u2029<\/code><\/pre>\n<p>Die Template-Bedingung mit <code>unknown<\/code>\/<code>unavailable<\/code> ist wichtig: Nach einem HA-Neustart steht die Event-Entit\u00e4t kurz auf <code>unknown<\/code>, und ohne diesen Filter w\u00fcrde der Neustart selbst die Automation ausl\u00f6sen.<\/p>\n<h2>Mehrere Tasten elegant b\u00fcndeln<\/h2>\n<p>Hat eine Fernbedienung vier Tasten, muss man nicht vier Automationen bauen. Man kann alle vier Event-Entit\u00e4ten in einem einzigen Trigger sammeln und \u00fcber <code>trigger.entity_id<\/code> unterscheiden, welche gedr\u00fcckt wurde:<\/p>\n<pre><code>\u2029    triggers:\u2029      - trigger: state\u2029        entity_id:\u2029          - event.hue_dimmer_switch_2_taste_1\u2029          - event.hue_dimmer_switch_2_taste_2\u2029          - event.hue_dimmer_switch_2_taste_3\u2029          - event.hue_dimmer_switch_2_taste_4\u2029    actions:\u2029      - variables:\u2029          taste: \"{{ trigger.to_state.attributes.event_type }}\"\u2029          quelle: \"{{ trigger.entity_id }}\"\u2029<\/code><\/pre>\n<p>Mit den beiden Variablen <code>taste<\/code> und <code>quelle<\/code> l\u00e4sst sich danach beliebig verzweigen. Das h\u00e4lt die Konfiguration kompakt und \u2013 der grosse Vorteil gegen\u00fcber Device-Triggern \u2013 portabel: Tauscht man sp\u00e4ter die Fernbedienung, passt man nur die Entit\u00e4ts-IDs an, die Logik bleibt.<\/p>\n<h2>Warum sich der Umstieg lohnt<\/h2>\n<p>Event-Entit\u00e4ten sind in YAML lesbar, in der Oberfl\u00e4che sichtbar und unabh\u00e4ngig von der konkreten Ger\u00e4teinstanz. Sie funktionieren \u00fcber Hue hinaus mit Aqara-W\u00fcrfeln, IKEA-Tastern und vielen Zigbee-Fernbedienungen gleichermassen. Wer seine Tastenlogik bisher \u00fcber Device-Trigger gel\u00f6st hat, gewinnt mit dem Umstieg vor allem Wartbarkeit. Wie man die zw\u00f6lf Funktionen eines Hue Dimmers \u00fcberhaupt erst voll ausreizt, zeigt der Beitrag zum <a href=\"https:\/\/www.coremind.ch\/wordpress\/hue-dimmer-switch-v2-in-ha-12-funktionen-auf-4-tasten\/\">Hue Dimmer Switch v2 in HA<\/a>.<\/p>\n<h2>Fazit<\/h2>\n<p>Zustandslose Tasten sind kein Sonderfall mehr, sondern ganz normale Entit\u00e4ten. Wer einmal das Muster verinnerlicht hat \u2013 auf den Zustandswechsel triggern, <code>event_type<\/code> auswerten, <code>unknown<\/code> abfangen \u2013, baut Tasten-Automationen schneller, sauberer und ger\u00e4teunabh\u00e4ngig. Suchen Sie als N\u00e4chstes in den Entwicklerwerkzeugen Ihre erste <code>event.<\/code>-Entit\u00e4t und schauen Sie nach, welche <code>event_type<\/code>-Werte sie liefert. Von dort ist es nur ein kurzer Schritt zur ersten portablen Tasten-Automation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer einen Hue Dimmer Switch, einen Tap Dial oder eine IKEA-Fernbedienung in Home Assistant einbindet, st\u00f6sst fr\u00fcher oder sp\u00e4ter auf eine Frustration: Tasten sind zustandslos. Sie haben keinen \u00abAn\u00bb- oder \u00abAus\u00bb-Status, den man abfragen k\u00f6nnte \u2013 sie feuern nur im Moment des Drucks ein fl\u00fcchtiges Ereignis. Lange behalf man sich mit kryptischen Device-Triggern oder dem &#8230; <a title=\"Event-Entit\u00e4ten in HA: Tasten clever ausl\u00f6sen\" class=\"read-more\" href=\"https:\/\/www.coremind.ch\/wordpress\/event-entitaeten-in-ha-tasten-clever-ausloesen\/\" aria-label=\"Mehr Informationen \u00fcber Event-Entit\u00e4ten in HA: Tasten clever ausl\u00f6sen\">Weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1029","post","type-post","status-publish","format-standard","hentry","category-ha"],"_links":{"self":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1029","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/comments?post=1029"}],"version-history":[{"count":1,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1029\/revisions"}],"predecessor-version":[{"id":1080,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1029\/revisions\/1080"}],"wp:attachment":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/media?parent=1029"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/categories?post=1029"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/tags?post=1029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}