Home Assistant

Button-Entitäten in HA: Geräte gezielt auslösen

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.

← Zurück zur Übersicht