Alle berichten

Slimme huisstatus in Home Assistant: altijd de juiste staat op het juiste moment

Waarom één aanwezigheidsstatus niet genoeg is

De meeste Home Assistant-gebruikers beginnen met een simpele automatisering: lichten uit als iedereen weg is, lichten aan als iemand thuiskomt. Dat werkt, maar al snel merk je de beperkingen. Wat doe je als iemand slaapt maar nog wel thuis is? Wat als er gasten logeren terwijl jij op vakantie bent? En hoe voorkom je dat het alarm afgaat terwijl je partner nog in bed ligt?

De oplossing is een gelaagd statussysteem: een aparte status per persoon én een overkoepelende status voor het huis als geheel. Dit artikel laat zien hoe je dat bouwt met twee betrouwbare, onderling afgestemde automatiseringen — en welke krachtige mogelijkheden dat systeem ontsluit.

Het concept: drie lagen

Het systeem bestaat uit drie onderdelen die op elkaar voortbouwen:

  1. Persoonsstatus — voor elke bewoner een input_select met de waarden Thuis, Slapen en Afwezig. Deze wordt automatisch bijgehouden op basis van wifi-verbinding en niet-storen-stand van de telefoon.
  2. Huisstatus — één centrale input_select met de waarden Thuis, Slapen, Afwezig, Gastmodus en Vakantie. Deze wordt afgeleid uit de persoonsstatus en de eventuele aanwezigheid van gasten.
  3. Automatiseringen — alle verlichting, verwarming, beveiliging en andere apparaten reageren op de huisstatus. Zo hoef je maar op één plek iets te wijzigen om het hele huis te beïnvloeden.

Stap 1: Helper-entiteiten aanmaken

Voordat je de automatiseringen instelt, maak je de benodigde helper-entiteiten aan. Ga naar Instellingen → Apparaten & diensten → Helpers en klik op + Helper aanmaken.

Input Select: status per bewoner

Maak voor elke bewoner een aparte keuzelijst aan:

  • Naam: Status Bewoner 1  |  Entiteit-ID: input_select.status_bewoner_1
  • Naam: Status Bewoner 2  |  Entiteit-ID: input_select.status_bewoner_2

Geef beide helpers de volgende opties (exact zo gespeld, want de automatiseringen vergelijken op deze strings):

Thuis
Slapen
Afwezig

Stel Afwezig in als beginwaarde, zodat het systeem een veilige uitgangsstand heeft.

Input Select: huisstatus

Maak één keuzelijst aan voor de overkoepelende huisstatus:

  • Naam: Status Huis  |  Entiteit-ID: input_select.status_huis

Voeg de volgende opties toe:

Thuis
Slapen
Afwezig
Gastmodus
Vakantie

Vakantie is de enige optie die je handmatig instelt; alle andere worden door de automatisering beheerd.

Input Boolean: automatische besturing aan/uit

Deze schakelaar geeft je de mogelijkheid om de automatische besturing tijdelijk uit te schakelen — handig als je de huisstatus even handmatig wilt beheren:

  • Naam: Huisstatusbesturing automatisch  |  Entiteit-ID: input_boolean.huisstatusbesturing_automatisch

Zet de beginwaarde op Aan.

Groep: gasten

Maak via Instellingen → Apparaten & diensten → Helpers → Groep een apparaatgroep aan voor de telefoons van eventuele gasten:

  • Naam: Gasten  |  Entiteit-ID: group.gasten
  • Voeg de device_tracker-entiteiten van gasten toe als leden. De groep is home zodra minstens één lid thuis is.

Zijn er geen vaste gasten? Laat de groep leeg — de automatisering werkt dan alsof er geen gasten zijn.

Stap 2: Persoonsstatus bijhouden

Maak voor elke bewoner een aparte automatisering aan die de persoonsstatus bijhoudt. Onderstaande automatisering is het sjabloon; vervang bewoner_1 door de naam van de betreffende persoon.

De logica werkt als volgt:

  • Telefoon verbonden met wifi + niet-storen uit → Thuis
  • Telefoon verbonden met wifi + niet-storen aan (priority_only) → Slapen
  • Telefoon niet op wifi (langer dan 1 minuut) → Afwezig

