In fast jedem gewachsenen Home-Assistant-Setup schlummern Dutzende Entitäten der Domain button – und die meisten davon werden nie angefasst. Ein Blick in meine Entitätenliste zeigt über 30 Stück: 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äten, sondern fernauslösbare Aktionen – und genau die machen Wartung automatisierbar.
Button, Event oder input_button?
Die drei Domains werden gern verwechselt, tun aber völlig Unterschiedliches:
button: Eine Aktion, die HA an ein Gerät sendet. Du drückst, das Gerät tut etwas – identifizieren, neu starten, selbst testen, kalibrieren.event: Ein Ereignis, das vom Gerät zu HA kommt – etwa ein Tastendruck am Hue Dimmer.input_button: Ein virtueller Knopf ohne Gerät dahinter, ideal als manueller Auslöser im Dashboard.
Merkhilfe: button geht raus, event kommt rein. Der Zustand einer Button-Entität ist übrigens kein «on/off», sondern der Zeitstempel des letzten Drucks – das lässt sich hervorragend als Bedingung nutzen.
Rauchmelder-Selbsttest automatisieren
Der klassische Anwendungsfall: Ein Aqara-Rauchmelder bietet einen Selbsttest-Button. Statt monatlich auf den Knopf an der Decke zu drücken, erledigt das eine Automation am ersten Sonntag im Monat:
automation:
- alias: Rauchmelder Selbsttest monatlich
triggers:
- trigger: time
at: "10:00:00"
conditions:
- condition: template
value_template: "{{ now().day <= 7 and now().weekday() == 6 }}"
actions:
- action: button.press
target:
entity_id: button.lumi_lumi_sensor_smoke_acn03_selbsttest
- delay: "00:00:30"
- action: notify.mobile_app_mikes_iphone_17_pro
data:
title: Rauchmelder-Selbsttest
message: >-
Test ausgelöst. Letzter Druck:
{{ states('button.lumi_lumi_sensor_smoke_acn03_selbsttest') }}
Der Zeitstempel im Zustand liefert die Protokollierung gleich mit: Ein Template-Sensor kann anzeigen, wie viele Tage der letzte Test her ist.
Shelly automatisch neu starten
Zigbee- und WLAN-Geräte hängen sich gelegentlich auf. Statt die Steckdose zu ziehen, drückt HA den Reboot-Button des Geräts – aber nur, wenn es tatsächlich klemmt:
automation:
- alias: Shelly Auto-Reboot bei Ausfall
triggers:
- trigger: state
entity_id: switch.shellyplus1_441793a718f0_switch_0
to: "unavailable"
for: "00:30:00"
actions:
- action: button.press
target:
entity_id: button.shellyplus1_441793a718f0_reboot
Wichtig: Ist ein Gerät wirklich offline, erreicht auch der Reboot-Befehl es nicht mehr. Der Trick funktioniert dort, wo die Firmware noch antwortet, die Applikation aber hängt – zusätzlich gehört ein Zähler dazu, damit HA nicht in einer Reboot-Schleife landet.
Identifizieren: das unterschätzte Werkzeug
Jedes Zigbee-Gerät bringt einen «Identifizieren»-Button mit. Er lässt das Gerät blinken oder piepen – Gold wert, wenn drei baugleiche Sensoren im Haus verteilt sind und du nicht mehr weisst, welcher button.tze200_kb5noeto_ts0601_identifizieren in welchem Raum hängt. Als Skript gebündelt wird daraus ein Wartungshelfer:
script:
identify_alle_sensoren:
alias: Alle Sensoren identifizieren
sequence:
- action: button.press
target:
entity_id:
- button.ty0201_identifizieren
- button.lumi_lumi_sensor_magnet_aq2_identifizieren
- button.aqara_wasser_sensor_identifizieren
Wie du solche Bausteine sauber strukturierst und mehrfach verwendest, zeigt der Beitrag Skripte in HA: wiederverwendbare Bausteine – Button-Aktionen sind dafür ein perfektes Übungsfeld.
Wartungsstand sichtbar machen
Weil jede Button-Entität den Zeitstempel ihres letzten Drucks speichert, lässt sich daraus ohne Zusatzintegration ein Wartungs-Dashboard bauen. Ein Template-Sensor rechnet den Zeitstempel in Tage um und macht überfällige Aufgaben sofort sichtbar:
template:
- sensor:
- name: Rauchmelder Test vor Tagen
unit_of_measurement: d
state: >-
{% set t = states('button.lumi_lumi_sensor_smoke_acn03_selbsttest') %}
{{ ((now() - t | as_datetime).days) if t not in ['unknown','unavailable'] else 'unknown' }}
Mit einem Threshold- oder Alert-Baustein darüber meldet sich HA von selbst, wenn der Selbsttest länger als 40 Tage zurückliegt. Aus einem passiven Knopf wird so eine überwachte Routine – und die Wartung des Smart Homes verlässt endlich die Kategorie «irgendwann mal».
Vorsicht bei den heiklen Knöpfen
Nicht jeder Button gehört auf ein Dashboard. button.homeassistant_restart mitten in einer Kachelreihe ist ein Unfall mit Ansage, ebenso button.ignore_all_issues, der sämtliche Reparatur-Hinweise stumm schaltet. Sinnvoll ist deshalb: heikle Buttons per Entitäts-Einstellungen verstecken oder in einer separaten, mit Bestätigungsdialog versehenen Wartungs-Ansicht sammeln. Lovelace unterstützt confirmation bei Button-Karten – ein Klick weniger Risiko.
Fazit
Button-Entitäten sind die stille Wartungsschicht deines Smart Homes: Selbsttest, Reboot, Identifizieren und Kalibrieren – alles fernauslösbar und damit automatisierbar. Starte mit einem einzigen Anwendungsfall, etwa dem monatlichen Rauchmelder-Selbsttest, und arbeite dich dann durch die Entitätenliste. Filtere die Domain button in den Entwicklerwerkzeugen und schau, was deine Geräte tatsächlich alles können. Die Chance ist gross, dass dort Funktionen liegen, für die du bisher auf eine Leiter gestiegen bist.