Skip to main content
Wavey answers the most useful sensing question with a single bit: is anyone here? Binary occupancy detection compares live Channel State Information against an empty-room baseline. When the deviation exceeds a threshold sustained over a window, the space is declared occupied. No cameras, wearables, or MAC address counting is involved.

Change-point detection on a baseline

Wavey learns an empty-room baseline: the mean amplitude profile, typical subcarrier variance, and phase structure when no one is in the space. Live CSI compared against this reference uses change-point detection. When the deviation exceeds a threshold sustained over a window, occupancy is declared. An alternative feature family from the building-energy literature uses signal tendency index (STI) — shape similarity between adjacent CSI amplitude curves — with greedy subcarrier selection to pick frequencies most responsive to human presence. WiFree reported 99.1% occupancy detection on building-scale deployments. The mechanism differs from a single variance threshold, but the decision is the same: is the current CSI pattern consistent with an empty room? The signal does not need to be clean. It needs to be different from empty. A person sitting still perturbs multipath enough to shift the baseline; breathing adds a periodic micro-Doppler component that an empty room never produces. Threshold selection trades sensitivity against false triggers from environmental drift (HVAC cycling, a door opening). Hysteresis — requiring sustained deviation before flipping state, and sustained return before clearing — prevents flickering at the boundary.

Why binary occupancy is the sweet spot

Occupancy is robust because the decision boundary is wide:

Noise tolerance

You do not need to classify what happened, only that something happened.

Single-link sufficiency

One TX-RX pair can detect presence in the channel; spatial diversity helps but is not required.

Low label burden

Empty vs occupied is easy to label or self-supervise from known-empty periods.
This is why building energy systems and smart-home HVAC start here. The detection ladder places occupancy at rung 2 — the first task that works reliably on commodity hardware.

Not the same as phone counting

MAC-address analytics count devices, not people. One person with a phone, watch, and laptop registers as three. Five people sharing one laptop register as one. Device identifiers can constitute personal data under GDPR. CSI occupancy reads how bodies disturb the radio field — no identifiers, no device dependency. Everyone in the space is detected whether or not they carry anything. For analytics semantics, see occupancy analytics.

Building and HVAC control

Occupancy-aware HVAC does not need person count. It needs a reliable signal that the space is in use — including when occupants are still. A conference room with six people sitting quietly should not trigger ventilation shutdown because no one is waving. CSI occupancy provides that hold signal. Pair it with motion for activity-responsive scenes in smart-home automation.

Further Reading

Device-Free Occupancy Sensing Explained

Baselines, drift, and cross-site transfer

Sensing Pipeline

Preprocessing before occupancy inference

Getting Started

Set up your first Wavey deployment

Detection Ladder

Where occupancy sits in the sensing hierarchy