Xiaomi - Temperature and Humidity Monitor Clock - LYWSD02MMC
Intégration d'un capteur de température/humidité, le Xiaomi - LYWSD02MMC
Source: mi.com - xiaomi temperature and humidity monitor clock
Introduction
Le capteur communique via Bluetooth BLE.
La première intégration à été un échec, appareil reconnu mais les sensors ne retournaient pas de valeurs. Ne pas passer par les integrations suivantes:
- HACS - Passive BLE monitor intégration
- Xiaomi Home
Il faut intégrer le capteur via l'application Mi Home (Xiaomi Home), utiliser Token Extractor afin de récupérer le Token BLE. Dissocier l'appareil du compte Xiaomi Home et l'intégrer à Home Assistant via Xiaomi BLE.
Mi Home
Il faut un compte Xiaomi pour utiliser l'application: Inscription ici.
L'intégration se fait via Bluetooth (BLE)<
Une fois l'application Mi Home lancée, appuyer sur le en haut à droite:
L'appareil est détecté, on appui dessus:
Xiaomi en profite pour récupérer quelques data... cliquer sur Accepter:
Patienter le temps que l'appairage soit terminé:
L'intégration est terminée, on peut maintenant récupérer le Token BLE
Token Extractor
A priori plusieurs méthode ici, j'ai choisi Xiaomi Cloud Tokens Extractor.
Attention
Votre anti-virus peut détecter l'exécutable comme une menace:
PyInstaller = Faux positifs fréquents
L'outil token_extractor.exe est compilé avec PyInstaller, un programme légitime qui transforme des scripts Python en fichiers .exe. Le problème : les antivirus détectent souvent PyInstaller comme suspect parce que :
- Les malwares l'utilisent aussi pour masquer leur code
- La structure du fichier ressemble à celle de vrais malware
- C'est une détection "générique" basée sur des patterns, pas sur un malware spécifique
J'ai fais un scan sur VirusTotal afin d'avoir plus d'information.
Rappel: il est important et nécessaire ici de vérifier le checksum du fichier téléchargé!
Version: v1.5.1 - les différents assets disponibles :
-
token_extractor.exe (18.71 MB)
SHA256:43079f88f7a7ad4937ae52b8bd234c93bfb256e4a777208f92df6c9048e7547b
Vérifier l'intégrité du fichier téléchargé :
PowerShell (Windows) :Ouvrez PowerShell et collez la commande. Si le fichier n'est pas dans Telechargements, remplacez $env:USERPROFILE\Downloads\ par le chemin reel.CMD (Windows) :Retourne "[OK] CHECKSUM VALIDE" ou "[ERREUR]"Linux / macOS :Ouvrez le Terminal et collez la commande. Si le fichier n'est pas dans ~/Downloads, remplacez le chemin.
-
token_extractor.zip (9.18 KB)
SHA256:fdd43f6aa4ba2acaa6cfef2412aa69bcf1a2f5583699fd920d8f32428d3fc7b1
Vérifier l'intégrité du fichier téléchargé :
PowerShell (Windows) :Ouvrez PowerShell et collez la commande. Si le fichier n'est pas dans Telechargements, remplacez $env:USERPROFILE\Downloads\ par le chemin reel.CMD (Windows) :Retourne "[OK] CHECKSUM VALIDE" ou "[ERREUR]"Linux / macOS :Ouvrez le Terminal et collez la commande. Si le fichier n'est pas dans ~/Downloads, remplacez le chemin.
-
token_extractor_docker.zip (9.83 KB)
SHA256:96820765d38d148bad3c49d0575313a081bb85868fc975cf957d647af6c14c57
Vérifier l'intégrité du fichier téléchargé :
PowerShell (Windows) :Ouvrez PowerShell et collez la commande. Si le fichier n'est pas dans Telechargements, remplacez $env:USERPROFILE\Downloads\ par le chemin reel.CMD (Windows) :Retourne "[OK] CHECKSUM VALIDE" ou "[ERREUR]"Linux / macOS :Ouvrez le Terminal et collez la commande. Si le fichier n'est pas dans ~/Downloads, remplacez le chemin.
Une fois téléchargé on exécute le fichier, indiquer le login et mot de passe du compte Xiaomi Home:
On récupère ensuite les précieuses informations de notre appareil (BLE KEY)
On peut passer à l'intégration dans HomeAssistant. N'oubliez pas de dissocier votre appareil dans l'application Mi Home.
Intégration HomeAssistant
Important: il faut passer par Xiaomi BLE.
Cliquer sur le lien pour l'intégrer à HomeAssistant Xiaomi BLE.
Indiquer ensuite la "BLE KEY".
Notre appareil est maintenant intégré à HomeAssistant:
ApexCharts Card
On va utiliser l'extension ApexCharts Card. Pour l'installer on passe par HACS.
On édite ensuite notre Dashboard en ajoutant une ApexCharts Card
Voici un exemple de code yaml:
type: custom:apexcharts-card
header:
show: true
title: Climat Intérieur
show_states: true
colorize_states: true
graph_span: 24h
update_interval: 5min
apex_config:
chart:
height: 400
toolbar:
show: false
grid:
show: true
borderColor: "#e0e0e0"
strokeDashArray: 0
stroke:
curve: smooth
markers:
size: 0
hover:
size: 6
sizeOffset: 3
tooltip:
enabled: true
shared: true
intersect: false
x:
format: HH:mm
yaxis:
- id: temperature
min: 15
max: 30
decimals: 1
apex_config:
title:
text: Température (°C)
style:
fontSize: 12px
color: "#ff6b6b"
labels:
style:
colors: "#ff6b6b"
fontSize: 11px
- id: humidity
opposite: true
min: 20
max: 80
decimals: 0
apex_config:
title:
text: Humidité (%)
style:
fontSize: 12px
color: "#4dabf7"
labels:
style:
colors: "#4dabf7"
fontSize: 11px
series:
- entity: sensor.temperature_humidity_sensor_8e2a_temperature
name: Température
yaxis_id: temperature
color: "#ff6b6b"
type: line
stroke_width: 3
float_precision: 1
group_by:
func: avg
duration: 20min
- entity: sensor.temperature_humidity_sensor_8e2a_humidite
name: Humidité
yaxis_id: humidity
color: "#4dabf7"
type: line
stroke_width: 2
float_precision: 0
group_by:
func: avg
duration: 20min
Ce qui nous donne:
Conclusion
L'intégration du capteur Xiaomi LYWSD02MMC nécessite quelques étapes mais reste accessible avec la bonne méthode : passage par Mi Home, extraction du token BLE, puis intégration dans Home Assistant via Xiaomi BLE.
Une fois configuré, l'ApexCharts Card permet un suivi élégant des données de température et d'humidité.