ESPHome with lywsd03mmc - Reporting Frequency

I have a 16 x lywsd03mmc temperature/humidity sensors running this custom firmware. They are connected to 4 x ESP32 devices spread across my house (each of the lywsd03mmc modules are only configured on a single/close ESP32, so no duplication).

An example of the configuration is here:

  - platform: xiaomi_lywsd03mmc
    mac_address: A4:C1:38:67:9A:98
    bindkey: "ffffffffffffffffffffffffffffffff"
    temperature:
      name: "Office xTH Temperature"
    humidity:
      name: "Office xTH Humidity"
    battery_level:
      name: "Office xTH Battery-Level"

All is generally good and I have a pretty graph via InfluxDB and Grafana…

However it seems to be quite random how many readings are being captured/when. Some sensors have significant time gaps and others do not.

All the lywsd03mmc & ESP32 devices are configured the same.

FYI, the “Group By” setting in Grafana is set to “time(5m)” in all cases.

This is what I’m seeing.

And a close-up example too, where the issue is more obvious.

Green has many samples, mostly every 5 minutes, Yellow had very few, some over an hour apart.

Any thoughts appreciated.

Chinese manufacturing?

Move to:

  - platform: pvvx_mithermometer

https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html

1 Like

If i understood correct (pvvx also says so on his github page) esphome’s (or, i guess, Arduino’s?) BT library is pretty buggy and it misses a lot of BLE advertisements. I switced to tasmota and it’s way better - all readings are constant at 60s interval without any gaps.
And, i use atc advertising type.

1 Like

Thanks for the thoughts.

I changed to - platform: pvvx_mithermometer with Advertising type: Custom and things have improved significantly.


There’s still a couple of sensors showing gaps so will further investigate those.
If I have no luck I will perhaps try the Tasmota alternative.