Migration de BLEA vers MQTTDiscovery et TGW

Bonjour,

But de l’opération : passer Jeedom sur Debian 11 et remplacer BLEA (qui n’est pas compatible Debian 11/12), par un couple de tout nouveau plugin.

Après quelques tests (sur des environnements dédiés), je viens de migrer Jeedom sur deux nouveaux plugins très prometteurs : plugin-mqttdiscovery et plugin-tgw. Ces 2 plugins, sont passés en stable début novembre 2023.
- Dans mon cas, ils seront principalement utilisés pour gérer la présence avec des NUT, Mi-Band et sondes de température /hygrométrie.


Prenez le temps de lire la documentation de ces plugins, elle explique très simplement, comment cela fonctionne.
En très GROS : Les antennes Theengs Gateway (TGW) ou OMG, écoutent le trafic Bluetooth et le transforme en MQTT pour dialoguer avec le plugin MQTTDiscovery.
- C’est transparent pour l’utilisateur (c’est la grande force de ces 2 plugins).
La liste des appareils pris en charge par les antennes TGW ou OMG est en lien dans la documentation des plugins.


Avant de commencer, j’ai désactivé, sur le Jeedom « sortant », l’installation automatique des dépendances des plugins (pour éviter que BLEA ne s’installe seul lors de la restauration et aussi pour éviter de devoir réinstaller d’autres dépendances pour cause d’autre installation en cours).
Ensuite, j’ai déclenché une sauvegarde et j’ai téléchargé le fichier de cette sauvegarde sur mon ordinateur. Et j’ai mis à l’arrêt cette installation (remplacement du SSD mSata par un autre).


Remarque : : Etant utilisateur du plugin ZwaveJS et MQTT Manager, je n’aurais pas d’autre plugin à installer : MQTTDiscovery s’appuyant sur le plugin officiel : MQTT Manager


Etapes de migration :
Pour le Jeedom : Base Raspberry Pi4B / clé Bluetooth Sena UD100-G3
Installation de Raspberry Pi OS Bullseye 64 bits lite sur un SSD mSata depuis Raspberry Pi Imager
Installation de Jeedom
Ajout de la sauvegarde précédente et restauration de celle-ci.
Installation des dépendances des plugins, un à un. Mais pas d’installation des dépendances de BLEA
Installation du plugin MQTTDiscovery
Installation du plugin TGW (permet d’installer et de configurer les antennes Theengs Gateway très facilement, sans avoir de connaissance particulière).

Pour l’antenne supplémentaire : Base Raspberry Pi3B / clé Bluetooth Sena UD100-G3
Installation de Raspberry Pi OS Bullseye 32 bits lite sur une carte microSD neuve
L’installation a été faite depuis Raspberry Pi Imager (la configuration SSH/WIFI ect… tout est maintenant automatisé par ce programme).

Création des antennes TGW : depuis le plugin TGW
TGW01 : Création d’une antenne locale TGW01 sur le Raspberry qui héberge le Jeedom.
- création de l’antenne (l’équipement de Jeedom)
- installation de l’antenne (l’application) et configuration de l’antenne :
Tout cela en 4 clics !
TGW02 : Création de l’antenne distance (mode SSH) TGW02 sur le Raspberry Pi qui ne sert qu’a cela. Renseignement des identifiants SSH, 1 clic pour installation l’application et un clic pour démarrer le service une fois l’installation de l’antenne terminée (suivre cela sans la partie Analyse / Logs de Jeedom).

Création automatique des équipements MQTTDiscovery : Depuis le plugin MQTTDiscovery il y a un bouton qui permet de voir les équipements découverts. Il suffit alors de cliquer sur le bouton ajouter pour les équipements qui ont été automatiquement découverts dès lors qu’une antenne a été démarrée (pour rappel chez moi : 4 NUT et Mi-Band 7 et des sondes)
Edition des équipements pour les assigner à un objet Jeedom et les nommer correctement.

Remplacement des équipements BLEA par ceux de MQTTDiscovery : Utilisation de l’outil Remplacer de Jeedom pour remplacer à la volé, les équipement BLEA par ceux créés par le plugin MQTTDiscovery. Cela permet de ne pas avoir à modifier les virtuels et autres scénarios qui utilisent les équipements précédemment utilisés par le plugin BLEA.
Pour résumer : Ceux de gauche seront remplacés par ceux de droite (filtre BLEA et MQTTDiscovery pour y voir plus clairement ce qu’il faut remplacer). Je n’ai rien coché comme option à vous de voir en fonction de votre usage.

