Mi Flora BLE interference

I’m facing an interesting issue with Mi Flora BLE sensor (VegTrug option in my case) and ESP32.

My initial idea was to put this sensor in a pot on my balcony and connect it to ESP32 inside a room. The only barrier between these two devices is a glass door, but looks like it’s enough for them to lose connectivity. I’ve double-checked it by moving them as close to glass as possible and periodically opening the door (it’s ok when door is open).

The most interesting fact is that native app connects to the sensor through the glass door perfectly even from several meters. The workflow looks like this: I open the app, tap on the sensor, it says “Connecting” for ~10 seconds, then LED on the top of the sensor blinks white and the app has all data.

Does the native app use a different mechanism than ESPHome (looks like so for me)? Any ideas how to do the same with ESPHome?

I mean, my first question would be, is there a difference between how the native app connects? Wifi? Bluetooth? I’m assuming not RF because it’s a phone app.

My personal experience has been that version 1.14.x has very poor wifi. So maybe if you try the dev branch of 1.15.x, you might have more stable wifi?

The app uses an active Bluetooth connection. The ESP just monitors BLE (Bluetooth low energy) broadcasts.

Does your window have a tinted or IR cut film applied?

The windows at my work have a metallic window tinting film that absolutely kills cellular mobile signal level.

This would account for the attenuation you are seeing and the BLE broadcasts may not be making it through at a sufficient level while the higher energy active connection is.