Bonjour,
Je suis encore novice et essaie différents supports
Mais en essayant Mozilla WebThings sur mon raspberry pi3 mon capteur temps Xiaomi a été reconnu automatique .
Y a t’il moyen de voir comment ils font ?
Merci pour l’information, je vais chercher
Pour ceux qui seraient intéressés, les sources de l’addon Mozilla WebThings Xiaomi sont ici :
Mode hors sujet
Un peu obscur ce projet, je voulais essayer pour tester sous Docker et en fait, le projet est maintenant sous le nom WebThings et en dehors de Mozilla.
Salut @AlexTrovato,
As-tu trouvé de nouveaux éléments ?
Maintenant que j’ai une instance Gladys qui tourne je peux faire des tests avec le module bluetooth et mes LYWSD03MMC.
Pour le moment ils sont détectés, mais sans aucunes données reçues.
Salut, non j’ai pas eu le temps de chercher. Je m’y remet dès que j’ai du temps.
Que faut il chercher ? Si j’ai un peu de temps, je voudrais essayer sachant que j’ai un Gladys de dev et les fameux capteurs de température en question.
Tu peux essayer de m’expliquer en MP, ou ici, ou en visio en soit
En gros, il faut trouver le service et characteristic sur le device qui permet de récupérer les données qui l’on souhaite.
Sur raspberry, il est question de gattool en ligne de commande. Une fois qu’on arrive à récupérer les informations par la, il faudra alors le coder en NodeJS, mais ma priorité est d’abord de trouver les bons services / characteristics à lire sur le device.
Avec tous ces mots clés, je pense que Google te donnera plein d’exemples
J’ai trouvé un projet intéressant qui pourrait même nous aider sur certaines technologies.
@AlexTrovato avais tu vu ce qu’ils proposent ?
C’est une sorte de broker qui permet de se connecter à plusieurs équipements domotique (433mhz, Bluetooth, infrarouge, Lora, etc) et retransmet le tout via MQTT.
Salut Alex,
tu avais trouvé cet article (en Français) qui décrit ce que tu sembles chercher pour le modèle Xiaomi LYWSD03MMC.
Bonne (re)lecture
Et l’article décrit toutes les étapes pas à pas, super trouvaille !
J’étais en train de suivre la démarche depuis un autre blog, mais j’ai eu des erreurs sur les connexions bluetooth… Tant mieux que ce soit déjà écrit sur ton lien
Après un peu plus de recherche, il existe deux possiblités de lire les données des capteurs LYWSD03MMC.
-
Se connecter en BLE et lire les données en connaissant les services et characteristics.
-
Lire le message de broadcast envoyé toutes les minutes, qui ne nécessite pas d’établir une connexion. Évidemment, cette solution est ultra économe en énergie puisqu’elle n’interagit jamais directement avec le capteur.
Malheureusement, le point 2) nécessite de déchiffrer le message en récupérant la clé de déchiffrement au préalable.
Mais une solution alternative existe : flasher un firmware (via son téléphone) pour désactiver la partie chiffrement.
L’autre avantage, c’est que les services et characteristics sont déjà indiqués @AlexTrovato :
Je vais tester ce tuto et je vous fait un retour ici !
- Tuto en français sur le forum Home Assistant FR : Flasher les capteurs de température Xiaomi LYWSD03MMC pour récupérer l'information Batterie - Général - Home Assistant Communauté Francophone
- Lien vers le GitHub avec le firmware : GitHub - atc1441/ATC_MiThermometer: Custom firmware for the Xiaomi Thermometer LYWSD03MMC and Telink Flasher via USB to Serial converter
J’ai suivi le tuto et le flash fonctionne super bien (Chrome sous W10).
A noter quelques points cependant :
- Aucun matériel nécessaire, autre qu’un PC ou téléphone
- Il faut utiliser le navigateur Chrome sur PC ou Android
- Ne fonctionne pas avec un autre navigateur (Firefox)
- Une fois le firmware modifié, l’application Mi Home ne peut plus lire les données (les adresses de lecture sont différentes)
- La procédure prends a peine 10 minutes en prenant son temps
- On peut évidemment flasher l’ancien firmware si nécessaire
Deux questions me viennent à l’esprit, sachant que ce firmware custom permet de lire les données du capteur sans s’y connecter et donc économiser grandement la batterie :
-
Est-il imaginable d’après toi @pierre-gilles et @AlexTrovato d’indiquer en prérequis pour ce capteur qu’il faut le flasher pour l’utiliser ?
-
Peut-on proposer deux modes de fonctionnement ? Un avec une connexion régulière en BLE à l’appareil et l’autre en passif en lisant les données envoyées toutes les 1 minutes ?