Il y a quelques jours, Zwindler a sorti un article pour flasher des thermomètres Xiaomi Mijia. J'ai les mêmes, dont certains flashés pour échanger via le protocole Zigbee, mais toujours trop consommateur à mon goût.
J'ai cherché alors comment revenir sur du Bluetooth LE (Low Energy). Voici un court article sur le sujet.
Tout d'abord, j'utilise Home Assistant depuis quelques années, mais je n'ai pas grand chose dessus. Je l'utilise principalement pour centraliser le suivi de température de mon logement. Pour cela, j'ai opté pour des thermomètres Xiaomi Mijia LYWSD03MMC, avec un très bon rapport qualité/prix, facile à utiliser & flasher pour l'intégrer dans Home Assistant.
J'avais d'abord paramétré les thermomètres avec le protocole Xiaomi BLE, puis basculé certains en Zigbee grâce notamment au firmware z03mmc. Vous trouverez suffisamment de tutos sur Internet si vous souhaitez basculer en zigbee.
Cependant, dans l'article de Denis il parle de BTHome v2, option que je n'avais pas avant (seulement Xiaomi BLE). J'ai donc décidé de tout migré sur ce protocole qui me semble plus standard et mieux supporté.

Ci-après vous trouverez alors la procédure pour revenir de Zigbee à Bluetooth BLE, moins courrant que l'inverse 🙂
Home Assistant ZHA & OTA
Mon setup utilise Zigbee Home Automation, pour contrôler mes équipements Zigbee, et donc certains de mes thermomètres jusqu'à présent. J'ai pu voir d'autres setups utilisant du MQTT avec Zigbee2MQTT & Mosquito, ce n'est pas mon cas.
ZHA toolkit
Pour pouvoir flasher à nouveau les devices, il va falloir alors que je passe par de l'OTA (over-the-air). ZHA le supporte nativement. Cependant, pour accélérer le processus, on peut installer ZHA Toolkit :
- Installer Home Assistant Community Store
- Installer ZHA Toolkit
Je ne sais pas si cela est vraiment utile, mais "chezmoiçamarche".

Settings pour OTA
On va maintenant définir dans ZHA où le thermomètre devra aller récupérer le firmware. Une longue liste est disponible sur le dépôt GitHub de pvvx.
On édite le fichier /homeassitant/configuration.yaml (peut dépendre de votre installation) pour :
- Activer ZHA Toolkit
- Spécifier l'URL de la liste des firmwares à récupérer (pour moi :
index_v55.jsondu dépôt GIT)
1zha_toolkit:
2
3zha:
4 zigpy_config:
5 ota:
6 enabled: true
7 z2m_remote_index: https://raw.githubusercontent.com/pvvx/ATC_MiThermometer/ef4b5a713d16acfe3f3183d72b7706c9fc697c86/zigbee_ota/index_v55.json
Puis on redémarre HomeAssistant pour la prise en compte.
Flash
Tout est prêt, reste maintenant à flasher ! 2 options possibles, soit vous forcez l'OTA avec la notification zha_toolkit, soit vous attendez...
Pour "trigger" un OTA, on va dans les "Outils de développement", puis "Actions", on sélectionne zha_toolkit.ota_notify et on choisit le thermomètre que l'on souhaite mettre à jour :

Après quelques instants, HomeAssitant propose une mise à jour !

Note: on voit ici un "Entity not found", c'est parce que le screenshot a été pris après que j'ai supprimé le device, ne pas en tenir compte.
On lance l'upgrade, et on attend que ça se termine.

Configuration Bluetooth
A partir de ce moment, on peut suivre la procédure de Denis sur son blog, en utilisant le flasher en ligne TelinkMiFlasher.
Intégration Home Assistant
Après la reconfiguration, le device sera détecté par HomeAssistant, reste plus qu'à le rajouter !

Suppression & Historique
Attention (c'est bien de lire jusqu'ici), si vous souhaitez conserver l'historique des températures, humidité & co, pensez à bien noter les identités de l'ancien device zigbee avant de le supprimer, et modifiez celles du nouveau device, pour mon cas :
temperature_humidity_sensor_1bbb_batterytemperature_humidity_sensor_1bbb_humiditytemperature_humidity_sensor_1bbb_temperaturetemperature_humidity_sensor_1bbb_voltage
Sources
Comme je disais en début d'article, beaucoup de ressources pour basculer de bluetooth à zigbee, mais peu pour l'inverse. Ce qui m'a permis d'y arriver est surtout ce commentaire GitHub :
Maintenant vous pouvez utiliser correctement vos thermomètres en Bluetooth BLE !
