Xiaomi bluetooth Temperature/Humidity sensors

I would gladly stop using custom components. However there is one on which I rely heavily.
I have plenty of Xiaomi bluetooth Temperature/Humidity sensors LYWSD03MMC around the house and they feed data to thermostat.
They are not supported by stock mi_temp component.
I use custom mi_temp component for bindkey.
Those are quite popular sensors. I would be happy to have support of LYWSD03MMC in stock components.

You can use GitHub - atc1441/ATC_MiThermometer: Custom firmware for the Xiaomi Thermometer LYWSD03MMC and Telink Flasher via USB to Serial converter to flash custom firmware which removes the bindkey. I use them with ESPHome, but maybe they work with the stock mi_temp integration when the bindkey is removed as well. Saves you the use of the custom integration.

4 Likes

Also, you can use esp32 with esphome for xiaomi ble gateway , and then connect to ha via api.

I didn’t even know it was possible to flash those things. I bought the non-us version so I could do whatever I wanted to them (US version only pairs with phone app), and they only display in C. Thanks for this link.

Thank you, I tried this and it works fine.
Although I run HA on RPI4, which has Bluetooth, and I want to reduce footprint and use RPI for BLE, not a dedicated ESP32.

Take a look at some stuff I did using pyscript and ESPHome to talk to these Xiaomi sensors… A new approach for Xiaomi BLE Temperature sensors with ESPHome, MQTT and pyscript I also flashed these sensors with the alternative firmware which causes the data to be sent unencrypted… and as a bonus, you can set the display to be in degrees F, if you happen to prefer that…

I have tried to flash mine and I cannot even find them in the flashing website. I can only see them in the Xiaomi app. They do not show up anywhere.
Also, I want to use them from my Raspberry pi instead of the ESP32, that should be fine, shouldn’t it?

If you want to use them directly with your Raspberry PI, you can use BLE monitor (GitHub - custom-components/ble_monitor: Passively monitors BLE messages from Xiaomi Mijia BLE MiBeacon, Qingping, ATC, Xiaomi Scale, Kegtron and Thermoplus sensors)

Thank you very much for the reply. I cannot however flash them. They just do not show up on my phone when I press contact.

You don’t need to flash them to be able to use them with BLE monitor. You can get the encryption key with Xiaomi Cloud token extractor and use them with stock firmware.

If you do want ATC firmware, try to connect to it with a PC with Chrome.

Amazing I will try that tonight, thanks.

Maybe you can try: