I have 2 BedJet devices. When they work, they work great. However, sometimes HA decides that even though I have 2 BT proxies in the same room as the BedJets (one is < 2ft away), it sometimes connects to the BT Proxy in my basement, This means going through to ceilings and even straight line is about 75ft away not counting for all the objects in the way. When it decides this is the proxy to use I get lots of connection issues with the integration. Is there any way to force it to use the proxy that's right there?
#Can you pick which proxy an active connection binds to?
1 messages · Page 1 of 1 (latest)
What do the logs say when that happens? I can see it going through all my proxies logging the RSSIs of each when I send a command to a device through an integration
Hmm, I don't see it if I toggle my Snooz now, but I did last night when an automation did it:
2025-12-17 21:56:08.098 INFO (MainThread) [homeassistant.components.automation.sound_machine] Sound Machine: Running automation actions
2025-12-17 21:56:08.098 INFO (MainThread) [homeassistant.components.automation.sound_machine] Sound Machine: Executing step call service
2025-12-17 21:56:08.101 INFO (MainThread) [habluetooth.wrappers] 94:54:C5:40:69:8A - Snooz-698A: Found 6 connection path(s), preferred order: olimex-bluetooth-proxy-3e57a8 (08:3A:F2:3E:57:AA) (RSSI=-67) (failures=0) (in_progress=0) (slots=4/4 free) (score=-67.0), lr-bt-proxy (B0:A7:32:81:03:0E) (RSSI=-78) (failures=0) (in_progress=0) (slots=4/4 free) (score=-78.0), gbr-bt-proxy (4C:75:25:94:E0:5E) (RSSI=-86) (failures=0) (in_progress=0) (slots=3/3 free) (score=-86.0), olimex-esp32-poe-iso-81028c (B0:A7:32:81:02:8E) (RSSI=-87) (failures=0) (in_progress=0) (slots=4/4 free) (score=-87.0), garage-bt-proxy (B0:B2:1C:A1:3C:C2) (RSSI=-92) (failures=0) (in_progress=0) (slots=4/4 free) (score=-92.0), er-bt-proxy (4C:75:25:AD:8E:7E) (RSSI=-103) (failures=0) (in_progress=0) (slots=3/3 free) (score=-103.0)
I assume you have some debug logging on? I don't see anything like that
I actually don't, and I don't know what caused it to spit that out. I just noticed it last night and remembered it when you asked. You can turn on debug for that component
it's coming from here, at "info" level: https://github.com/Bluetooth-Devices/habluetooth/blob/a65e5d361f1f580328272e825f0fc94550ff5a6a/src/habluetooth/wrappers.py#L480
looks like it doesn't look for the best proxy if it's already connected:
async def connect(self, **kwargs: Any) -> None:
"""Connect to the specified GATT server."""
if self.is_connected:
return