Xiaomi thermomètre Mija bluetooth LYWSD03 dans jeedom

Suite à une promotion récente dans dealabs je me suis commandé plusieurs petits thermomètres LYWSD03. (Lot de 4 Thermomètres connectés Xiaomi Mijia Bluetooth 2 hygromètre – Dealabs.com)

en vrai ils sont minuscules 😉

Ces thermomètres bluetooth sont très bien gérés dans home assistant et je pensais naïvement que c’était également le cas dans jeedom, vu qu’ils étaient présents dans la Documentation Jeedom. Et même dans le documentation de compatibilité, aucune précision 🙁 Jeedom compatibility

Alors oui, cela fonctionne mais au bout de quelques heures… plus rien. Et la batterie fond comme neige au soleil. C’est de saison…

Heureusement, certains utilisateurs de jeedom ont résolus le problème 🙂

Ces thermomètres utilisent un système de chiffrement avec une clé définie lors de l’appairage à l’application Xiaomi Home.

La méthode pour rajouter (proprement) les LYWSD03 dans Jeedom et de récupérer la clé d’appairage (bind key) via ce flasher web… Si votre PC a une clé bluetooth évidemment.

Telink Flasher (atc1441.github.io)

Dans cette fenêtre, il faut cliquer sur le bouton connect, puis sélectionner l’équipement bluetooth à relier; Ensuite il faut cliquer sur le bouton « Do activation ». La clé qui nous intéresse sera dans le champ « Mi Bind Key »

Attention, cette clé change à chaque activation. Une fois la clé récupérée, il faut donc « déconnecter » le thermomètre de la page. Le plus simple, faire CTRL+ »F5″ pour recharger la page. Si vous avez plusieurs thermomètres, il faut refaire la manipulation en sélectionnant le bon thermomètre.

Une fois ceci fait, il faut aller modifier dans la partie bluetooth de jeedom sur la machine principale. Il faut se connecter en SSH à la machine hébergeant jeedom (Depuis windows : puTTY, mobaxterm).

sudo pip3 install pycryptodomex
cd /var/www/html/plugins/blea/resources/blead/devices/
sudo mv lywsd03.py lywsd03.py.old
sudo cv lywsd03.py_with_bindkey lywsd03.py
sudo nano lywsd03.py

On modifie alors la variable keys en associant chacune des MACS bluetooth avec sa clé d’appairage. La casse de l’adresse MAC n’est pas importante.

MAIS MAIS ce n’est pas fini. Si on a plusieurs antennes bluetooth, il faut réaliser une opération sur chacune des antennes.

  • Si on a déjà configurer les antennes, il faut se connecter à chacune d’entre elles via SSH et installer MANUELLEMENT le fichier pycryptodomex
sudo pip3 install pycryptodomex
  • Depuis jeedom, il faut démarrer le démon des antennes et vérifier qu’elles récupèrent bien le bon fichier lywsd03.py en regardant le contenu du fichier présent dans le fichier
~/blead/resources/blead/devices/lywsd03.py

Si le fichier n’est pas identique, il faut réinstaller / relancer le démon sur chacune des antennes. On peut également relancer le démon en mode debug et vérifier la présence de logs contenant les infos « LYWSD03——Encrypted »

Inspirations du week-end épisode 8

Pour ce week-end, et vu que le printemps est là je me suis dit qu’il était temps de s’occuper (un peu) du ménage et … d’améliorer la gestion du robot ménager.

Domotiser le ménage

Un article de Sarakha63 pour expliquer comment définir des zones dans votre habitation pour votre aspirateur robot Xiaomi (version 1 et version 2). Comme ça vous pouvez lui dire : robot va nettoyer la cuisine. Effet garanti sur les invités!

Et puis comme on est jamais mieux servi que par soi même : un de mes articles sur la création de tâches dans todoist pour l’entretien du robot (vider le bac, nettoyer les capteurs etc…)

https://gph.is/2RYSMeT
Bon, moi je vais continuer mon ménage!

Bon dimanche à tous.

Inspiration du week-end (Episode VII)

Comme (presque) tous les dimanches, voici deux / trois liens vers des tutoriaux d’autres sites pour donner des idées d’inspiration en domotique. Pour le coup, il s’agit de tutoriaux lumineux 🙂

Lorsqu’on cherche à connecter les luminaires de sa maison, on peut utiliser trois technos : des ampoules connectés (Philips Hue, Xiaomi Yeelight etc.), des modules connectés à intégrer dans les boîtiers interrupteurs, dans les murs (Sonoff, Shelly…) et enfin, la 3e option c’est de changer ces interrupteurs pour des versions connectés (Legrand) et/ou tactiles (Livolo, Broadlink TC2).

Concernant les Sonoff et Shelly, j’avais déjà partagé quelques liens : https://www.skipcool.ovh/2019/01/27/inspiration-du-week-end-3e-edition/ … Je n’en parlerai pas plus.

Les ampoules connectés et Jeedom

Tutorial : plugin Philips Hue dans Jeedom par Domotique Techoseb27

