Home Assistant

Anwesenheit bündeln mit person & zone

Wer mehrere Geräte trägt – iPhone, iPad, MacBook –, kennt das Problem: Home Assistant sieht jeden device_tracker einzeln, und plötzlich gilt das Haus als «leer», nur weil das iPhone kurz das WLAN verloren hat. Die Lösung steckt seit Jahren im Kern von HA und wird trotzdem unterschätzt: die person-Entität in Kombination mit der zone. Sie fasst beliebig viele Tracker zu einer einzigen, verlässlichen Aussage zusammen: zu Hause oder nicht. Dieser Beitrag zeigt, wie man daraus eine robuste Anwesenheitserkennung baut.

Das Problem mit einzelnen Trackern

Ein einzelner Tracker ist nie zuverlässig genug. Das iPhone wechselt zwischen WLAN und Mobilfunk, das MacBook schläft, das iPad liegt mal daheim, mal im Büro. Steuert man Automationen direkt über einen einzelnen device_tracker, entstehen Fehlalarme: Licht geht aus, obwohl jemand da ist, oder die Heizung fährt hoch, obwohl niemand kommt.

Die person-Entität löst das, indem sie mehrere Tracker zu einer Person zusammenführt. Solange auch nur ein zugeordneter Tracker «home» meldet, gilt die Person als anwesend. Das ist genau das gewünschte Verhalten – ein einzelner aussetzender Tracker kippt die Anwesenheit nicht mehr.

Schritt 1: Tracker einer Person zuordnen

Am einfachsten geht das über die Oberfläche unter Einstellungen → Personen. Dort wählt man pro Person alle Geräte aus, die sie zuverlässig trägt. Für ein Setup mit zwei Bewohnern könnten die Personen so aussehen:


# Beispielhafte Zuordnung (wird normalerweise über die UI gepflegt)
# person.mike_neuburger:
#   - device_tracker.mikes_iphone_17_pro
#   - device_tracker.ipad_pro_13_m5_von_mike
#   - device_tracker.macbook_pro_m1_von_mike
# person.louisa_neuburger:
#   - device_tracker.ipad_pro_129_von_louisa_2


Wichtig: Nur Geräte zuordnen, die wirklich mitgeführt werden. Ein MacBook, das fast immer zu Hause steht, verfälscht die Anwesenheit – es würde die Person dauerhaft als «home» melden, selbst wenn sie längst weg ist.

Schritt 2: Die Zone als Bezugspunkt

Die zone.home definiert über GPS-Koordinaten und Radius, was «zu Hause» bedeutet. Standardmässig sind 100 Meter gesetzt – in dicht bebauten Quartieren lohnt es sich, den Radius etwas zu verkleinern, damit die Nachbarstrasse nicht schon als «daheim» zählt. In der zones.yaml oder über die UI:


# zones.yaml
home_genau:
  name: Zuhause genau
  latitude: 47.0000
  longitude: 8.0000
  radius: 75
  icon: mdi:home


Schritt 3: Eine zusammengefasste Hausanwesenheit

Oft will man nicht nur einzelne Personen, sondern wissen: Ist überhaupt jemand zu Hause? Dafür eignet sich ein binary_sensor per Template, der alle Personen prüft:


# template.yaml
- binary_sensor:
    - name: "Jemand zu Hause"
      unique_id: jemand_zu_hause
      device_class: presence
      state: >
        {{ is_state('person.mike_neuburger', 'home')
           or is_state('person.louisa_neuburger', 'home') }}


Dieser Sensor ist die ideale Grundlage für Automationen – er bleibt «on», solange irgendjemand da ist, und schaltet erst auf «off», wenn wirklich alle das Haus verlassen haben.

Schritt 4: Automation gegen Fehlalarme absichern

Selbst mit gebündelter Anwesenheit lohnt sich eine kleine Verzögerung, damit ein kurzer GPS-Aussetzer keine Aktion auslöst. Die for-Bedingung wartet, bis der Zustand stabil ist:


# automations.yaml
- alias: "Alle weg – Energiesparmodus"
  trigger:
    - platform: state
      entity_id: binary_sensor.jemand_zu_hause
      to: "off"
      for:
        minutes: 5
  action:
    - service: scene.turn_on
      target:
        entity_id: scene.alle_aus


Die fünf Minuten Wartezeit fangen den klassischen Fall ab, in dem das letzte Telefon beim Verlassen kurz zwischen den Funkzellen pendelt.

Das Gegenstück – die Willkommens-Automation – funktioniert nach demselben Muster, reagiert aber auf den Wechsel von «off» auf «on». Hier braucht es meist keine Verzögerung, denn ein zu spät begrüssender Flur ist ärgerlicher als ein verfrühter. Ergänzt man die Bedingung um sun.sun (unter Horizont), schaltet das Ankunftslicht nur dann, wenn es draussen tatsächlich dunkel ist:


# automations.yaml
- alias: "Ankunft – Begrüssungslicht bei Dunkelheit"
  trigger:
    - platform: state
      entity_id: binary_sensor.jemand_zu_hause
      to: "on"
  condition:
    - condition: state
      entity_id: sun.sun
      state: below_horizon
  action:
    - service: scene.turn_on
      target:
        entity_id: scene.ankunft


Wer die Anwesenheit zusätzlich raumgenau verfeinern will, findet im Artikel zu mmWave-Presence sauber tunen mit ZHA und Tuya die Ergänzung für drinnen – person regelt das grobe «im Haus oder nicht», mmWave das feine «in diesem Raum».

Fazit

Die person-Entität ist eines der wirkungsvollsten Bordmittel von Home Assistant – und kostet nichts ausser ein paar Minuten Konfiguration. Wer seine Tracker sauber zuordnet, den Zonenradius anpasst und einen Template-Sensor für die Hausanwesenheit baut, bekommt eine Anwesenheitserkennung, die in der Praxis verlässlich funktioniert. Das ist das Fundament, auf dem alle weiteren Anwesenheits-Automationen erst wirklich stabil werden.

← Zurück zur Übersicht