I recently installed the Xiaomi temperature and humidity sensor using the PVVX Custom Firmware. Some information was different from what I found online, so I created this guide. I hope you will find it helpful.
Or a video format for anyone who prefers visual content:
Install the firmware
The Xiaomi sensors come with encryption by default. However, utilizing custom firmware can remove this encryption and provide greater configurability options.
Do not upgrade the thermometer to the latest Xiaomi firmware (2.01 or something like that) else you have to use USB-TTL interface for flashing and going to a lower version of firmware.
As soon as you got the suitable Xiaomi firmware, it’s a piece of cake for doing the conversion OTA. For some of devices I did it from my mobile.
No need intermediate/transitional firmware anymore.
Take care which telink flasher you are going to use. I was confused with the initial ATC but the correct one is the pvvx (6.9 version these days).
if your zigbee2mqtt version is lower than 1.33.2 the converted devices are not going to be recognized. In my case local zigbee2mqtt is OK but remote/openlumi zigbee2mqtt are 133.1 so far.
in my case, the measurements of the converted devices (paired to the reomote coordinators) are not passing through MQTT although are available in local interface.
Nice guide. I purchased 15 of those Xiamoi LYWSD03MMC BLE sensors in early December 2023. I was convinced I would get a V2 software which needs manual flashing with soldering/pogo pins and a TTL USB to Serial adapter so I purchased the adapter and some pogo pins to speed up the process.
I purchased the chinese domestic market version and luckily got a v1.x firmware. The aliexpress text was " Note:The sensors is chinese version,when you connect them with mihome app,please change the mihome app location for china mainland,thank you."
So luckily OTA flashing worked no problem.
The spread of 15 sensors is about 2,5,6,2 corresponding to 21.1, 21.2, 21.3, 21.4 degrees celcius. Very impressive. Be sure to cover them with a towel and leave them in a draught/draft free room for 30 minutes before judging the spread. I have not properly calibrated them yet. Iced water or a fertility basal thermometer should give me an accurate offset. A 2nd Gen Shelly bluetooth proxy could handle only 14 sensors but a brand spanking new 3rd Gen had no problem handling all 15.
I set the sensors to 5 seconds advertise and a 24 measure multiplier for two minute updates in Home Assistant. This will probably get 18 months + battery life.
Good luck to anyone pursuing this. It is well worth it.
Thanks for your helpful update. Keen to know how you are getting on and which firmware you selected - Are you using Zigbee as others above?
My use case is similar - I need 11 sensors in total reporting within max. 5 minutely intervals (but preferably more frequently) and +- 0.4C error range and min. 9 months battery life. Your experience above suggests I may finally have a solution
I have latest HA on a Raspberry Pi 4, various esphome-based bluetooth proxies and Zigbee dongle. Am open to Bluetooth or Zigbee. Very much appreciate any advice you have! Thank you.
I have at least two Zigbee Routers and Shelly Bluetooth proxies per floor. The Zigbee firmware appears to have no way to calibrate the firmware or turn off the smiley. I t seems like a one way flash then flash back if needed with TTL USB Serial I use ZHA which has no way to calibrate / correct the temperature like Z2M has. So I chose thje Bluetooth way considering all that and also the reports of long battery life.
Hello. Im having issue after transformation from BLE to Zigbee:( Its not showing temperature and humidity… Ive searched everything on internet and didnt found solution:(
I use it in HA with ATC/pvvx protocol and with esphome as Bluetooth gateway. The only problem is, that sometimes I loose the connection, but the sensor does not go to unavailable… is someone facing the same issue? can be a timeout set for that sensor?
I have been running one of my many units using the zigbee firmware and it works, but I am not happy that I no longer have the abilities to adjust parameters as I can with the BT firmware. Can someone provide a procedure or link for how to install the BT ir original FW after moving to zigbee?