Everything About People Counting Solutions & Features

Home Assistant occupancy integration — Complete Guide to Home Assistant Occupancy Integration | Vemco Group

Written by Admin | Sep 14, 2026, 1:33:23 AM

A meeting room shows "occupied" in your dashboard forty minutes after everyone left, because the only signal feeding Home Assistant is a PIR sensor that latched on a swaying window blind. Meanwhile the HVAC keeps conditioning an empty space. If you manage more than a handful of rooms, you already know this pattern: motion is not occupancy, and treating them as the same thing is where most Home Assistant deployments in commercial or campus buildings quietly waste money.

This guide covers what a serious Home Assistant occupancy integration actually looks like: how counting data should enter the system, how to model it as entities, and which automations pay for the effort.

Motion detection versus real occupancy counting

Home Assistant's native occupancy model is binary: a binary_sensor with device class occupancy is either on or off. That works for a hallway light. It fails for anything where the number of people matters — ventilation rates, room booking reconciliation, safety limits, cleaning schedules triggered by actual usage rather than the calendar.

The upgrade path is a numeric occupancy count per zone, sourced from AI-based counting sensors rather than PIR or mmWave presence detectors. Modern counting platforms deliver a contractual minimum of 96% accuracy, and typically 98–99% when lighting, layout and visitor behaviour allow it. That precision matters once you drive automations from thresholds: a sensor that miscounts by two people in a twelve-person room will trigger the wrong ventilation stage repeatedly, and facility teams stop trusting the system fast.

Staff exclusion is worth flagging early in scoping conversations. If cleaners, security rounds and facilities staff are counted as occupants, your after-hours automations will fight you every night. Counting platforms that distinguish staff from visitors — Vemco's AI sensors support this — remove an entire category of false triggers before you write a single automation.

Getting occupancy data into Home Assistant

There are three realistic transport patterns, in descending order of preference for building-scale work:

  • MQTT push. The counting platform or an edge gateway publishes per-zone counts to topics like building/floor2/room204/occupancy. Home Assistant subscribes via MQTT sensors with a JSON value template. Sub-second latency, survives network hiccups with retained messages, and scales to hundreds of zones without polling load.
  • REST polling. A rest sensor hitting the counting platform's API every 30–60 seconds. Fine for utilisation dashboards; too slow for lighting, acceptable for HVAC staging.
  • BACnet or Modbus via the BMS. If occupancy already lands in your building management system, Home Assistant can read it there. This is often the politically easiest route in buildings where the BMS team owns the source of truth. Platforms like VemFusion, which connect occupancy data directly to HVAC, BMS and security systems, effectively give you a pre-integrated layer that Home Assistant can sit alongside rather than replace.

A practitioner note that rarely makes it into documentation: set an expire_after or availability topic on every MQTT occupancy sensor. When an edge device drops offline, you want the entity to go unavailable, not silently freeze at its last count. A room stuck at "4 occupants" over a long weekend will run ventilation for three days, and nobody notices until the energy report lands. Pair this with an automation that alerts on any occupancy entity unavailable for more than fifteen minutes.

Entity design that survives growth

Model each zone with two entities: a numeric sensor for the count and a template binary_sensor derived from it (count > 0, with a short off-delay to absorb doorway flicker). Automations should reference the binary sensor for on/off logic and the numeric sensor for staged logic. This separation means you can later change the source — swap a sensor vendor, move from REST to MQTT — without rewriting automations.

Use Home Assistant's areas to group entities, but don't rely on area membership for automation targeting in large buildings; explicit entity lists or labels are easier to audit when an integrator hands the system over to a facilities team. Naming discipline matters more than any add-on: sensor.occ_f2_r204_count beats sensor.room_sensor_3 every time someone new opens the YAML.

Automations that justify the budget

  • Staged HVAC setback. Zero occupancy for 20 minutes drops the zone to standby; zero for 90 minutes drops to deep setback. Offices, universities and public buildings that connect counting data to HVAC this way cut the waste that always-on systems generate — often the single largest line in the business case.
  • Capacity alerts. Real-time occupancy platforms can raise an alert at a predefined limit; mirror that threshold in Home Assistant to trigger local actions — signage, notifications to a facilities channel, or a booking-system flag when a room exceeds its rated capacity.
  • Ghost-booking reclamation. Room booked, count still zero fifteen minutes in: release the booking automatically. This one automation typically recovers more meeting-room capacity than any amount of new construction.
  • Occupancy-driven cleaning. Trigger cleaning tasks when cumulative daily usage crosses a threshold, rather than on a fixed rota. Space-utilisation platforms such as VemSpace provide the historical layer here; Home Assistant handles the operational trigger.

Where Home Assistant fits in a commercial stack

Be honest with stakeholders about roles. Home Assistant excels as an automation and visualisation layer: fast iteration, no per-point licensing, an enormous integration catalogue. It is not a certified BMS, and it should not be the system of record for occupancy analytics or compliance reporting. The pattern that works in practice is a professional counting platform as the data source and long-term analytics store, the BMS handling life-safety and core plant control, and Home Assistant orchestrating the flexible layer in between — the automations that would take six months and a change order to implement in the BMS directly.

For integrators, this division also answers the maintenance question. When the counting platform owns accuracy and the BMS owns safety, Home Assistant changes can be made quickly without triggering revalidation of either system.

If you're scoping a Home Assistant occupancy integration and need counting data accurate enough to automate against — with staff exclusion, predefined-limit alerts and direct connections into HVAC and BMS — talk to Vemco about your building and your stack at vemcogroup.com/contact-us. Bring your zone list and your automation wishlist; that conversation is more useful than any datasheet.