Home Assistant Room Occupancy Helper Guide: Presence, Vacancy Delays and Reliable Automations
A presence sensor should not directly control every light, AC, fan, curtain, or media device. The more reliable pattern is to turn raw sensor events into one stable room occupancy helper, then let automations read that helper.
This guide explains how to combine mmWave presence, motion, door state, vacancy delays, reconnect protection, and room modes using HomeClaw and LinknLink room devices.
What Is a Home Assistant Room Occupancy Helper?
A room occupancy helper is a single Home Assistant entity that represents the best current answer to a practical question: is this room being used? It sits between raw sensors and final actions. A sensor can reconnect, briefly clear, or detect movement near a doorway without immediately changing every appliance.
Raw inputs
mmWave presence, PIR motion, contact sensors, schedules, temperature, and manual controls.
Decision layer
Occupancy helper, vacancy timer, reconnect guard, room owner, and current room mode.
Room actions
Lights, IR comfort, RF shades, media scenes, notifications, and energy-saving behavior.
Why Raw Presence Should Not Be the Final Automation Trigger
Raw presence is useful evidence, but it is not always a complete decision. Quiet occupants, doorway traffic, moving curtains, pets, WiFi reconnects, and temporary unavailable states can all create noisy transitions. When every automation listens to raw state, one bad transition can affect an entire room.
A helper gives you one place to apply a stable vacancy delay, ignore reconnect noise, respect sleep or guest mode, and keep manual override available. This makes the automation easier to explain and troubleshoot.
Recommended Occupancy Inputs by Room
| Room | Primary input | Supporting context | Recommended helper behavior |
|---|---|---|---|
| Living room | mmWave presence around sofa and media zones | TV scene, doorway motion, manual override | Fast occupied state, medium vacancy delay, preserve active media mode. |
| Bedroom | Stable bed-area presence | Sleep mode, temperature/humidity, door state | Long vacancy delay at night; do not clear from a brief still period. |
| Home office | Desk-area presence | Work schedule, computer state, focus mode | Keep occupied while seated; clear after a deliberate break window. |
| Hallway | Motion or short-range presence | Adjacent room owner, time of day | Short occupied window; never take ownership from a stable room without evidence. |
| Kitchen | Counter and cooking-zone presence | Light level, exhaust fan, nearby dining zone | Medium vacancy delay with manual fan and lighting override. |
Build the Helper in Five Layers
Collect the raw entities
List every presence, motion, contact, climate, mode, and manual-control entity that can explain room use. Do not add actions yet.
Create an occupied decision
Turn the helper on when the primary presence signal is active, or when another trusted signal confirms active room use.
Add a stable vacancy delay
Only turn the helper off after all required signals remain clear for the room-specific delay.
Fence reconnect events
Ignore action triggers for a few seconds after a device returns from unavailable, while still recording its current state.
Attach device actions to the helper
Let lights, IR, RF, media, and comfort rules read the stable helper plus the current room mode.
Example Occupancy Decision Logic
IF primary_presence is active: set room_occupied = true cancel vacancy timer IF primary_presence is clear AND supporting_motion is clear: start room-specific vacancy timer IF vacancy timer completes AND room_mode does not require hold: set room_occupied = false IF sensor returned from unavailable less than 3 seconds ago: update state, but do not run room actions IF manual_override is active: keep user-selected device state until override expires
Choose a Vacancy Delay That Matches the Activity
There is no universal vacancy delay. A hallway can clear quickly, while a bedroom, reading chair, or home office needs more patience. Start with the activity, then tune from real history instead of copying one delay to every room.
| Activity | Starting delay | Why | Adjustment signal |
|---|---|---|---|
| Hallway pass-through | 30-90 seconds | People normally keep moving. | Increase only if lights switch off before the person exits. |
| Kitchen task | 3-8 minutes | Cooking includes short still periods and movement between zones. | Increase when prep areas fall outside the primary zone. |
| Living room media | 8-20 minutes | Watching TV can involve very little movement. | Use media state as supporting evidence before increasing further. |
| Desk work | 10-25 minutes | Seated work can be extremely still. | Use desk presence or focus mode as an additional hold. |
| Sleep | Mode-based hold | Sleep should not depend on frequent movement. | Clear only after wake/away evidence or a deliberate morning rule. |
Map LinknLink Devices to the Decision Layer
| Device | Best role | Occupancy value | Product |
|---|---|---|---|
| eMotion Air | Flexible battery-powered room input | Useful for testing the best decision zone without permanent wiring. | View eMotion Air |
| eMotion Pro | Presence plus built-in IR | Pairs stable room occupancy with local AC, TV, fan, or projector commands. | View eMotion Pro |
| eMotion Ultra | High-value comfort zone | Combines 60GHz presence, built-in IR, and temperature/humidity data through its sensor cable. | View eMotion Ultra |
| HomeClaw | Local Home Assistant and private AI gateway | Keeps occupancy helpers, modes, and automation decisions close to the home. | View HomeClaw |
| eRemote HA | Dedicated local IR endpoint | Lets the helper control compatible IR appliances through Home Assistant MQTT. | View eRemote HA |
Prevent Reconnects from Running Room Actions
A sensor returning online may publish its current state immediately. That update should restore context, but it should not necessarily turn on a light or send an IR command. Store a reconnect timestamp and require a short stable window before action automations are allowed to run.
Use Modes and Manual Override
Occupancy answers whether the room is in use. It does not answer what the room should do. Add explicit modes such as normal, sleep, guest, focus, movie, away, and cleaning. Then keep a manual override so a person can temporarily choose a device state without fighting the automation.
For example, an occupied living room can use normal lighting during the day, a movie scene when media is active, and a low-light path at night. The same occupancy helper supports all three because the mode determines the action.
FAQ
What is the best occupancy helper for Home Assistant?
The best helper combines a trusted primary presence sensor, a room-specific vacancy delay, reconnect protection, room mode, and manual override. It should represent room use rather than mirror one raw entity.
How long should a Home Assistant vacancy delay be?
Use a short delay for pass-through spaces and longer delays for seated, media, work, and sleep activities. Tune it from real history instead of using one value everywhere.
Can mmWave presence and PIR motion work together?
Yes. PIR can provide a fast movement signal while mmWave presence keeps the occupancy helper active for seated or quiet occupants.
How do I stop a reconnect from turning on lights?
Store the reconnect time and block action automations during a short recovery window. You can still update the helper state without firing room actions.
Which LinknLink sensor should I use?
Use eMotion Air for flexible battery placement, eMotion Pro for presence plus built-in IR, and eMotion Ultra for 60GHz presence, built-in IR, and temperature/humidity data through its sensor cable.
Hot Products and Related Guides
Hot products
Build the Decision Layer Before Adding More Actions
Start with one room, one stable occupancy helper, and one clear vacancy rule. Once the state is reliable, connect lights, comfort, IR, RF, and app controls without duplicating decision logic.