Exemple :

NUT Blanc BLEA : présent => NUT Blanc MQTTDiscovery : présent
NUT Blanc BLEA : rssi local => NUT Blanc MQTTDiscovery : rssi TGW_1378
NUT Blanc BLEA rssi garage => NUT Blanc MQTTDiscovery : rssi TGW_1379

Pour terminer : Suppression du plugin BLEA. Il ne faut pas le faire avant, car les équipements ne pourraient pas être remplacés par l’outils Remplacer de Jeedom.

Temps de la migration : 2 heures, prévoir 3 heures pour une personne hésitante.

N’oublions pas : Un grand merci à Mips, l’auteur de ces deux plugins, qui a su réaliser un couple de plugin permettant à tous (sans aucune connaissance de la technologie MQTT) de pouvoir remplacer le plugin BLEA (et plus encore). Sachez aussi qu’il propose aussi un suivi exemplaire de ses plugins.

19 « J'aime »

Je plussoie !

2 Super plugins qui font le job, simple, efficace, bien documenté !

Perso je l’ai aie installé sur une VM deb11 core beta 4.4

Merci pour le tuto et à mips pour le dev !!

PS : Fabrice Halloween est passé, tu peux migrer de la citrouille au père noel :rofl: :rofl:

3 « J'aime »

Top Fabrice, j’ai justement commencé cette migration hier sur un Pi0. Ton tuto est le bienvenue pour les utilisateurs désespérés de Blea. On va pouvoir migrer sur debian 11💪 merci pour ton partage.

Grand merci @Mips pour ce boulot !!!

3 « J'aime »

Je confirme c’est que du bonheur. Un seul conseil, installez le plus vite possible ces deux plugins. Un très grand merci à @Mips .

1 « J'aime »

Bonjour ton tuto est très bien pour des personnes qui hésitent.
Perso j’ai migré en ajoutant 3 esp32 avec ma clé Sena, il y a un mois et ca fonctionne super bien ! Bravo @Mips.

1 « J'aime »

J’y suis passé, aucun regrets d’avoir quitté BLEA. Merci à @Mips
Stable, avec une antenne deportee et tout est bien reconnu

2 « J'aime »

Hello,

Pour ceux qui ont migré de Blea, est ce que vous utilisez des MiFlora ? et dans ce cas, comment faites vous car TGW ne récupère pas les données « batteries » des MiFlora, du coup plus compliqué de suivre lorsque les batteries arrivent en fin de vie :frowning:

Bonne journée,
TiTidom.

pas tout à fait correcte

la batterie remonte pour certains et pas pour d’autres:

