Skip to content

v0.5.0 — the proxy connection is a device now

Choose a tag to compare

@dasimon135 dasimon135 released this 28 Aug 18:49
· 16 commits to main since this release
0c8b21e

The GATT link finally says where it lives

This integration holds one GATT link — to whichever node advertises the network's Network ID — and that link occupies a Bluetooth connection slot on the ESPHome proxy routing it, for as long as it is held.

Nothing in Home Assistant said which BLE address that was. Every mesh device is keyed on the network UUID plus a unicast address and carries no connections at all, so anything doing slot accounting resolved the held address to no device and could only guess from how long the link had been quiet.

That guess is wrong in practice. A mesh proxy link carries traffic only when something on the mesh changes, so it is legitimately silent for hours — an overnight lighting mesh says nothing at all. On 2026-08-28 an external slot monitor reported this integration's proxy link as a stuck slot after nearly nine hours of silence. It had been healthy the whole time, and nothing it could see said otherwise.

What is new

A diagnostic sensor, Proxy address, on a device keyed on the network.

Never on a lamp: a mesh reaches many nodes through one proxy, and Home Assistant treats connections as identity — claiming one BLE connection on several devices invites the registry to merge them into one.

The entity tracks the coordinator's availability like every other entity here, and that half is the point rather than a detail. Naming the address while never reporting trouble would read as permanently healthy, trading one wrong alarm for a permanent blind spot. Going unavailable exactly when the link does gives a reader a real signal instead of a silence it has to interpret.

A rotating address cannot go stale

The address is written to the device registry with new_connections, which replaces the set rather than adding to it.

A mesh proxy advertises a random static address: stable while the node is powered, free to change when it is not. Accumulating every address ever seen would leave the device claiming BLE connections it no longer has — and a reader resolving one of those stale entries would name this device for a slot belonging to something else entirely.

Upgrading

Update through HACS and restart Home Assistant. No configuration change, no re-import of the .connect export.

One new entity appears per config entry, under a new device named after your mesh network. Existing lights, their entity IDs and their devices are untouched.