De vertraging van 1 minuut bij vertrek voorkomt dat de status al op Afwezig springt terwijl je telefoon alleen even de wifi-verbinding verbreekt.

alias: Aanwezigheid - Status Bewoner 1
description: Persoonsstatus bijhouden op basis van wifi en niet-storen-stand
triggers:
  - entity_id:
      - device_tracker.telefoon_bewoner_1_wifi
    id: "1"
    to:
      - home
    trigger: state
  - entity_id:
      - sensor.telefoon_bewoner_1_nietstorenstand
    trigger: state
  - entity_id:
      - device_tracker.telefoon_bewoner_1_wifi
    id: "1"
    to: not_home
    for:
      hours: 0
      minutes: 1
      seconds: 0
    trigger: state
conditions: []
actions:
  - choose:
      - conditions:
          - condition: and
            conditions:
              - condition: state
                entity_id: device_tracker.telefoon_bewoner_1_wifi
                state: home
              - condition: state
                entity_id: sensor.telefoon_bewoner_1_nietstorenstand
                state: "off"
        sequence:
          - data:
              option: Thuis
            target:
              entity_id: input_select.status_bewoner_1
            action: input_select.select_option
      - conditions:
          - condition: and
            conditions:
              - condition: state
                entity_id: device_tracker.telefoon_bewoner_1_wifi
                state: home
              - condition: state
                entity_id: sensor.telefoon_bewoner_1_nietstorenstand
                state: priority_only
        sequence:
          - data:
              option: Slapen
            target:
              entity_id: input_select.status_bewoner_1
            action: input_select.select_option
      - conditions:
          - condition: state
            entity_id: device_tracker.telefoon_bewoner_1_wifi
            state: not_home
        sequence:
          - data:
              option: Afwezig
            target:
              entity_id: input_select.status_bewoner_1
            action: input_select.select_option
mode: restart

Welke entiteiten heb je nodig?

WiFi device tracker — De entiteit device_tracker.telefoon_bewoner_1_wifi verschijnt automatisch als je een ondersteunde router (Unifi, Fritz!Box, Mikrotik, …) hebt geïntegreerd, of als je de Home Assistant Companion App gebruikt met lokale wifi-detectie ingeschakeld. Controleer de exacte entiteitnaam via Instellingen → Apparaten & diensten → Entiteiten en zoek op de naam van het apparaat.

Niet-storen-sensor — Voor Android-telefoons (Samsung Galaxy en de meeste andere merken) levert de Companion App automatisch een sensor met de niet-storen-stand: sensor.telefoon_bewoner_1_nietstorenstand. De mogelijke waarden zijn off (alle meldingen), priority_only (alleen prioriteit, de typische slaapstand) en alarms_only. Op iOS heet de sensor anders maar is de werking vergelijkbaar — zoek op "focus" of "do not disturb" in de entiteitenlijst.

Herhaal deze automatisering voor elke bewoner, met de bijbehorende entiteiten en het juiste input_select.

Zet de automatiseringsmodus op restart: als de sensor snel van staat wisselt, begint de automatisering opnieuw en wordt alleen de eindstand verwerkt.

Stap 3: Huisstatus automatisch bepalen

De tweede automatisering bepaalt de overkoepelende huisstatus op basis van de persoonsstatus van alle bewoners en de aanwezigheid van gasten. De logica werkt van boven naar beneden met de volgende prioriteitsregels:

  1. Is minstens één bewoner Thuis en niemand in de toestand Slapen? → Thuis
  2. Is minstens één bewoner Slapen? → Slapen
  3. Is iedereen Afwezig én zijn er geen gasten? → Afwezig
  4. Is iedereen Afwezig maar zijn er wél gasten thuis? → Gastmodus

De status Vakantie wordt nooit overschreven door de automatisering — die stel je handmatig in als je langer dan een dag van huis bent.

alias: Aanwezigheid - Huisstatus
description: Bepalen van de huisstatus op basis van de status van bewoners
triggers:
  - entity_id:
      - input_select.status_bewoner_1
    trigger: state
  - entity_id:
      - input_select.status_bewoner_2
    trigger: state
  - trigger: state
    entity_id:
      - group.gasten
conditions:
  - condition: and
    conditions:
      - condition: state
        entity_id: input_boolean.huisstatusbesturing_automatisch
        state: "on"
      - condition: or
        conditions:
          - condition: not
            conditions:
              - condition: state
                entity_id: input_select.status_huis
                state: Vakantie
