Bluetooth

A generic BLE device tracker - unlike Ruuvi/ BTHome, which each decode one specific sensor payload, this applies no protocol filter at all: it records every nearby BLE advertisement's address, advertised name, and signal strength, so you can track any BLE device with no dedicated integration of its own - a phone, a wearable, a generic tag.

What's exposed

Every tracked device gets two entities: signal strength (dBm) and presence (whether it's been seen in the last few minutes). Unlike Ruuvi/BTHome, presence here is actively watched in the background, so "device went out of range" fires as a real automation trigger on its own - useful for "turn on the hallway light when my phone shows up" style automations.

Adding a device

No pairing, no connection ever made - purely passive listening. Add by name and MAC address; the Add-device screen shows a live list of everything currently broadcasting nearby, and picking one prefills both fields.

Most phones and wearables rotate their advertised Bluetooth address roughly every 15 minutes for privacy, so they won't track reliably by a fixed address - beacons, tags, and sensors with a static address are unaffected.

ESPHome Bluetooth proxies

Any connected ESPHome device with Bluetooth-proxy support enabled in its own configuration is picked up automatically as an extra set of "ears" for this same tracker - no configuration needed. This is what lets a server or NAS with no onboard Bluetooth (or a weak antenna) still see BLE devices anywhere an ESP32 running as a Bluetooth proxy reaches, and you can run any number of proxies for wider coverage. Comparing signal strength across every proxy that can hear a device also resolves which room it's actually closest to, which Area occupancy uses in place of a device's static Area assignment when proxy coverage is available.