Thermomètre XIAOMI ESP32

Capteur thermomètre hygromètre à tout petit prix pour votre domotique
Automatiser à coûts très réduits

Publié le 25/02/2021 - Mis à jour le 25/02/2021 par

Pourquoi intégrer des capteurs de température et d’humidité dans la domotique ?

La connaissance instantanée des valeurs température et humidité a peu d'utilité pour les humains et n’importe quel appareil non connecté peut les fournir. En revanche, tous les équipements qui consomment beaucoup d'énergie pour le chauffage ont besoin de ces informations. Il existe bien des thermostats connectés dont les prix sont généralement supérieurs à 200 €, voire 350 € pour un thermostat avec 3 capteurs ! Avec les automatisations de Home Assistant, on peut réguler finement chaque pièce en temps réel, en fonction de l’évolution de la température extérieure ou de l’occupation de la pièce. Il suffit d'ajouter un capteur de 5€ et une prise connectée de 10 € !

Un capteur connecté offre la possibilité d'enregistrer les valeurs pour visualiser les tendances ou générer des alarmes.

Graphique température humidité

La médecine conseille un taux d'humidité dans les appartements compris entre 45% et 55 %. On voit sur le graphique que dans mon bureau, je suis assez loin du compte avec 38%.

Architecture du système

Architecture BLR WIFI

Comme on le voit sur ce schéma, l'ESP32 va servir de concentrateur Bluetooth pour transmettre les données en Wi-Fi à Home asssistant. Il faut donc :

  • modifier le capteur XIAOMI pour le connecter à l'ESP32 au lieu de l'application mobile d'origine
  • Programmer la plate-forme ESP32

Modification du capteur XIAOMI Mijia

Il faut récupérer l’adresse MAC du capteur et reprogrammer la clé. Il faut féliciter Aaron Christophel qui a développé une application en HTML Telink Flasher for Mi Thermostat qui permet de gérer le Bluetooth sur PC ou mobile. Cette application est le paradis du bricoleur. Pour faire simple nous n'utilisons que les deux boutons 1 et 2

Boutons Telink

Le bouton 1 “Connect” permet de scanner les équipements Bluetooth à proximité. La sonde apparaît sous la forme LYWSD03MMC (A4:C1:38:C5:11:D7).
Notez l’adresse MAC. Associez cette adresse puis appuyer sur le bouton 2 “Do Activation” pour créer une nouvelle clé qui apparaît plus bas dans la case “MI Bind Key”. Notez aussi cette clé.
Attention, chaque appui sur le bouton 2 change la clé.

Programmation de la plateforme ESP32

Je recommande d'utiliser le Add-on ESPHome de Home Assistant. Pour ajouter un module, ne pas utiliser le wizard, mais recopier dans un fichier le code suivant que vous pourrez modifier en fonction de vos besoins :

	esphome:
	  name: xiaomith
	  platform: ESP32
	  board: esp32doit-devkit-v1

	wifi:
	  ssid: "XXXXXX"
	  password: "XXXXXX"

	# Enable logging
	logger:

	# Enable Home Assistant API
	#api:

	# Add webserver on port 80
	web_server:
	  port: 80

	# Enable update Over-The-Air
	ota:

	mqtt:
	  broker: IPADDRESS
	  username: XXXXXX
	  password: XXXXXX

	# Enable Bluetooth scanning for this ESP32
	esp32_ble_tracker:

	sensor:
	  - platform: xiaomi_lywsd03mmc
	    mac_address: A4:C1:38:XX:XX:XX
	    bindkey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
	    temperature:
	      name: "THbureau Temperature"
	    humidity:
	      name: "THbureau Humidity"
	    battery_level:
	      name: "THbureau Battery Level"

	  - platform: xiaomi_lywsd03mmc
	    mac_address: A4:C1:38:YY:YY:YY
	    bindkey: "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"
	    temperature:
	      name: "THext Temperature"
	    humidity:
	      name: "THext Humidity"
	    battery_level:
	      name: "THext Battery Level"
	# Show the status of ESP32
	binary_sensor:
	  - platform: status
	    name: "THbureau Status"
	

Les valeurs suivantes sont à modifier avant d'enregistrer le fichier

	“ssid” et “password” du WiFi
	mqtt “broker” IPADDRESS, “username” et “password” si besoin
	Pour chaque platform: xiaomi_lywsd03mmc
	    mac_address: A4:C1:38:XX:XX:XX
	    bindkey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

Ajuster le nombre de "platform" au nombre de sondes.
Recopier le fichier modifié dans /config/esphome/ sous le nom xiaomith.yaml par exemple.
Accès facile à /config si vous avez installé le add-on SAMBA.

Comme l’ESP32 n’est pas encore connecté au Wi-Fi, il faut donc flasher par USB pour la première installation seulement. Ensuite, ce sera en OTA par le Wi-Fi.

- Relier la plate-forme à un PC avec un câble USB micro
	- Dans ESPHome, compiler seulement le module xiaomiith.yaml (dans le menu 3 points verticaux) puis récupérer le fichier binaire compilé.
	- Télécharger et exécuter la version pour votre PC d’esphome-flasher pour flasher ce binaire.

Quand c’est fini, la carte du fichier dans ESPHome est marquée en vert. Vous pouvez alors connecter l’ESP32 à une alimentation USB. Les prochaines mise à jour seront réalisées directement à partir de ESPHome en OTA.
Les nouveaux capteurs vont apparaître automatiquement dans Home Assistant ou dans toute installation domotique qui accepte MQTT, c’est la magie du MQTT ! Si vous n’utilisez pas MQTT, vous pouvez utilisez l’API Home Assistant en commentant la section mqtt et en décommentant la ligne api: dans le logiciel ESP 32

Ajoutez vos commentaires ci-après ou les envoyer à Jean-Paul Figer
Mots clés


Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International.