Home Assistant5 min read

Home Assistant UWB Presence Detection: Ultra-Accurate Automation

Add UWB presence detection to Home Assistant for room-level tracking accuracy, covering compatible hardware, installation steps, and automation examples.

In this article 9
  1. Key Takeaways
  2. Introduction
  3. Why Home Assistant UWB Presence Detection in 2026?
  4. The Evolution of Presence: From BLE to UWB Smart Home
  5. Setting Up UWB in Home Assistant
  6. Advanced Automations with UWB
  7. Conclusion
  8. Recommended Gear
  9. Related Articles

Key Takeaways

  • Home Assistant UWB presence detection gives you centimeter-level accuracy for smart home automations in 2026.
  • UWB technology significantly reduces false positives and improves reliability compared to traditional Bluetooth LE or Wi-Fi methods.
  • Setting up UWB involves deploying anchors (e.g., ESPHome-based) and tracking tags, integrated via MQTT or native Home Assistant components.
  • Advanced automations powered by UWB enable truly dynamic and personalized smart home experiences, reacting precisely to your location.

Introduction

Accurate presence detection remains one of the most wanted, and hardest to get right, features in smart home setups. Bluetooth LE and Wi-Fi give rough approximations, but 2026 is when Ultra-Wideband (UWB) technology finally makes truly precise localization practical. Home Assistant UWB presence detection pushes your smart home automations from reactive to proactive, tracking not just whether someone is home, but exactly where they are with unprecedented accuracy. This article walks tech-savvy users through setting up UWB and using it for ultra-accurate automations.

Why Home Assistant UWB Presence Detection in 2026?

Traditional presence detection methods, such as scanning for Wi-Fi devices or relying on Bluetooth LE beacons, often suffer from significant limitations: varying signal strength, signal bounce, and multi-meter inaccuracies. This leads to frustrating delays, false positives, and automations that trigger too early or too late. In 2026, Home Assistant UWB presence detection fixes these problems with a low-latency, highly precise alternative.

UWB operates on a time-of-flight (ToF) principle, measuring the exact time it takes for radio signals to travel between a tag and multiple anchors. This method is far less susceptible to interference and reflections, allowing it to pinpoint locations with remarkable precision. UWB delivers location accuracy within 10-30 centimeters, a significant leap from the multi-meter accuracy of Bluetooth LE. This level of granular detail unlocks a new dimension of smart home control, enabling automations that respond to your movement from room to room, or even within a specific zone of a large room.

The Evolution of Presence: From BLE to UWB Smart Home

The journey to sophisticated presence detection has seen several iterations. Early smart homes relied on simple motion sensors or geofencing, providing binary presence data: home or away, motion or no motion. Bluetooth LE beacons improved on this by enabling per-room detection, but range variability and multipath interference kept accuracy at best-effort. Wi-Fi RSSI-based triangulation added another data point, but never solved the fundamental problem: radio signal strength is a poor proxy for physical distance inside a building full of walls, furniture, and other signals.

UWB sidesteps that problem entirely. Instead of measuring signal strength, it measures time. A tag sends a pulse, anchors record exactly when it arrives, and the system computes distance from the speed of light. With three or more anchors, you get a 2D or 3D position fix. The precision holds even through walls and in cluttered spaces where BLE would produce garbage readings.

Setting Up UWB in Home Assistant

The most accessible hardware path in 2026 uses ESP32-UWB development boards based on the Qorvo DW3000 chip, flashed with ESPHome. You need at least three anchors placed in known fixed positions, plus one tag per person you want to track.

Anchor placement matters more than the number of anchors. Spread them across the room at different heights to avoid coplanar geometry, which degrades position accuracy. A triangle of anchors in the corners of a large room, mounted near ceiling height, works well. Label each anchor with its physical coordinates relative to a fixed origin point, typically one corner of your home.

A minimal ESPHome anchor config looks like this:

esphome:
  name: uwb-anchor-living-room

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: arduino

external_components:
  - source: github://Makerfabs/ESP32-UWB
    components: [uwb_dw3000]

uwb_dw3000:
  role: anchor
  anchor_id: 1
  position_x: 0.0
  position_y: 0.0
  position_z: 2.4

mqtt:
  broker: 192.168.1.10
  topic_prefix: uwb/anchor/living_room

Tags publish their computed position over MQTT. In Home Assistant, pick these up with an MQTT sensor and feed them into input_number helpers for zone logic, or directly into a device_tracker entry.

# configuration.yaml
mqtt:
  sensor:
    - name: "Person Tag Position X"
      state_topic: "uwb/tag/person1/position"
      value_template: "{{ value_json.x }}"
      unit_of_measurement: "m"
    - name: "Person Tag Position Y"
      state_topic: "uwb/tag/person1/position"
      value_template: "{{ value_json.y }}"
      unit_of_measurement: "m"

Once coordinates are flowing into Home Assistant, define zones based on coordinate ranges using template binary sensors.

Advanced Automations with UWB

With centimeter-level coordinates available, automations can go well beyond “person entered room.” A few practical patterns:

Desk occupancy: Define a 1x1 meter zone around your desk. When the tag enters that zone, turn on the monitor and mute the phone. When it leaves, lock the screen after 60 seconds.

automation:
  - alias: "Desk zone: activate work mode"
    trigger:
      - platform: template
        value_template: >
          {{ (states('sensor.person_tag_x') | float - 3.2) ** 2
           + (states('sensor.person_tag_y') | float - 1.8) ** 2 < 0.25 }}
    action:
      - service: switch.turn_on
        target:
          entity_id: switch.desk_monitor

Follow-me lighting: As a tag moves through the house, lights in the next room pre-warm before the person arrives, based on their heading and velocity. Tags that publish velocity vectors, available in newer DW3000 firmware, make this straightforward to implement in a template sensor.

Multi-person conflict resolution: When two tags occupy the same zone, automations can apply priority rules rather than first-in-wins. The person whose tag has been in the zone longer holds the thermostat setting; the second person gets a notification instead of an override.

All of this runs locally over MQTT with no cloud dependency. Home Assistant handles the zone math in template sensors.

Conclusion

UWB presence detection in Home Assistant replaces guesswork with geometry. The hardware is now affordable and the ESPHome ecosystem makes anchor firmware manageable without writing low-level C from scratch. The main effort is the physical installation of anchors and accurately calibrating their coordinates against a real floor plan. Once that is done, the coordinate stream opens up a class of automations that proximity-based systems cannot match. Start with a single room, get the zone logic working reliably, and expand anchor coverage from there.

If you want to build this setup, this is where I would start:

Affiliate links: if you buy through them I earn a small commission, at no extra cost to you.

The end. Thanks for reading.

Keep reading.