actions:
  - choose:
      - alias: Thuis
        conditions:
          - condition: or
            conditions:
              - condition: state
                entity_id: input_select.status_bewoner_1
                state: Thuis
              - condition: state
                entity_id: input_select.status_bewoner_2
                state: Thuis
          - condition: not
            conditions:
              - condition: state
                entity_id: input_select.status_bewoner_1
                state: Slapen
              - condition: state
                entity_id: input_select.status_bewoner_2
                state: Slapen
        sequence:
          - data:
              option: Thuis
            target:
              entity_id: input_select.status_huis
            action: input_select.select_option
      - alias: Slapen
        conditions:
          - condition: or
            conditions:
              - condition: state
                entity_id: input_select.status_bewoner_1
                state: Slapen
              - condition: state
                entity_id: input_select.status_bewoner_2
                state: Slapen
        sequence:
          - data:
              option: Slapen
            target:
              entity_id: input_select.status_huis
            action: input_select.select_option
      - alias: Afwezig of Gastmodus
        conditions:
          - condition: and
            conditions:
              - condition: state
                entity_id: input_select.status_bewoner_1
                state: Afwezig
              - condition: state
                entity_id: input_select.status_bewoner_2
                state: Afwezig
        sequence:
          - if:
              - condition: state
                entity_id: group.gasten
                state: not_home
            then:
              - data:
                  option: Afwezig
                target:
                  entity_id: input_select.status_huis
                action: input_select.select_option
            else:
              - data:
                  option: Gastmodus
                target:
                  entity_id: input_select.status_huis
                action: input_select.select_option
mode: single

Stel de automatiseringsmodus in op single: omdat alle triggers snel na elkaar kunnen vuren (beide telefoons bereiken tegelijk het huis), is het voldoende om de automatisering één keer volledig te laten uitvoeren.

Stap 4: Je huis laten reageren op de huisstatus

Met het statussysteem op orde bouw je krachtige, op maat gemaakte automatiseringen die reageren op input_select.status_huis. Hieronder vind je een reeks praktische voorbeelden.

Verlichting