les modèles dont le fabricant est « Xiaomi », ca remonte;
les autres ("Xiaomi/VegTrug), ca ne remonte pas

edit: et pour répondre, vu que ces équipements ont une commande « présent », s’ils passent absent c’est que leurs pile est à plat car ils ne communiquent plus

1 « J'aime »

Hello,

Oui tu as raison… et merci pour le lien vers l’autre sujet.

Comme par hasard, j’ai ceux qui sous TGW ne remontent pas l’info batterie :frowning: je vais tester avec OMG voir si c’est pareil ou non.

Ce qui est frustrant, c’est qu’avec BLEA, j’ai bien les infos batteries et même l’info du firmware installé sur mes MiFlora.

Edit : concernant le fait qu’ils ne répondent plus, chez moi c’est pas aussi simple, les miflora sont dehors, et régulièrement, je perds la liaison bluetooth car je suis en limite de portée, et sans rien changer ils reviennent (ce qui me dérange pas en soit), mais du coup ce n’est pas relatif à la batterie…

oui, je n’arrive pas à déterminer si c’est le fabricant qui est le facteur déterminant ou si c’est omg versus theengs
dans les 2 cas avec le même firmware.

du coup il n’est pas impossible que ca puisse être réglé en « corrigeant » le décodage coté theengs/omg…
l’app miflora voit la batterie dans les 2 cas

il suffit de mettre une alerte sur non communication sur l’équipement ou alors action sur valeur qui se déclenche après x heures et c’est réglé :wink:

perso je me fie assez peu à l’info batterie de toute façon car on sait qu’elle n’est pas « certaine »: il peut être indiqué 30% restant et tout d’un coup ca ne marche plus ou l’inverse 0% et ca fonctionne encore pendant des mois…

=> l’info batterie ne sert à rien, ce qui compte c’est de savoir qu’on recoit toujours de l’info… d’où l’alerte de non-communication, si alerte il est alors temps de regarder en détails la cause: antenne down, batterie à plat etc

Tu n’as pas tort sur le fait que c’est pas fiable la batterie, c’est juste une indication, si elle était à 100 et qu’elle passe en dessous des 40%, en général je commande des piles :stuck_out_tongue:

Et concernant la non présence après plusieurs heures, c’est exactement ce que je fais, je m’en sers même via les google qui me disent s’ils faut que j’arrose les plantes :stuck_out_tongue: il me dit de quand date la dernière mesure histoire qu’elle date pas d’il y a plusieurs jours LOL.

Edit : après c’est plus mon côté perfectionniste qui parle, car en soit oui on peut s’en passer de l’indication de la batterie, on est tout à fait d’accord, mais j’aime pas « perdre » une info en cours de route après l’avoir eu pendant des années lol, même si je serai le premier heureux de me séparer de blea :stuck_out_tongue:

2 « J'aime »

Bonjour,

Theengs Gateway ne récupère pas le niveau de batterie des Mi Flora en effet, seul OpenMQTTGateway le fait en se connectant au mi flora toutes les heures par défaut.
A noter qu’une connection requiert plus d’échanges que les autres types de messages. Elle est donc plus sensible à la distance, et ne se produira pas si un autre appareil comme un téléphone est déjà connecté.

Bonjour,

Merci pour cette info.

Ok pour la connexion, j’imagine qu’il fait grosso modo la même chose que BLEA, en regardant le code, j’avais vu en effet qu’il allait chercher l’info.

Je vais tester tout cela :slight_smile:

Bonne journée,
TiTidom.

7 messages ont été scindés en un nouveau sujet : Pas de détection du port Bluetooth sur une machine virtuelle

Merci pour ce tuto
je suis en train d’installer et là j’ai compris !
:+1:

et merci @anon53349806

1 « J'aime »

Merci @Fabrice pour ce tuto bien utile :+1:

Pour ceux qui comme moi ont des nuts, perso des nutales mais bon je pense que c’est pareil… pensez à cocher découverte des équipements inconnus dans la configuration de MQTTDiscovery sinon vous allez perdre du temps à essayer de comprendre pourquoi le plugin ne les découvres pas!!

Voilà mon petit retour d’expérience sinon pour le reste tous c’est déroulé sans accro :smirk:

1 « J'aime »

Le version 1.20 de Theengs Gateway les prends.en charge nativement.

Vous avez fait votre installation quand ?

Personnellement , j’ai 4 nut ils sont pris en charges nativement.

l’installation sur une antenne externe date d’hier soir mais pas apparu avant que je coche équipements inconnus, j’ai des thermomètre xiaomi qui sont apparus direct mais pas les nuts… peut-être que tgw les voyais mais pas mqttdiscovery en tous cas, j’ai même changer les piles et appuyer sur le bouton du nutale pour le faire sonner mais rien, du coup j’ai installer une antenne en local sur le raspberry qui héberge jeedom et toujours rien.
J’ai peut-être loupé un truc lors de l’installation mais bon c’est réglé c’est le principal, je voulais juste donner mon expérience pour un futur utilisateur qui serait dans le même cas.

S’ils sont apparus dans les équipements « inconnus » c’est qu’ils n’étaient pas décodés par theengsgateway
Ca dépend des modèles, les nutales ne l’étaient pas tous (car j’ai des nut3 et des nutales qui eux sont bien décodés) et manifestement c’est toujours le cas pour certains.
Le plugin n’y est pour rien et en vrai ca ne fonctionnera pas « mieux » s’ils sont décodés que via les équipements « inconnus » donc ca ne sert à rien de chercher « pourquoi »

1 « J'aime »