Klockan är 14.20 och ljuset i mötesrummet slocknar mitt i presentationen. Åtta personer sitter stilla och lyssnar, PIR-sensorn ser ingen rörelse, och Home Assistant drar slutsatsen att rummet är tomt. Tre timmar senare, på natten, vandrar en städvagn förbi dörren och samma sensor startar ventilationen i ett rum som ingen använder. Det är så det ser ut när home assistant närvaro bygger på rörelse istället för på faktiskt antal personer. Den här artikeln visar steg för steg hur du i stället gör personräknare och beläggningssensorer till en närvarosignal som driftorganisationen vågar lita på.
Om du vill ha den bredare bilden – arkitekturval, automationer för energi och var Home Assistant slutar räcka till – finns den i vår kompletta guide till beläggningsintegration i Home Assistant. Här håller vi oss till en enda sak: att få närvarodetekteringen rätt.
Steg 1: bestäm vad "närvaro" betyder i varje zon
Innan du skriver en enda rad konfiguration behöver du en definition per zon. "Någon är här" är inte en definition – det är en känsla. Skriv i stället ner tre saker för varje rum eller våningsplan:
- Tröskel: för de flesta zoner är det "antal personer större än noll", men ett öppet kontorslandskap kan behöva "minst tre" för att en enstaka person som hämtar en pärm inte ska starta ventilationen för hela planet.
- Fördröjning till tom: hur länge antalet ska ha varit noll innan zonen räknas som tom. Femton minuter är en bra startpunkt för rum med stillasittande arbete.
- Fördröjning till upptagen: normalt noll. Du vill att ljus och luft reagerar direkt när första personen kommer in.
Den asymmetrin – snabbt på, långsamt av – är hela skillnaden mellan en närvarosensor som uppfattas som smart och en som uppfattas som trasig.
Steg 2: ta in räkneantalet som en mätsensor, inte som en binär signal
Låt räknesystemet publicera aktuellt antal per zon via MQTT, till exempel på ett topic som building/floor2/zoneA/occupancy, med retained flag. Då får Home Assistant rätt värde omedelbart efter en omstart i stället för att stå på "okänd" tills nästa förändring sker. Definiera en MQTT-sensor per zon med state_class: measurement och enheten personer, så att långtidsstatistiken byggs automatiskt.
Publicera även in- och ut-räknarna som separata sensorer. De behövs inte för närvarologiken i sig, men när en zon en morgon visar "2 personer" trots att ingen är där är det i de två räknarna du hittar förklaringen. Om siffrorna kommer via en plattform som VemFusion får du dem redan aggregerade per zon och kan hoppa över tolkningen av rå sensortrafik helt.
Steg 3: bygg en template binary_sensor för home assistant närvaro
Nu översätter du antalet till en närvarosignal. Skapa en template binary_sensor per zon med device_class: occupancy, där tillståndet är sant när räkneantalet överstiger tröskeln från steg 1. Sätt delay_off till den fördröjning du bestämde, exempelvis 15 minuter, och lämna delay_on på noll. Det är denna sensor – inte råantalet och inte PIR-sensorn – som alla automationer sedan ska trigga på.
Poängen är att hålla tröskel och fördröjning som konfiguration på ett ställe. När fastighetsägaren vill att ett rum ska räknas som tomt efter tjugo minuter i stället för femton ändrar du en rad, inte varje automation som styr lampor, spjäll och dörrlås. I engelskspråkiga forum kallas upplägget ofta home assistant presence via template-sensor, och det är samma princip oavsett om signalen kommer från en telefon eller en AI-sensor i taket.
Steg 4: hantera drift – annars ljuger närvarosensorn på natten
All in/ut-räkning driver över tid. Två personer går ut sida vid sida och räknas som en, någon står i dörröppningen och räknas två gånger. Efter en dag kan nettosiffran ligga på tre när rummet i verkligheten är tomt, och din närvarosensor står då felaktigt på "upptagen" hela natten. Professionella system löser detta med automatisk nollställning vid känd tomhet, och det måste din Home Assistant-logik respektera i stället för att motarbeta.
- Låt plattformen äga nollställningen. Om räknesystemet nollställer zonerna vid en fast tidpunkt ska Home Assistant bara konsumera resultatet. Bygg inte en egen parallell nollställning – två system som nollställer vid olika tidpunkter skapar fler fel än de löser.
- Använd rörelse som rimlighetskontroll, inte som sanning. Om räkneantalet är större än noll men ingen rörelsesensor i zonen har triggat på 60 minuter har du troligen drift. Logga avvikelsen och skicka en notis till facility-teamet – låt den inte tyst skriva över antalet.
- Jämför in och ut per dygn. Skillnaden mellan ackumulerade in- och ut-passager vid dagens slut är ditt driftmått. Växer den vecka för vecka är det sensorplacering eller belysning som behöver åtgärdas, inte Home Assistant.
En detalj som ofta missas: om ert räknesystem levererar en personalexkluderad siffra är den utmärkt för nyttjandeanalys men fel underlag för närvaro. Vaktmästaren som byter lysrör behöver också luft och ljus. Använd den ofiltrerade totalen för närvarodetektering och den filtrerade för rapportering.
Steg 5: kombinera signaler i rätt ordning
Personräkningen är primär signal. PIR eller mmWave kan läggas till för att slå på närvaro ännu snabbare i korridorer där räknelinjen sitter långt från dörren, men de ska aldrig kunna slå av den. CO2 är användbart som tredje lager för att upptäcka en zon som räknas som tom men uppenbart inte är det – men kom ihåg att CO2 släpar efter beläggningen med 10–20 minuter och därför aldrig fungerar som snabb närvarosignal. I template-sensorn uttrycker du det som: upptagen om antalet överstiger tröskeln ELLER rörelse detekterats senaste två minuterna; tom först när antalet varit noll under hela fördröjningen.
Steg 6: kör i skuggläge innan du styr något
Låt närvarosensorn logga i två veckor utan att styra ventilation eller belysning. Jämför historiken med verkligheten: gå ut i byggnaden klockan 07.30, 12.15 och 17.45 och kontrollera att tillståndet stämmer. Professionella AI-sensorer har en kontraktuell miniminivå på 96 procents noggrannhet och når i praktiken ofta 98–99 procent när belysning och planlösning tillåter – men det är din tröskel- och fördröjningslogik som avgör om den noggrannheten blir en närvarosensor som stämmer eller en som pendlar. Först när loggen ser rätt ut kopplar du på automationerna, och då med en nedregleringsfördröjning på 5–10 minuter för HVAC så att spjällen inte börjar pendla när halva rummet går på lunch.
Håll även recorder-databasen i schack: råantalet från många zoner kan svälla en SQLite-databas på några veckor. Sätt kortare purge_keep_days för råvärdena och spara närvarosensorns tillstånd längre – det är den du behöver för att i efterhand bevisa att ett rum verkligen stod tomt när ventilationen stängdes.
Vanliga frågor
Räcker inte en bra mmWave-sensor för närvaro i ett mötesrum?
För ett enskilt litet rum i en prototyp, ofta ja. Men mmWave säger fortfarande bara om någon är där, inte hur många, och det är antalet som avgör luftflöde och kapacitetslarm. I kommersiell drift blir räknedata källan och mmWave som mest en snabbare på-signal.
Hur lång delay_off ska jag använda?
Börja med 15 minuter för rum med stillasittande arbete och kortare, kanske 5 minuter, för korridorer och entréer. Justera efter två veckors loggning, inte efter klagomål från en enskild användare.
Vad gör jag när närvarosensorn visar upptagen mitt i natten?
Kontrollera in/ut-räknarna för zonen och jämför med rörelsesensorerna. Nästan alltid handlar det om räknedrift som inte nollställts, och lösningen ligger i räknesystemets nollställning eller sensorplacering – inte i att lägga på fler undantag i Home Assistant.
Vill ni bygga närvarodetektering i Home Assistant på räknedata som faktiskt stämmer? Vemco har arbetat med personräkning och beläggning sedan 2005 och hjälper er dimensionera sensorer, zonindelning och datatflöden utifrån er byggnad. Kontakta oss på vemcogroup.com/contact-us så går vi igenom er planlösning tillsammans.