Tutorial : les ampoules Yeelight dans Jeedom par Tests, Avis & Compagnie

Bonus : Comparaison des Xiaomi Yeelight V1 et V2 par Domo-attitude

Les interrupteurs connectés et tactiles

Les Broadlink TC2 sont des interrupteurs radio (433Mhz) On peut donc les inclure via … les récepteurs broadlink et donc le plugin broadlink de Jeedom. A ma connaissance, il existe une seule méthode identifiée pour les inclure sur le forum de Jeedom

Test des livolo en Zigbee par Domo-attitude . A noter que, comme broadlink, il existe également des versions 433Mhz

Note : si Zigbee est un protocole bien plus pratique que les fréquences 433 Mhz, permettant des retours d’états et une inclusion avec du matériel divers, il a d’autres inconvénients non cités dans l’article, comme le partage de fréquence avec le Wi-Fi. Voir l’article suivant (en anglais) pour les détails techniques : ZigBee and WiFi Coexistence.

Jour …Nuit…

Bon dimanche à tous.

Inspiration du week-end en domotique

Voici quelques liens vers des articles pour donner des inspirations dans la réalisation de scénarios de domotique.

La surveillance des équipements c’est l’un des points faibles de Jeedom qui n’informe pas si un capteur est « hors ligne ». Voilà une méthode utile et pas trop complexe pour faire remonter l’info. Attention, cela nécessite au préalable un plugin de messagerie configuré.

http://sarakha63-domotique.fr/surveillance-equipement-z-wave-xiaomi-blea/

Quand on est dans la cuisine et qu’on a besoin d’aller à la réserve, c’est souvent qu’on a quelque chose dans les mains… Et ouvrir une porte, ça devient compliqué. Heureusement, Sarakha63 à la solution une porte « magique » et totalement intégrée dans la cuisine. 

http://sarakha63-domotique.fr/la-porte-magique-domotisee/

Les Yeelights sont des lampes Wi-Fi très bien pensé, pas cher, fiable et pratique. On peut les utiliser assez facilement dans Jeedom… Mais comment faire appel aux scènes Yeelight sans les recréer « à la main » ? Via le plugin IFTTT. Pas forcément simple… mais pratique.

http://sarakha63-domotique.fr/scenes-yeelight-ifttt/

Avoir un aquarium, c’est bien, ça fait jolie, mais cela nécessite une surveillance accrue pour détecter les problèmes de l’eau (température, trop haute, trop baisse, ph, etc.). Et si la domotique venait nous aider? C’est le principe de Reef-pi, avec un ensemble de tutoriaux.

https://www.raspberrypi.org/blog/reef-pi-raspberry-pi-fish-tank-management-system/

Bon week-end à tous!

Jeedom et Xiaomi MiRobot Vacum

L’ajout dans Jeedom du Xiaomi MiRobot Vacum (v1 ou v2) nécessite un token à récupérer dans l’application Mi Home.

http://domo-attitude.fr/domoticz-guide-dutilisation-robot-aspirateur-xiaomi/

  • Quelques forums sur le sujet :

Seul souci : les dernières versions de Mi Home sur Android ne stockent plus ce token. Les méthodes consistent donc à prendre une ancienne version de Mi Home ou à utiliser une sauvegarde d’un … iPhone.

Voir ici pour la méthode 

https://www.home-assistant.io/components/vacuum.xiaomi_miio/#ios

En français, voici les étapes :

Prérequis :

  • avoir le robot configuré et relié à l’application Mi-Home.
  • avoir Mi-Home d’installé sur l’iPhone
  • avoir ITunes d’installé
  • avoir installé le logiciel  iBackup Viewer
  • avoir installé DB Browser for SQLite.

Etapes :

  1. Démarrer iTunes et lancer une sauvegarde non chiffré de l’iPhone
  2. Démarrer iBackup Viewer et charger la sauvegarde
  3. Démarrer le module « Raw Data »
  4. Naviguer jusqu’à com.xiaomi.mihome
  5. Rechercher un fichier du type 123456789_mihome.sqlite
  6. Sauvegarder le fichier dans vos documents
  7. Ouvrir DB Browser et charger le fichier précédent
  8. Cliquer sur « Execute SQL »
  9. Entrer et exécuter la requêle SQL suivante:
SELECT ZTOKEN FROM ZDEVICE WHERE ZMODEL LIKE "%vacuum%"

Normalement, une clé hexa de 32 bits de longueur va s’afficher. Faites un copier. Mais si vous avez pas de chance, votre ZToken fera 96 caractères. Il faut alors la déchiffrer pour obtenir 32 caractères

Dans un terminal, exécuter la commande suivante

echo '0: ' | xxd -r -p | openssl enc -d -aes-128-ecb -nopad -nosalt -K 00000000000000000000000000000000

Le résultat affiché sera votre clé, que vous pouvez utiliser dans le plugin Xiaomi de Jeedom

A noter l’existence d’un outils python permettant un contrôle plus fin de votre xiaomi

https://github.com/rytilahti/python-miio