You are currently viewing Theengs et Openmqtt , le futur du Bluetooth pour votre domotique Jeedom

Theengs et Openmqtt , le futur du Bluetooth pour votre domotique Jeedom

Lien affilié
  • Puce de pilotage USB : CH340C, avec une bonne compatibilité système, une vitesse de téléchargement plus élevée et une plus grande stabilité. Carte de développement 2.4GHz Dual Mode WiFi+Bluetooth, avec interface Type-c.
  • L’ESP-WROOM-32 est un module MCU Wi-Fi + BT + BLE polyvalent et puissant.
  • Petit volume : facile à intégrer dans d’autres produits.
  • Prise en charge de 3 modes : AP, STA et AP+STA  Deux cœurs de CPU peuvent être contrôlés ou activés individuellement.

Tags: Theengs Openmqtt Bluetooth Jeedom

0. Contexte

Nous avons déjà traité du Bluetooth à de nombreuses reprises que ce soit via BLEA qui malheureusement est à l’abandon et ibeacon via le script de poune. Depuis quelques mois j’utilisais une vm Theengs gateway et depuis peu la sortie du plugin de mips mqtt discovery m’a permis de faciliter les choses et donc c’est avec cette maturité sur cette nouvelle façon d’exploiter le Bluetooth dans nos maisons que je viens vers vous.

Prérequis avoir un brocker mqtt fonctionnel sur son jeedom

1. OpenMqttGateway

1.1 Flash d’installation

Nous allons donc nous appuyer sur l’excellent travail de l’équipe OPENMQTTGATEWAY qui permet dans notre cas de gérer le Bluetooth, mais je vous invite à jeter un coup d’œil dans leur documentation, les fonctions sont immenses !

Pour cela nous allons nous appuyer sur un Esp32 qui a donc déjà nativement un capteur Bluetooth

 

Pour commencer, nous allons brancher l’esp32 à notre ordinateur et nous allons repérer son port

puis, nous allons aller sur la page de flash d’Openmqttgateway

Pour ma part, j’ai choisi ESP DEV BLE qui correspond à ce que je veux en faire

Cliquer sur install et choisir le port correspondant

le programme s’écrit, ne rien toucher !

et voila c’est écrit

1.2 configuration du wifi

Ouvrez les paramètres wifis de votre téléphone et recherchez l’ID OMG

Un page de navigateur s’ouvre, configurer le wifi

Indiquer le SSID du wifi sur lequel doit se connecter l’esp, et son mot de passe

Inscriver l’adresse du brocker mosquitto sur lequel il doit envoyer ces informations (dans mon cas adresse de mon jeedom)

Si votre broker à username et mot de passe l’indiquer aussi

Dans Gatewayname vous pouvez identifier le nom de ce device

Mqtt base topic est le topic sur lequel il enverra ces infos

enfin gateway password est le mot de passe pour vous connecter à cette même page pour le reconfigurer

Un Save et c’est fini et fonctionnel

On vérifie sur mqtt explorer en se connectant au brocker de son jeedom

2. TheengsGateway

Nous détaillerons deux types d’installations via Commande line et via Plugin Jeedom

2.1 Installation en ligne de commande

On commence par mettre à jour notre Debian

sudo apt update 
sudo apt-get upgrade

Installer Python 3

sudo apt install python3 

Vérifier la version de python installé

python3 --version 

Installer pip

sudo apt install python3-pip -y

Vérifier la version de pip

pip3 --version

Checker si c’est bien la dernière version de pip

pip install --upgrade pip

Installer Theengs

pip install TheengsGateway

La configuration avancée se fait via

python3 -m TheengsGateway -h

Pour lancer votre Theengs, vous devez indiquer l’IP, user et mot de passe de votre brocker et lancer la ligne suivante.

python -m TheengsGateway -H "<mqtt_broker_host_ip>" -u "username" -p "password"

Si vous souhaitez que la Passerelle Theengs démarre automatiquement au démarrage de votre distribution Linux, vous pouvez le faire en créant un script.

[Unit]
Description=Theengs Gateway
Requires=bluetooth.target network-online.target

[Service]
Restart=always
Type=simple
User=pi
ExecStart=/usr/bin/python3 -m TheengsGateway -H host -u user -p password

[Install]
WantedBy=multi-user.target

Ensuite, rechargez les fichiers de service et démarrez et activez le service système :

sudo systemctl daemon-reload
sudo systemctl enable --now TheengsGateway.service

Vérifier que le service démarre :

systemctl status TheengsGateway

et on check sur Mqtt explorer qu’il apparaisse :

 

2.2 Installation via le plugin

Installer le plugin Theengs Gateway et l’activer. choisir la même configuration que mqtt manager qui doit normalement diriger vers votre brocker

puis, on va dans programmation et on ouvre le plugin

On crée un nouvel équipement

Réglages :

  • Activer
  • Choisir le mode local
  • Choisir l’adaptateur
  • Sauvegarder
  • Installer l’antenne et attendre que le statut de l’installation soir ok
  • Configurer le service
  • Sauvegarder

et voilà tout est envoyé à notre brocker

2.3 Paramètre optionnel

On peut configurer ici les appareils que l’on ne souhaite pas faire remonter, mais aussi décoder les adresses mac aléatoires.

Cette configuration permet de décoder une adresse MAC aléatoire vers l’adresse MAC réelle et permet donc de faire de la détection de présence du dispositif.

Pour cela, vous devez entrer l’adresse MAC réelle et, en séparant par un espace, la “clé de résolution d’identité” (IRK - Identity Resolving Key) tel que vous pouvez le voir

Pour savoir comment obtenir cette IRK pour les appareils Apple, veuillez consulter cette documentation.

 

3. MQTT Discovery

On va installer Mqtt discovery pour récupérer nos infos qu’elle soit Theengsgateway ou OpenMqttGateway et les ajouter à votre Jeedom. Il est possible de le faire en manuel avec JMQTT !

3.1 Configuration

Installer et activer le plugin

  • Renseigner l’adresse du brocker et port
  • Inscrire si il y a user et mot de passe
  • Choisir le topic sur lequel émettent les antennes, qu’elle soit TheengsGateway ou OpenMqttgateway dans notre cas home
  • Sauvegarder

3.2 Installation des devices

Si avec JMQTT, on peut tout faire, Mqttdiscovery permet clairement une remontée plus plug and play comme le fait zigbeelinker pour le zigbee.

Chercher les équipements découverts

Repérer ceux qui vous intéressent et ajouter les ! Penser à quittancer via, fermer et terminer la création

Vous pouvez aussi récupérer des équipements inconnus :

Cela m’a permis par exemple de récupérer mes badges somfy !, une fois les avoir ajoutés, il faut revalider via équipements découverts !

3.3 Exemple d’un device

Avec un thermomètre switchbot extérieur, on peut recuperer cela

SI on recherche plutôt des devices pour la gestion de la présence

On peut exploiter la présence, mais aussi le rssi et donc trianguler pour savoir dans quel parti de la maison, nous sommes !

Et ce n’est que le début ! Vivement que Mips intègre les actions !

J’espère que cet article vous aura plus !

N’oubliez pas que la vie est une fête

Loïc

Loïc phoenix castillo

Passionné par informatique dès mon plus jeune âge, j'ai arrêté à mes 21 ans pour me consacrer à mes études d'infirmier et faire la fête. Maintenant père de famille, je me réinvestis dans la domotique ! Bref le kif ! Rédacteur en chef de Youdom