Koppel je verlichting direct aan de huisstatus voor een volledig hands-free verlichtingservaring:

  • Afwezig → Thuis: schakel sfeerverlichting in de woonkamer in op basis van het tijdstip (overdag helder, 's avonds gedimde warm-wit tint).
  • Thuis → Slapen: schakel alle lampen uit, behalve een gedimd nachtlampje in de gang (2–5% helderheid, warm-oranje tint) zodat een toiletbezoek 's nachts geen harde verlichting activeert.
  • Slapen → Afwezig: als een bewoner 's nachts vertrekt (bijv. vroege vlucht), alle lampen uit en alarm inschakelen.
  • Gastmodus: houd het nachtlampje actief zodat gasten veilig kunnen rondlopen, maar schakel 's ochtends automatisch over naar dagverlichting als de zon op is.

Thermostaat

Een slim klimaatsysteem dat meebeweegt met de huisstatus bespaart aanzienlijk op je energierekening:

  • Afwezig: verlaag naar eco-stand (bijv. 15 °C of volledig uit bij moderne isolatie). Start het voorverwarmen automatisch 30 minuten voordat iemand thuiskomt, op basis van een GPS-trigger uit de Companion App.
  • Thuis: zet de thermostaat op comforttemperatuur (bijv. 20 °C).
  • Slapen: verlaag naar slaaptemperatuur (bijv. 17 °C). Stel in dat de thermostaat 30 minuten voor de gebruikelijke wektijd al begint te stoken.
  • Vakantie: zet op vorstbeveiliging (bijv. 10 °C) en stuur een melding als de temperatuur daar onder daalt.

Alarmsysteem

Koppel het alarm volledig aan de huisstatus voor een veilig huis zonder handmatige handelingen:

  • Thuis: alarm uitgeschakeld of op binnenstand (deurbel- en raamcontacten actief, bewegingssensoren niet).
  • Slapen: alarm op nachtstand — deuren en ramen worden bewaakt, maar bewegingssensoren binnenshuis blijven inactief zodat nachtelijke toiletbezoeken geen alarm veroorzaken.
  • Afwezig: alarm volledig ingeschakeld, inclusief alle bewegingssensoren. Stuur een pushmelding als het alarm geactiveerd wordt.
  • Vakantie: zet het alarm op de hoogste stand en activeer aanwezigheidssimulatie — lichten gaan op willekeurige tijden aan en uit om aanwezigheid te suggereren.

Standby-verbruikers uitschakelen

In combinatie met slimme stekkers (smart plugs) schakel je hoge standby-verbruikers automatisch uit:

  • Afwezig én Slapen: schakel de smart plug van de televisie, gameconsole of thuisbioscoopset uit. Een moderne televisie trekt in standby 1–5 W, een gameconsole zelfs 10–20 W — over een jaar telt dat op.
  • Afwezig: schakel koffiemachine, broodrooster en andere keukengadgets uit via een smart plug. Stel wel een whitelist in voor apparaten die ook bij afwezigheid stroom nodig hebben (koelkast, vriezer, wasmachine).
  • Wakker worden (Slapen → Thuis): zet de koffiemachine alvast aan, zodat de koffie klaarstaat als je de slaapkamer uitkomt.

Aanwezigheidssimulatie bij vakantie

In vakantiestand kun je een overtuigende aanwezigheidssimulatie inschakelen:

  • Lampen op willekeurige tijden (binnen een normaal dagpatroon) automatisch aan en uit gaan via een sjabloon-automatisering.
  • De televisie of radio via een smart plug en een tijdschema inschakelen alsof iemand thuiszit.
  • Melding sturen bij bewegingsdetectie buiten, zodat je altijd op de hoogte bent vanuit het buitenland.

Persoonlijke meldingen en notificaties

  • Stuur een pushmelding als de huisstatus verandert naar Afwezig maar een raam of deur nog openstaat.
  • Herinner een bewoner die het huis verlaat dat er nog wasgoed in de wasmachine zit.
  • Laat een welkomstgeluid spelen via een slimme speaker als iemand thuiskomt na een lange dag.

Tips voor een betrouwbare werking

  • Test elke staat handmatig — Zet de helper-entiteiten tijdelijk handmatig op elke waarde en controleer of alle afhankelijke automatiseringen correct reageren voordat je het systeem helemaal automatisch maakt.
  • Gebruik de schakelaar voor automatische besturing — De input_boolean.huisstatusbesturing_automatisch geeft je een vluchtroute als de automatisering zich onverwacht gedraagt. Zet hem op je dashboard zodat je hem snel kunt bereiken.
  • Vakantie handmatig beheren — Schakel vóór vertrek handmatig naar Vakantie en bij terugkomst terug naar Afwezig. De automatisering detecteert de thuiskomst en zet de huisstatus vanzelf terug op Thuis.
  • Niet-storen op wekker-uitzondering — Stel op je telefoon in dat de wekker altijd gaat, ook in niet-storen-modus. Zo word je niet gemist door de automatisering als je staat op priority_only.
  • Vertraging bij vertrek — Voeg in de persoonsstatus-automatisering al een minuut vertraging toe bij not_home. Overweeg voor kritieke automatiseringen (alarm, thermostaat) een extra vertraging van 2–3 minuten op de huisstatus-automatisering, zodat een korte wifi-onderbreking geen keten aan acties in gang zet.
  • Gastmodus in de praktijk — Informeer gasten dat hun telefoon in de groep group.gasten staat. Zo kun je ook voor hen automatiseringen bouwen — denk aan gastenverlichting of een aparte thermostaatzone voor de logeerkamer.

Conclusie

Een gelaagd aanwezigheidssysteem met een persoonsstatus per bewoner en een centrale huisstatus is de meest robuuste manier om je Home Assistant-installatie te laten reageren op wie er thuis is en wat ze doen. De opzet kost wat tijd, maar levert een fundament op waarop je jarenlang kunt bouwen. Nieuwe automatiseringen — een slimme stekker, een extra lamp, een nieuw beveiligingsscenario — sluiten allemaal op hetzelfde haakje aan: input_select.status_huis. Geen dubbele logica, geen inconsistenties, gewoon één bron van waarheid voor je hele huis.

Liever samen aan de slag

Ik help je op afstand aan een stabiel en veilig slim huis. Het kennismakingsgesprek is gratis.

Verder lezen