{"id":1551,"date":"2026-08-05T13:00:46","date_gmt":"2026-08-05T11:00:46","guid":{"rendered":"https:\/\/www.coremind.ch\/wordpress\/?p=1551"},"modified":"2026-08-05T13:00:46","modified_gmt":"2026-08-05T11:00:46","slug":"button-entitaeten-in-ha-geraete-gezielt-ausloesen","status":"publish","type":"post","link":"https:\/\/www.coremind.ch\/wordpress\/button-entitaeten-in-ha-geraete-gezielt-ausloesen\/","title":{"rendered":"Button-Entit\u00e4ten in HA: Ger\u00e4te gezielt ausl\u00f6sen"},"content":{"rendered":"<p>In fast jedem gewachsenen Home-Assistant-Setup schlummern Dutzende Entit\u00e4ten der Domain <code>button<\/code> \u2013 und die meisten davon werden nie angefasst. Ein Blick in meine Entit\u00e4tenliste zeigt \u00fcber 30 St\u00fcck: <code>button.lumi_lumi_sensor_smoke_acn03_selbsttest<\/code> am Aqara-Rauchmelder, <code>button.ty0201_identifizieren<\/code> am Zigbee-Klimasensor, <code>button.shellyplus1pm_7c87ce64ae7c_reboot<\/code> an jedem Shelly, dazu <code>button.homeassistant_restart<\/code> und <code>button.ignore_all_issues<\/code>. Das sind keine Deko-Entit\u00e4ten, sondern fernausl\u00f6sbare Aktionen \u2013 und genau die machen Wartung automatisierbar.<\/p>\n<h2>Button, Event oder input_button?<\/h2>\n<p>Die drei Domains werden gern verwechselt, tun aber v\u00f6llig Unterschiedliches:<\/p>\n<ul>\n<li><strong><code>button<\/code><\/strong>: Eine Aktion, die HA an ein Ger\u00e4t sendet. Du dr\u00fcckst, das Ger\u00e4t tut etwas \u2013 identifizieren, neu starten, selbst testen, kalibrieren.<\/li>\n<li><strong><code>event<\/code><\/strong>: Ein Ereignis, das vom Ger\u00e4t zu HA kommt \u2013 etwa ein Tastendruck am Hue Dimmer.<\/li>\n<li><strong><code>input_button<\/code><\/strong>: Ein virtueller Knopf ohne Ger\u00e4t dahinter, ideal als manueller Ausl\u00f6ser im Dashboard.<\/li>\n<\/ul>\n<p>Merkhilfe: <code>button<\/code> geht raus, <code>event<\/code> kommt rein. Der Zustand einer Button-Entit\u00e4t ist \u00fcbrigens kein \u00abon\/off\u00bb, sondern der Zeitstempel des letzten Drucks \u2013 das l\u00e4sst sich hervorragend als Bedingung nutzen.<\/p>\n<h2>Rauchmelder-Selbsttest automatisieren<\/h2>\n<p>Der klassische Anwendungsfall: Ein Aqara-Rauchmelder bietet einen Selbsttest-Button. Statt monatlich auf den Knopf an der Decke zu dr\u00fccken, erledigt das eine Automation am ersten Sonntag im Monat:<\/p>\n<pre><code>\nautomation:\n  - alias: Rauchmelder Selbsttest monatlich\n    triggers:\n      - trigger: time\n        at: \"10:00:00\"\n    conditions:\n      - condition: template\n        value_template: \"{{ now().day <= 7 and now().weekday() == 6 }}\"\n    actions:\n      - action: button.press\n        target:\n          entity_id: button.lumi_lumi_sensor_smoke_acn03_selbsttest\n      - delay: \"00:00:30\"\n      - action: notify.mobile_app_mikes_iphone_17_pro\n        data:\n          title: Rauchmelder-Selbsttest\n          message: >-\n            Test ausgel\u00f6st. Letzter Druck:\n            {{ states('button.lumi_lumi_sensor_smoke_acn03_selbsttest') }}\n<\/code><\/pre>\n<p>Der Zeitstempel im Zustand liefert die Protokollierung gleich mit: Ein Template-Sensor kann anzeigen, wie viele Tage der letzte Test her ist.<\/p>\n<h2>Shelly automatisch neu starten<\/h2>\n<p>Zigbee- und WLAN-Ger\u00e4te h\u00e4ngen sich gelegentlich auf. Statt die Steckdose zu ziehen, dr\u00fcckt HA den Reboot-Button des Ger\u00e4ts \u2013 aber nur, wenn es tats\u00e4chlich klemmt:<\/p>\n<pre><code>\nautomation:\n  - alias: Shelly Auto-Reboot bei Ausfall\n    triggers:\n      - trigger: state\n        entity_id: switch.shellyplus1_441793a718f0_switch_0\n        to: \"unavailable\"\n        for: \"00:30:00\"\n    actions:\n      - action: button.press\n        target:\n          entity_id: button.shellyplus1_441793a718f0_reboot\n<\/code><\/pre>\n<p>Wichtig: Ist ein Ger\u00e4t wirklich offline, erreicht auch der Reboot-Befehl es nicht mehr. Der Trick funktioniert dort, wo die Firmware noch antwortet, die Applikation aber h\u00e4ngt \u2013 zus\u00e4tzlich geh\u00f6rt ein Z\u00e4hler dazu, damit HA nicht in einer Reboot-Schleife landet.<\/p>\n<h2>Identifizieren: das untersch\u00e4tzte Werkzeug<\/h2>\n<p>Jedes Zigbee-Ger\u00e4t bringt einen \u00abIdentifizieren\u00bb-Button mit. Er l\u00e4sst das Ger\u00e4t blinken oder piepen \u2013 Gold wert, wenn drei baugleiche Sensoren im Haus verteilt sind und du nicht mehr weisst, welcher <code>button.tze200_kb5noeto_ts0601_identifizieren<\/code> in welchem Raum h\u00e4ngt. Als Skript geb\u00fcndelt wird daraus ein Wartungshelfer:<\/p>\n<pre><code>\nscript:\n  identify_alle_sensoren:\n    alias: Alle Sensoren identifizieren\n    sequence:\n      - action: button.press\n        target:\n          entity_id:\n            - button.ty0201_identifizieren\n            - button.lumi_lumi_sensor_magnet_aq2_identifizieren\n            - button.aqara_wasser_sensor_identifizieren\n<\/code><\/pre>\n<p>Wie du solche Bausteine sauber strukturierst und mehrfach verwendest, zeigt der Beitrag <a href=\"https:\/\/www.coremind.ch\/wordpress\/skripte-in-ha-wiederverwendbare-bausteine\/\">Skripte in HA: wiederverwendbare Bausteine<\/a> \u2013 Button-Aktionen sind daf\u00fcr ein perfektes \u00dcbungsfeld.<\/p>\n<h2>Wartungsstand sichtbar machen<\/h2>\n<p>Weil jede Button-Entit\u00e4t den Zeitstempel ihres letzten Drucks speichert, l\u00e4sst sich daraus ohne Zusatzintegration ein Wartungs-Dashboard bauen. Ein Template-Sensor rechnet den Zeitstempel in Tage um und macht \u00fcberf\u00e4llige Aufgaben sofort sichtbar:<\/p>\n<pre><code>\ntemplate:\n  - sensor:\n      - name: Rauchmelder Test vor Tagen\n        unit_of_measurement: d\n        state: >-\n          {% set t = states('button.lumi_lumi_sensor_smoke_acn03_selbsttest') %}\n          {{ ((now() - t | as_datetime).days) if t not in ['unknown','unavailable'] else 'unknown' }}\n<\/code><\/pre>\n<p>Mit einem Threshold- oder Alert-Baustein dar\u00fcber meldet sich HA von selbst, wenn der Selbsttest l\u00e4nger als 40 Tage zur\u00fcckliegt. Aus einem passiven Knopf wird so eine \u00fcberwachte Routine \u2013 und die Wartung des Smart Homes verl\u00e4sst endlich die Kategorie \u00abirgendwann mal\u00bb.<\/p>\n<h2>Vorsicht bei den heiklen Kn\u00f6pfen<\/h2>\n<p>Nicht jeder Button geh\u00f6rt auf ein Dashboard. <code>button.homeassistant_restart<\/code> mitten in einer Kachelreihe ist ein Unfall mit Ansage, ebenso <code>button.ignore_all_issues<\/code>, der s\u00e4mtliche Reparatur-Hinweise stumm schaltet. Sinnvoll ist deshalb: heikle Buttons per Entit\u00e4ts-Einstellungen verstecken oder in einer separaten, mit Best\u00e4tigungsdialog versehenen Wartungs-Ansicht sammeln. Lovelace unterst\u00fctzt <code>confirmation<\/code> bei Button-Karten \u2013 ein Klick weniger Risiko.<\/p>\n<h2>Fazit<\/h2>\n<p>Button-Entit\u00e4ten sind die stille Wartungsschicht deines Smart Homes: Selbsttest, Reboot, Identifizieren und Kalibrieren \u2013 alles fernausl\u00f6sbar und damit automatisierbar. Starte mit einem einzigen Anwendungsfall, etwa dem monatlichen Rauchmelder-Selbsttest, und arbeite dich dann durch die Entit\u00e4tenliste. Filtere die Domain <code>button<\/code> in den Entwicklerwerkzeugen und schau, was deine Ger\u00e4te tats\u00e4chlich alles k\u00f6nnen. Die Chance ist gross, dass dort Funktionen liegen, f\u00fcr die du bisher auf eine Leiter gestiegen bist.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In fast jedem gewachsenen Home-Assistant-Setup schlummern Dutzende Entit\u00e4ten der Domain button \u2013 und die meisten davon werden nie angefasst. Ein Blick in meine Entit\u00e4tenliste zeigt \u00fcber 30 St\u00fcck: button.lumi_lumi_sensor_smoke_acn03_selbsttest am Aqara-Rauchmelder, button.ty0201_identifizieren am Zigbee-Klimasensor, button.shellyplus1pm_7c87ce64ae7c_reboot an jedem Shelly, dazu button.homeassistant_restart und button.ignore_all_issues. Das sind keine Deko-Entit\u00e4ten, sondern fernausl\u00f6sbare Aktionen \u2013 und genau die machen Wartung &#8230; <a title=\"Button-Entit\u00e4ten in HA: Ger\u00e4te gezielt ausl\u00f6sen\" class=\"read-more\" href=\"https:\/\/www.coremind.ch\/wordpress\/button-entitaeten-in-ha-geraete-gezielt-ausloesen\/\" aria-label=\"Mehr Informationen \u00fcber Button-Entit\u00e4ten in HA: Ger\u00e4te gezielt 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-1551","post","type-post","status-publish","format-standard","hentry","category-ha"],"_links":{"self":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1551","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=1551"}],"version-history":[{"count":1,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1551\/revisions"}],"predecessor-version":[{"id":1587,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1551\/revisions\/1587"}],"wp:attachment":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/media?parent=1551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/categories?post=1551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/tags?post=1551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}