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 »

Mettre en place un contrôle parental sur Open-WRT

Il existe plusieurs méthode pour contrôler les accès des enfants aux réseaux, mais la méthode la plus « simple » est de couper le réseau internet sur les machines pouvant être utilisées par les enfants à certaines heures via le routeur.

ça marche aussi pour les adultes…

Dans OpenWRT, il faut rajouter une règle au firewall et spécifier les équipements n’ayant pas besoin d’accès réseau.

https://openwrt.org/docs/guide-user/firewall/fw3_configurations/fw3_parent_controls

Inconvénients de cette méthode : en cas de changements d’appareils, il ne faut pas oublier de modifier la règle et surtout si on a besoin (temporairement) de bypasser la règle, c’est pas facile de la modifier à la volée, mais ça reste faisable.

Mais il est possible de mettre en place des scripts on/off depuis l’extérieur, par exemple depuis jeedom:

Voir le topic suivant qui précise la démarche.

Vu mon besoin actuel, je n’ai pas testé les scripts on/off. Par contre, le contrôle parental fonctionne bien et m’a été d’un grand secours au cours de 2020 !

Personnaliser la taille des icones Jeedom dans les widgets

Alors ce tutorial n’est pas pour tout le monde. Dans jeedom V4, il est possible de créer des widgets personnalisés assez facilement, et de réutiliser les icônes standard de jeedom.

Oui, mais on se retrouve confronté à un problème (de taille ahahah) assez vite. En effet, les icônes standard ne sont pas redimensionnables « facilement ».

Donc avec, par exemple un widget d’alarme on se retrouve avec ça

Un développeur web a fourni une méthode en passant par les CSS avancées, mais cela reste compliqué.

https://community.jeedom.com/t/modifier-taille-icone-widget-en-v4/14135/11

Mais il existe une autre méthode un poil plus simple… on peut directement écrire le CSS dans le widget.

L’astuce est d’insérer dans la balise <i> le code suivant

style="font-size 60px"

Ce qui fait que dans mon cas l’image devient

<i class='icon jeedomapp-lock-home icon_red' style="font-size: 60px"></i>

Youpi!

Gestion avancées des photos depuis Plex

Plex est un super outils pour la gestion des vidéos, pour l’audio (surtout avec plexamp), pour la télé (les flux IPTV de free fonctionnent très bien via xTeve!). Pour les utilisateurs payants, c’est un produit qui vaut le coup et qui a peu de concurrence (emby…)

Et parmi tout ça. Plex permet également de gérer des photos.

Bon, là, faut être honnête, c’est pas terrible terrible. Les photos peuvent avoir des autotags à la « Google Photo » mais … rien de génial.

Rien que l’export d’une sélection de photos est à s’arracher les cheveux. D’ailleurs, ça tombe bien, c’est l’objectif de cet article 🙂

Prérequis : plex, des photos

Attention, le plugin n’a plus de suivi car Plex a décidé d’arrêter le support des plugins… mais ils continuent pour l’instant de fonctionner.

  • Etape 2 : Dans votre compte plex, sélectionner les photos que vous voulez exporter et (c’est le plus important!!!) leur ajouter un tag spécial. Par exemple « mon_beau_voyage »
Ah les voyages…
  • Etape 3 : Dans plex, il faut créer une playlist automatique à partir du tag « mon_beau_voyage »
  • Etape 4 : via le plugin WebTools exporter la playlist au format m3u

Il faut se rendre sur l’url du plugin webtools (par défaut : http://<nomserveur>:33400 ), puis dans la page « playlist ». Sélectionner la playlist automatique

  • Etape 5: extraire la liste des noms de fichiers du m3u

Chacun sa méthode, mais comme je suis linuxien via windows, j’utiliser mobaxterm, un petit script comme

cat playlist.m3u | grep "path=" | sort -u  > liste_photos.txt
  • Etape 6 : Recopier la liste des photos dans un dossier à part. J’insiste sur le recopier. On ne déplace pas ces photos pour rien 😉
  • Etape 7 : Faites ce que vous voulez des photos. Vous pouvez par exemple les transférer sur photobox.fr pour faire un magnifique album de vacances. Tadam!

Bon alors, c’était pas si compliqué que ça non ?

Oui bon, d’accord, c’est quand même bien infernal pour juste exporter 30 photos.

Et sinon, plex, c’est quand que tu décides à rajouter un fichu bouton exporter?

Récupérer un flux instagram

Récemment, dans le cadre familial nous avons eu un problème de « partage » de vidéos entre instagram et whatsapp.

C’est un peu crétin car il s’agit de deux services de facebook, mais quand on partage une vidéo instagram dans whatsapp, seuls les personnes ayant instagram de validé sur leurs comptes peuvent lire la vidéo… Donc certains utilisateurs pouvaient lire la vidéo, les autres non…

J’ai donc du identifier une méthode pour récupérer des flux instagram (vidéos) et ainsi pouvoir les partager aux utilisateurs n’ayant pas de compte.

Donc oui, il existe une méthode rapide, fiable et linuxienne pour récupérer les vidéos : cela s’appelle instalooter, il faut l’utiliser avec Python :

Le code source sur github:

https://github.com/althonos/InstaLooter

La documentation associée:

https://instalooter.readthedocs.io/

Installation et usage pour un serveur linux

pip3 install --user instalooter --pre 
 ~/.local/bin/instalooter -v -u "monuser" -p "monmodepasse" post

Et voilà, encore une victoire de canard!

Et moi, je retourne au confinement…