[RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home
Publié : 23 nov. 2018, 22:53
Bonjour à tous, c'est akenad ,
Aujourd'hui je vais vous présenter un retour d'expérience sur l'intégration dans Jeedom de la Xiaomi Gateway, à l'aide des plugins Xiaomi Home et Homebridge, et interrogation de l’état de capteurs Mi et Aqara par HomePod.
Les équipements et logiciels utilisés sont les suivants :
- Xiaomi Gateway, modèle DGNWG02LM, (model=lumi.gateway.v3) passerelle Wi-Fi/ZigBee (non compatible Homekit), firmware 1.4.1_X (compatible API et MiJia). Nous l’appellerons juste « GW » dans la suite.
/!\ ATTENTION: il ne s’agit pas de l’Aqara Hub Gateway HOMEKIT, modèle ZHWG11LM, ni du modèle DGNWG03LM pour Taïwan, ni du modèle DGNWG05LM avec prise Europe.
- JeedomSmart Stretch, Jeedom 3.2.11
- plugin Homebridge v1.4.5 23/11/2018, Homebridge v0.4.45
- HomePod 12.1, iPhone IOS 12.1 et App Mi Home 4.9.2 (novembre 2018, cette version permet d’activer le mode développeur de la GW avec le paramètre de langue en Français).
- Aqara Door and Window Sensor (capteur d’ouverture de porte), modèle MCCGQ11LM. forme rectangulaire avec "Aqara" inscrit sur la tranche.
- Mi Temperature and Humidity Sensor (capteur de température et d’hygrométrie), modèle WSDCGQ01LM, forme ronde.
J'ai procédé en 3 étapes :
-Installation du plugin
-initialisation de la Xiaomi Gateway et ajouts d’appareils
-intégration HomeBridge et HomePod
1) Installation du plugin
Classique.
2) initialisation de la Xiaomi Gateway
ATTENTION : Pour que le plugin détecte automatiquement la GW, il est indispensable dans l’App Mi Home d’activer celle-ci en mode développeur (ce qui permet d’obtenir une clé API à renseigner dans le plugin, permettant à celui-ci de communiquer avec la GW via API).
Pour ce faire :
-brancher la GW sur une prise électrique. Au bout de quelques secondes on entend une voix chinoise et la GW clignote jaune.
-Installer l’App Mi Home sur l’iPhone.
-créer un compte Mi Home.
-se connecter avec le compte Mi Home.
sur la page d’accueil,
-sélectionner « Profil » → Paramètres → Langues -> Français
-sélectionner « Profil » → Paramètres → Paramètres régionaux → Chine continentale
-sélectionner « + » pour « ajouter un appareil » → Onglet Sécurité du foyer → Point daccès → Mi Control Hub (Gen 2) puis cocher « Voyant jaune clignotant » et bouton « suivant ».
-Sélectionner le réseau Wi-Fi existant et saisir le mot de passe Wi-Fi associé puis bouton « suivant ». (cette information va être envoyée à la GW lors de son initialisation pour qu’elle puisse se connecter ensuite au réseau Wi-Fi existant) .
-basculer l’iPhone dans Réglages Wi-Fi, choisir le réseau « lumi-gateway-xxx » puis retourner dans l’application Mi Home. (cela établit une communication wi-fi directe entre le iPhone et la GW pour effectuer son initialisation).
-sélectionner l’emplacement de l’appareil (exemple : Living room) et définir le nom de l’appareil (Défaut : Mi Control Hub).
-la GW est alors initialisé (l’anneau de la GW est éteint, ne clignote plus jaune). l’iPhone peut maintenant communiquer avec la GW via le réseau Wi-Fi existant.
-la GW devient visible sur la page d’accueil.
-cliquer sur la GW pour la sélectionner, c'est-à-dire "Mi Control Hub" (si le nom par défaut de l'appareil a été conservé)
Le message suivant s'affiche :
"La version actuelle du micrologiciel est trop ancienne. Certaines fonctionnalités peuvent ne pas ..."
cliquer sur le bouton "Mettre à jour"
(au jour d’écriture de ce post, le firmware de la GW passe de v1.4.1_150.0143 à v1.4.1_159.0143).
---------------------------------------------
EDIT 09/04/2019 : je viens de recevoir et d'installer une 2ième GW, la mise à jour a fait passer de v1.4.1_150.0143 à v1.4.1_167.0143.
Après l’activation du mode développeur et retour sur la Gw, il m’a été proposé une 2ième mise à jour en v1.4.1_167.0158 que j'ai effectuée.
D’autre part j’ai utilisé la même version sous iPhone/IOS de l’App Mi Home que lors de l’installation de la 1ère GW il y a 5 mois, à savoir la v4.9.2.
----------------------------------------------
-cliquer sur les 3 points en haut à droite : “…”
(l’option « Vérifier les mises à jour du micrologiciel » permet d’avoir la version du firmware de la GW)
-cliquer sur « About »
/!\ ATTENTION : c’est maintenant le moment le plus délicat. Il s’agit d’activer le mode développeur.
(A ce stade nmap -sU -p 9898 adrip renvoie 9898/udp closed)
Sur cette page "About", sous Android il s’affiche un numéro de version sur lequel on clique mais ce numéro de version n’est pas visible sur iPhone. Avec un iPhone il faut cliquer en aveugle dans la zone blanche, 5 fois de suite rapidement et une nouvelle page apparaît avec plusieurs lignes écrites en chinois.
Cliquer sur la ligne comportant 7 idéogrammes et activer le bouton switch pour qu’il passe au vert, cliquer le bouton "OK".
Cela active le mode développeur.
(A ce stade nmap -sU -p 9898 adrip renvoie 9898/udp open)
La clé API est indiquée (16 caractères Hexadécimales), la noter.
(La ligne comportant 4 idéogrammes permet de visualiser les différents model des appareils, en particulier pour la GW : model=lumi.gateway.v3 EDIT 25/01/2019 : et profitez en aussi pour noter la valeur de token={32 caractères Hexadécimales} nécessaire pour la mise en oeuvre du plugin XiaomiTalk pour faire parler votre Xiaomi Gateway !)
Après l'ouverture du port udp 9898, le plugin à détecté automatiquement la GW en tant qu’équipement.
Le champ « Password » de l’équipement GW à renseigner correspond à la clé API de la GW notée précédemment.
Le plugin crée automatiquement les commandes.
Le pilotage de la GW peut se faire ensuite uniquement avec le plugin.
Configurer l’IP de la GW en DHCP statique.
Ajout d’appareils :
Pour ajouter les appareils ZigBee compatible avec la GW, il y a 2 méthodes, le bouton sur la GW ou l’App Mi Home (et les équipements correspondants s’ajoutent automatiquement dans le plugin).
Pour ajouter un nouveau device sur la GW sans passer par l’App Mi Home cliquer 3 fois sur le bouton de la GW, puis appuyer sur le bouton du device quelques secondes jusqu’à ce que la led bleue clignote au moins 3 fois.
Pour ajouter un nouveau device sur la GW avec l’App Mi Home, sur la page d’accueil,
-sélectionner la GW, → Device → la GW → Add child device
-choisir le type de device dans la liste (Aqara Door and Window Sensor, Mi Temperature and Humidity Sensor …). puis appuyer sur le bouton du device quelques secondes jusqu’à ce que la led bleue clignote au moins 3 fois.
Dans le plugin donner des noms aux équipements et les affecter à des pièces (Objet parent) :
« Salle de bain » , « Sonde »
« Entrée », « Porte »
3) intégration HomeBridge et HomePod
Dans le Plugin Homebridge les objets et les types génériques des capteurs sont générés automatiquement dans les pièces correspondantes :
« Entrée », « Porte »
Nom de la commande---Type Générique
Ouverture -------------------------Info / Porte
Absence de fermeture-------------------------Aucun
Batterie--------------------Info / Batterie
Pile voltage------------------All / Ne pas tenir compte de cette commande
Rafraichir-------------------------All / Ne pas tenir compte de cette commande
« Salle de bain » , « Sonde »
Nom de la commande---Type Générique
Température -------------------------Info / Température
Humidité------------------------- Info / Humidité
Batterie--------------------Info / Batterie
Pile voltage------------------All / Ne pas tenir compte de cette commande
Rafraichir-------------------------All / Ne pas tenir compte de cette commande
Si ce n’est pas déjà le cas, cocher « Activer la pièce » et cocher l’objet pour l’Envoyer à Homebridge.
Arrêter et redémarrer le démon HomeBridge pour faire remonter les modifications dans l'App Maison.
Créer les mêmes pièces (si ce n'est pas déjà fait) dans l'App Maison sur le iPhone, « Entrée », « Salle de bain » et positionner respectivement les accessoires « Porte » et « Sonde » dedans.
Cela permet ainsi de dire au Homepod :
-"Dis SIRI quel est le taux d’humidité dans la salle de bain"
-"Dis SIRI quelle est la température dans la salle de bain"
-"Dis SIRI quelle est le niveau de la batterie de la sonde"
-"Dis SIRI quel est l'état de la porte" (→ ouvert, fermé)
-"Dis SIRI quelle est le niveau de la batterie de la porte"
Quelques documentations du développeur du plugin Xiaomi Home @lunarok :
plugin xiaomi home/
Xiaomi Gateway
Gamme Xiaomi Home
Voila j'espère que ce retour d’expérience sera utile aux membres Jeedom.
akenad
Aujourd'hui je vais vous présenter un retour d'expérience sur l'intégration dans Jeedom de la Xiaomi Gateway, à l'aide des plugins Xiaomi Home et Homebridge, et interrogation de l’état de capteurs Mi et Aqara par HomePod.
Les équipements et logiciels utilisés sont les suivants :
- Xiaomi Gateway, modèle DGNWG02LM, (model=lumi.gateway.v3) passerelle Wi-Fi/ZigBee (non compatible Homekit), firmware 1.4.1_X (compatible API et MiJia). Nous l’appellerons juste « GW » dans la suite.
/!\ ATTENTION: il ne s’agit pas de l’Aqara Hub Gateway HOMEKIT, modèle ZHWG11LM, ni du modèle DGNWG03LM pour Taïwan, ni du modèle DGNWG05LM avec prise Europe.
- JeedomSmart Stretch, Jeedom 3.2.11
- plugin Homebridge v1.4.5 23/11/2018, Homebridge v0.4.45
- HomePod 12.1, iPhone IOS 12.1 et App Mi Home 4.9.2 (novembre 2018, cette version permet d’activer le mode développeur de la GW avec le paramètre de langue en Français).
- Aqara Door and Window Sensor (capteur d’ouverture de porte), modèle MCCGQ11LM. forme rectangulaire avec "Aqara" inscrit sur la tranche.
- Mi Temperature and Humidity Sensor (capteur de température et d’hygrométrie), modèle WSDCGQ01LM, forme ronde.
J'ai procédé en 3 étapes :
-Installation du plugin
-initialisation de la Xiaomi Gateway et ajouts d’appareils
-intégration HomeBridge et HomePod
1) Installation du plugin
Classique.
2) initialisation de la Xiaomi Gateway
ATTENTION : Pour que le plugin détecte automatiquement la GW, il est indispensable dans l’App Mi Home d’activer celle-ci en mode développeur (ce qui permet d’obtenir une clé API à renseigner dans le plugin, permettant à celui-ci de communiquer avec la GW via API).
Pour ce faire :
-brancher la GW sur une prise électrique. Au bout de quelques secondes on entend une voix chinoise et la GW clignote jaune.
-Installer l’App Mi Home sur l’iPhone.
-créer un compte Mi Home.
-se connecter avec le compte Mi Home.
sur la page d’accueil,
-sélectionner « Profil » → Paramètres → Langues -> Français
-sélectionner « Profil » → Paramètres → Paramètres régionaux → Chine continentale
-sélectionner « + » pour « ajouter un appareil » → Onglet Sécurité du foyer → Point daccès → Mi Control Hub (Gen 2) puis cocher « Voyant jaune clignotant » et bouton « suivant ».
-Sélectionner le réseau Wi-Fi existant et saisir le mot de passe Wi-Fi associé puis bouton « suivant ». (cette information va être envoyée à la GW lors de son initialisation pour qu’elle puisse se connecter ensuite au réseau Wi-Fi existant) .
-basculer l’iPhone dans Réglages Wi-Fi, choisir le réseau « lumi-gateway-xxx » puis retourner dans l’application Mi Home. (cela établit une communication wi-fi directe entre le iPhone et la GW pour effectuer son initialisation).
-sélectionner l’emplacement de l’appareil (exemple : Living room) et définir le nom de l’appareil (Défaut : Mi Control Hub).
-la GW est alors initialisé (l’anneau de la GW est éteint, ne clignote plus jaune). l’iPhone peut maintenant communiquer avec la GW via le réseau Wi-Fi existant.
-la GW devient visible sur la page d’accueil.
-cliquer sur la GW pour la sélectionner, c'est-à-dire "Mi Control Hub" (si le nom par défaut de l'appareil a été conservé)
Le message suivant s'affiche :
"La version actuelle du micrologiciel est trop ancienne. Certaines fonctionnalités peuvent ne pas ..."
cliquer sur le bouton "Mettre à jour"
(au jour d’écriture de ce post, le firmware de la GW passe de v1.4.1_150.0143 à v1.4.1_159.0143).
---------------------------------------------
EDIT 09/04/2019 : je viens de recevoir et d'installer une 2ième GW, la mise à jour a fait passer de v1.4.1_150.0143 à v1.4.1_167.0143.
Après l’activation du mode développeur et retour sur la Gw, il m’a été proposé une 2ième mise à jour en v1.4.1_167.0158 que j'ai effectuée.
D’autre part j’ai utilisé la même version sous iPhone/IOS de l’App Mi Home que lors de l’installation de la 1ère GW il y a 5 mois, à savoir la v4.9.2.
----------------------------------------------
-cliquer sur les 3 points en haut à droite : “…”
(l’option « Vérifier les mises à jour du micrologiciel » permet d’avoir la version du firmware de la GW)
-cliquer sur « About »
/!\ ATTENTION : c’est maintenant le moment le plus délicat. Il s’agit d’activer le mode développeur.
(A ce stade nmap -sU -p 9898 adrip renvoie 9898/udp closed)
Sur cette page "About", sous Android il s’affiche un numéro de version sur lequel on clique mais ce numéro de version n’est pas visible sur iPhone. Avec un iPhone il faut cliquer en aveugle dans la zone blanche, 5 fois de suite rapidement et une nouvelle page apparaît avec plusieurs lignes écrites en chinois.
Cliquer sur la ligne comportant 7 idéogrammes et activer le bouton switch pour qu’il passe au vert, cliquer le bouton "OK".
Cela active le mode développeur.
(A ce stade nmap -sU -p 9898 adrip renvoie 9898/udp open)
La clé API est indiquée (16 caractères Hexadécimales), la noter.
(La ligne comportant 4 idéogrammes permet de visualiser les différents model des appareils, en particulier pour la GW : model=lumi.gateway.v3 EDIT 25/01/2019 : et profitez en aussi pour noter la valeur de token={32 caractères Hexadécimales} nécessaire pour la mise en oeuvre du plugin XiaomiTalk pour faire parler votre Xiaomi Gateway !)
Après l'ouverture du port udp 9898, le plugin à détecté automatiquement la GW en tant qu’équipement.
Le champ « Password » de l’équipement GW à renseigner correspond à la clé API de la GW notée précédemment.
Le plugin crée automatiquement les commandes.
Le pilotage de la GW peut se faire ensuite uniquement avec le plugin.
Configurer l’IP de la GW en DHCP statique.
Ajout d’appareils :
Pour ajouter les appareils ZigBee compatible avec la GW, il y a 2 méthodes, le bouton sur la GW ou l’App Mi Home (et les équipements correspondants s’ajoutent automatiquement dans le plugin).
Pour ajouter un nouveau device sur la GW sans passer par l’App Mi Home cliquer 3 fois sur le bouton de la GW, puis appuyer sur le bouton du device quelques secondes jusqu’à ce que la led bleue clignote au moins 3 fois.
Pour ajouter un nouveau device sur la GW avec l’App Mi Home, sur la page d’accueil,
-sélectionner la GW, → Device → la GW → Add child device
-choisir le type de device dans la liste (Aqara Door and Window Sensor, Mi Temperature and Humidity Sensor …). puis appuyer sur le bouton du device quelques secondes jusqu’à ce que la led bleue clignote au moins 3 fois.
Dans le plugin donner des noms aux équipements et les affecter à des pièces (Objet parent) :
« Salle de bain » , « Sonde »
« Entrée », « Porte »
3) intégration HomeBridge et HomePod
Dans le Plugin Homebridge les objets et les types génériques des capteurs sont générés automatiquement dans les pièces correspondantes :
« Entrée », « Porte »
Nom de la commande---Type Générique
Ouverture -------------------------Info / Porte
Absence de fermeture-------------------------Aucun
Batterie--------------------Info / Batterie
Pile voltage------------------All / Ne pas tenir compte de cette commande
Rafraichir-------------------------All / Ne pas tenir compte de cette commande
« Salle de bain » , « Sonde »
Nom de la commande---Type Générique
Température -------------------------Info / Température
Humidité------------------------- Info / Humidité
Batterie--------------------Info / Batterie
Pile voltage------------------All / Ne pas tenir compte de cette commande
Rafraichir-------------------------All / Ne pas tenir compte de cette commande
Si ce n’est pas déjà le cas, cocher « Activer la pièce » et cocher l’objet pour l’Envoyer à Homebridge.
Arrêter et redémarrer le démon HomeBridge pour faire remonter les modifications dans l'App Maison.
Créer les mêmes pièces (si ce n'est pas déjà fait) dans l'App Maison sur le iPhone, « Entrée », « Salle de bain » et positionner respectivement les accessoires « Porte » et « Sonde » dedans.
Cela permet ainsi de dire au Homepod :
-"Dis SIRI quel est le taux d’humidité dans la salle de bain"
-"Dis SIRI quelle est la température dans la salle de bain"
-"Dis SIRI quelle est le niveau de la batterie de la sonde"
-"Dis SIRI quel est l'état de la porte" (→ ouvert, fermé)
-"Dis SIRI quelle est le niveau de la batterie de la porte"
Quelques documentations du développeur du plugin Xiaomi Home @lunarok :
plugin xiaomi home/
Xiaomi Gateway
Gamme Xiaomi Home
Voila j'espère que ce retour d’expérience sera utile aux membres Jeedom.
akenad