Understanding ESPHome Bluetooth Proxy

Need a little help understanding ESPHome Bluetooth Proxy. I decided to play around with Bluetooth on HA so I made Bluetooth proxy using the ESPHome Ready-Made Projects for ESP32. The proxy is working and quickly discovered a Nutrichef Smart BBQ Grill Thermometer that is supported in the Inkbird Integration. The question I have is how often should I see the data update. It appears to typically take 30 to 40 seconds and I don’t know if this is a function of the Inkbird Integration and/or the ESPHome Bluetooth Proxy? I have moved the Nutrichef and Bluetooth proxy as close as a couple of feet apart and up to 25 feet apart and doesn’t seem to matter. I have also located them in different areas of the house to see if there is any interference. When I use the BBQ app on my iPhone the temperature updates almost instantly. I also noticed when using the BBQ app the Bluetooth proxy doesn’t respond at all so I assume they can’t be connected at the same time. The 30 to 40-second update time is not an issue I am just trying to understand how it is working. I plan to use the Inkbird integration with Home Assistant because the Nutrichef device and the iPhone app have a limited range.

So the Bluetooth proxy is probably picking up the temperature data that is being advertised - passively. The iPhone app is probably connecting to the device (thus consuming it’s battery quicker) - which probably stops the device from advertising it’s temperature data until the iPhone has disconnected (because there is no point in advertising your data, while an active data connection is established)

That is interesting. Do you think the Home Assistant Inkbird Integration may be using active at a different rate than the app to get data?

It’s probably not using the active connection at all, it’s not advisable because it would flatten the battery of the device really fast. It will be listening passively to the packets that the device broadcasts, thus not affecting the battery life of the device at all, and not preventing any other device from connecting to the device using an active connection.

That makes sense. Thank you.