best

How to add occupancy aware lighting to every room

Add occupancy-aware lighting to every room using local-first tools like Home Assistant, with practical advice for HomeKit and Hubitat users.

On this page
  1. Choose the Right Occupancy Sensors
  2. Integrate Sensors with Lighting Control
  3. Use Local Automation for Better Control
  4. Handle Edge Cases and Tradeoffs
  5. Quick Verdict

Occupancy-aware lighting is one of the simplest, most effective smart home upgrades. Lights come on when someone is present and turn off when the room empties, saving energy and removing the need to touch a switch. The trick is choosing sensors that actually detect presence well, and wiring them to lighting control that runs locally. This guide focuses on Home Assistant, with notes for HomeKit and Hubitat.


Choose the Right Occupancy Sensors

The foundation is the sensor. Plain PIR motion sensors are cheap and reliable for detecting movement, but they can switch lights off while you’re sitting still. For rooms where you’re sedentary (offices, living rooms), mmWave presence sensors detect tiny movements like breathing and keep lights on while you’re there.

A great mmWave option for Home Assistant is the Everything Presence One, an ESP32/ESPHome device (Wi-Fi) that combines mmWave presence, PIR motion, light level, and temperature/humidity, and integrates instantly with Home Assistant. For battery PIR sensors, the Aqara Motion and Light Sensor P2 is a Matter-over-Thread sensor that reports both motion and illuminance, useful for skipping the lights when the room is already bright.

If you’re on Zigbee, the frient Motion Sensor Pro (Zigbee, with light and temperature reporting) is a solid, durable choice. Avoid the cheapest no-name sensors, which often have slow re-trigger times and short battery life.

A quick correction worth noting: a wall remote like the Zooz ZEN34 is a Z-Wave scene controller, not a motion sensor, so it can’t detect occupancy on its own.


Integrate Sensors with Lighting Control

Once the sensor is in, connect it to the lights. The cleanest approach in Home Assistant is an automation: turn lights on when presence is detected, and off after a timeout once the room clears. mmWave sensors make the “off” decision much more accurate because they hold “occupied” while you’re still.

For the lights themselves, you have options: smart bulbs like Philips Hue (Zigbee, via the Hue Bridge or a Zigbee coordinator), or smart relays/switches like the Shelly Plus 1 and Shelly Plus 1 Mini Gen3 (Wi-Fi, locally controllable) wired behind existing fixtures. Switch-based control is often better for occupancy lighting because it works even if someone uses the physical switch.

On HomeKit, pair a Matter or HomeKit motion sensor with HomeKit-compatible lights and let a Home hub run the automation locally. On Hubitat, use the Motion Lighting app or Rule Machine; Hubitat natively supports Zigbee and Z-Wave sensors and lights.

When tuning, set a sensible off-delay (often 1-5 minutes for living spaces, shorter for closets) and consider grouping lights into scenes so a whole hallway responds together.


Use Local Automation for Better Control

A big advantage of a local-first setup is that automations run on your own network with no cloud dependency. Home Assistant runs everything locally, so lights respond immediately and keep working during internet outages.

For HomeKit, a Home hub (a HomePod or an Apple TV; iPads are no longer supported as hubs) executes automations locally. Hubitat is local by design.

For Zigbee and Thread, you’ll need a coordinator or border router on your network. The Home Assistant Connect ZBT-2 is a USB stick that acts as a Zigbee coordinator, or as a Thread border router if you flash it with Thread firmware instead - one role at a time, not both (and it does not do Z-Wave). For Z-Wave, you’d add a separate Z-Wave controller. Hardware like the Home Assistant Green (or a Home Assistant Yellow if you already own one) runs Home Assistant locally; pair them with the appropriate USB radio for your protocol.


Handle Edge Cases and Tradeoffs

Occupancy lighting isn’t flawless. PIR sensors can miss a still person or trigger from movement seen through a doorway. mmWave sensors solve the “still person” problem but can be triggered by fans, pets, or motion in an adjacent room, so placement and sensitivity tuning matter.

To respect daylight, use a sensor’s illuminance reading (the Aqara P2, frient Pro, and Everything Presence One all report light level) so lights only come on when it’s actually dark. To avoid lights snapping off mid-task, prefer mmWave in rooms where you sit still, and set generous timeouts.

Battery sensors need occasional battery changes; mains- or USB-powered options like the Everything Presence One avoid that at the cost of needing power nearby.


Quick Verdict

Occupancy-aware lighting is an easy win. Use mmWave presence sensors like the Everything Presence One in rooms where you sit still, and PIR sensors like the Aqara Motion and Light Sensor P2 elsewhere. Drive the lights with Hue bulbs or Shelly relays, and automate locally in Home Assistant (or HomeKit/Hubitat). Tune your off-delays and use light-level data, and you’ll get reliable, energy-saving lighting throughout the house.

Next steps

Compare this category side by side

If you want fewer opinions and more matrix-style tradeoffs, the comparison pages are the next stop.

See comparisons →

Inspect all products

The full product database keeps the caveats, setup notes, and compatibility details attached to each device.

Browse products →

Back up and read the explainers

If a buying guide feels too specific too fast, the guides section covers the broader local-first logic behind it.

Read guides →

Related articles

Best local-first smart home hubs

The best smart home hubs and controllers for people who care about local control, Home Assistant compatibility, and fewer long-term regrets.

Read article →

Best smart plugs with local control and energy monitoring

The best local smart plugs with energy monitoring for Home Assistant: real local control over Zigbee, Z-Wave, or Wi-Fi plus accurate power data, no cloud.

Read article →

Best local security cameras for Home Assistant

The best Home Assistant-friendly local camera options for buyers who care about RTSP, ONVIF, NVR compatibility, and lower cloud dependence.

Read article →
New guides and product notes, no inbox required. Follow via RSS →