Avant toute chose merci de (re)prendre connaissance de la charte et de la respecter.
Pour résumer :
- Avant de poser une question, je cherche si la réponse existe
- Je suis poli, courtois et je respecte tout un chacun sur le forum
- Si un post m'agace : je m'en éloigne plutôt que de répondre d'une façon qui pourrait être mal interprétée


Il n'est jamais du luxe que de rappeler des choses simples :
Courtoisie, amabilité, politesse et bonne humeur sont les maîtres mots pour un forum sympathique, bienveillant et accueillant :)

Le groupe des Helpers est present pour vous aidez, n'hésitez pas à poser des questions ;)

Toute la communauté vous remercie

[RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Avatar de l’utilisateur
akenad
Actif
Messages : 615
Inscription : 27 oct. 2017, 11:39

[RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par akenad » 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)
Hub-Xiaomi.png
Hub-Xiaomi.png (90.28 Kio) Consulté 4409 fois
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 :)
Dernière édition par akenad le 04 juin 2019, 13:18, édité 5 fois.
Présentation akenad
JeedomSmart Debian Stretch
Odroid-C2 eMMC Armbian Stretch Kernel 3.x
RPi3B+ SSD Raspbian Stretch
NUC Intel i7Gen7 ProxMox VM Debian Stretch & Buster
RPi4B SSD Raspbian Buster

Mes équipements

Avatar de l’utilisateur
akenad
Actif
Messages : 615
Inscription : 27 oct. 2017, 11:39

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par akenad » 09 avr. 2019, 21:08

Bonjour,

Aujourd'hui je viens de recevoir et d'installer une 2ième Xiaomi Gateway avec mise à jour du micrologiciel avant d'activer le mode développeur.
Le plugin Xiaomi Home détecte automatiquement la GW.

Pour être plus précis, il s'agit toujours du modèle DGNWG02LM, et l'App Mi Home m'a proposé une première mise à jour du micrologiciel, que j'étais obligé de faire, qui l'a fait passer de v1.4.1_150.0143 à v1.4.1_167.0143.
j'ai ensuite activé le mode développeur qui a ouvert le port udp 9898,
Il m’a ensuite été proposé une 2ième mise à jour en v1.4.1_167.0158 que j'ai effectuée.

EDIT 14/04/2019 :
Compte tenu d'autres retours que j'ai pu lire sur le forum (problème de filtrage réseau et/ou d'activation du mode développeur),
pour le problème d'activation du mode développeur, j'ai décidé de faire des tests avec ma 1ère GW (aussi modèle DGNWG02LM) que j'avais installé en novembre 2018 et qui fonctionne bien depuis.
(Pour le problème de filtrage réseau voir ici : viewtopic.php?f=50&t=32599#p709551 )

L'état de ma 1ère GW (qui n’a pas changé depuis novembre 2018) est le suivant :

- GW firmware v1.4.1_159.0143
- IOS App Mi Home v4.9.2 avec mode développeur activé (une seule fois et pas désactivé depuis)
- le port udp 9898 de la GW est ouvert

Pour pouvoir me connecter avec mon PC Windows/Putty et un adaptateur USB-UART sur le port série console de la GW, je me suis inspiré du montage relayé sur le forum par @Bosquetia ici :
viewtopic.php?f=182&t=44040

Voici avec un peu plus de détails la procédure qui fonctionne :
-à l’arrière de la GW, enlever avec un petit tournevis plat les 3 petites rondelles blanches en caoutchouc qui cachent des vis (voir photo plus bas).
-pour dévisser utiliser un tournevis avec un embout spécial. Cet embout spécial peut être trouvé dans un grand magasin de bricolage français au sein d’une boîte métallique comportant une trentaine d’embouts spéciaux pour moins de 20 euros.
- je conseille d’utiliser un adaptateur USB-UART avec chip Silicon Labs série CP210x.
Celui que j’ai utilisé est sous la marque DSD TECH, modèle DS-USB-TTL01, avec chip CP2102.
- j’ai soudé 3 petits fils sur la GW (voir photo plus bas).
. le fil bleu est sur le GND de la GW et de l’adaptateur
- le fil jaune est sur le TX de la GW et le RX de l’adaptateur
- le fil vert est sur le RX de la GW et sera connecté sur le TX de l’adaptateur uniquement après la fin du boot de la GW.
- connecter l’adaptateur au PC
- si ce n’est pas déjà fais, installer le pilote pour l’adapteur USB-UART et configurer putty.
La procédure détaillée est la même que celle déjà décrite ici :
Odroid-C2 Armbian – Port série USB-UART - console système

- brancher la GW sur secteur, durant le boot l’anneau de leds clignote bleu.
-attendre la fin du boot, lancez putty et ouvrez une session sur le port COM précédemment configuré
-connecter le fil vert (RX de la GW) sur le TX de l’adaptateur, appuyer sur la touche entrée, alors le caractère dièse "#" et éventuellement les sorties console de la GW s’affichent.

Pour mettre en évidence le problème évoqué sur le forum concernant les phénomènes constatés entre l'activation du mode développeur avec l'App Mi Home et l'ouverture effective ou non du port udp 9898 de la GW, voici quelques tests :

à l'état initial le port udp 9898 de la GW est ouvert (nmap -sU -p 9898 adrip renvoie 9898/udp open)

Dans la console de la GW, lancer la commande :
psm-get network.open_pf
on obtient :
network.open_pf = 3

La valeur 3 correspond au port 9898 ouvert.

Dans l’App Mi Home, désactiver le mode développeur.

Dans la console de la GW, lancer la commande :
psm-get network.open_pf
on obtient :
network.open_pf = 0

Dans nmap le port udp 9898 de la GW est maintenant fermé.
Dans la log du plugin en debug , la GW ne remonte plus dans le plugin.

Dans l’App Mi Home, réactiver le mode développeur.
Saisir la nouvelle clé API dans le champ password du plugin.

Dans la console de la GW, lancer la commande :
psm-get network.open_pf
on obtient :
network.open_pf = 2

Dans nmap le port udp 9898 de la GW est toujours fermé.

Dans la console de la GW, lancer la commande :
psm-set network.open_pf 3

Dans nmap le port udp 9898 de la GW est toujours fermé.
Dans la console de la GW, lancer la commande :
reboot

Dans nmap le port udp 9898 de la GW est maintenant ouvert
Dans la log du plugin en debug , la GW remonte à nouveau dans le plugin

Ensuite j’ai mis à jour IOS App Mi Home de v4.9.2 à v4.15.101 et le firmware de v1.4.1_159.0143 à v1.4.1_167.0158.
(x.0143 à x.0158 concerne le Zigbee).

Conclusion : j’ai désactivé le mode développeur sur l’App Mi Home sur une GW qui fonctionnait depuis 6 mois et lorsque j’ai réactivé le mode développeur cela n’a pas réouvert le port 9898 et j’ai été obligé de le faire au niveau de la console de la GW.
Manifestement en novembre 2018 l'activation du mode développeur avait eu pour conséquence un network.open_pf = 3 alors que cette fois ci c'est un network.open_pf = 2. Il y a un phénomène extérieur, une information provenant du cloud Xiaomi peut-être, qui provoque cette différence.
Je ne pense pas qu'il y ait à ce jour un problème matériel ou différentes versions de matériel en circulation de la Xiaomi Gateway modèle DGNWG02LM, au moins depuis réception de ma 1ère GW, c'est-à dire 6 mois.
Depuis 6 mois et Jusqu'à ce jour il semblerait que lorsque une GW sort de son emballage elle est initialement en v1.4.1_150.0143,
une première mise à jour est demandé, elle peut être réalisée et il faut faire l'activation du mode développeur juste après qui a pour effet d'ouvrir le port 9898. Par contre il suffit de désactiver une fois le mode développeur et lorsqu'on réactive le mode développeur cela n'ouvre plus le port 9898.

A noter par ailleurs que Wireshark permet de voir (lorsque ce n'est pas filtré) que la GW multicast toute les 10 secondes sur 224.0.0.50 port UDP 9898 un paquet heartbeat contenant ses paramètres (id, token, ip ...). c'est ce qui doit probablement permettre au plugin Xiaomi Home de détecter automatiquement la GW.
.
.
Xiaomi-Gateway-DGNWG02LM.jpg
Xiaomi-Gateway-DGNWG02LM.jpg (382.97 Kio) Consulté 4013 fois
Xiomi-Gateway-Console.jpg
Xiomi-Gateway-Console.jpg (662.42 Kio) Consulté 3948 fois
.
.
akenad :)
Dernière édition par akenad le 12 mai 2019, 16:16, édité 20 fois.
Présentation akenad
JeedomSmart Debian Stretch
Odroid-C2 eMMC Armbian Stretch Kernel 3.x
RPi3B+ SSD Raspbian Stretch
NUC Intel i7Gen7 ProxMox VM Debian Stretch & Buster
RPi4B SSD Raspbian Buster

Mes équipements

Avatar de l’utilisateur
lionelb
Timide
Messages : 205
Inscription : 12 févr. 2018, 22:38
Contact :

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par lionelb » 09 avr. 2019, 22:17

Bonsoir,
J'ai cru comprendre que la dernière version (5.x) de Mi Home sous Android ne permettait plus d'activer le mode développeur ? C'est exact ? (J'ai la bonne GW et je n'ai pas réussi à l'associer et le cas échéant de trouver un APK en 4.x).

Merci pour les infos.

lionel
www.canaletto.fr
Pi3 / RFPlayer / Zigate / Visonic / Oregon / Chacon / Tuya / X2D / Xiaomi / Unifi / VMWare ESXi / Kodi / Emby / HD HomeRun & more...

benito06
Timide
Messages : 13
Inscription : 01 avr. 2019, 14:36

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par benito06 » 12 mai 2019, 12:32

Akenad,

Merci a toi pour les infos, effectivement je vais devoir passer par là il me semble...
La gateway sans jeedom ne me sert pas a grand chose !

Question bête mais je suppose que tu as utilisé celui ci :
https://www.amazon.fr/DSD-TECH-Converti ... B072K3Z3TL
Une différence avec celui là ?
https://fr.aliexpress.com/item/1pcs-CP2 ... b3e82945-1
Si ce n'est 8 fois moins chère mais 10 fois plus long dans la livraison :-D

Avatar de l’utilisateur
akenad
Actif
Messages : 615
Inscription : 27 oct. 2017, 11:39

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par akenad » 12 mai 2019, 16:20

benito06 a écrit :
12 mai 2019, 12:32
Akenad,

Merci a toi pour les infos, effectivement je vais devoir passer par là il me semble...
La gateway sans jeedom ne me sert pas a grand chose !
...

Bonjour @benito06,

En effet j’ai utilisé un adaptateur USB-UART, marque DSD TECH, modèle DS-USB-TTL01, avec chip Silicon Labs CP2102.

akenad :)
Présentation akenad
JeedomSmart Debian Stretch
Odroid-C2 eMMC Armbian Stretch Kernel 3.x
RPi3B+ SSD Raspbian Stretch
NUC Intel i7Gen7 ProxMox VM Debian Stretch & Buster
RPi4B SSD Raspbian Buster

Mes équipements

roldyx
Timide
Messages : 1
Inscription : 14 mai 2019, 09:20

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par roldyx » 14 mai 2019, 09:36

Hello @Akenad,

Merci pour le partage, ça fonctionne nickel chez moi en bidouillant la GW :-)

Pour info voici ce que j'ai remarqué (sans rentrer dans le détail) :
- Mise à jour de la GW dès intégration dans l'application Xiaomi Home (depuis l'application Android).
- Activation du mode développeur.
- Impossible de la faire remonter dans Jeedom automatiquement.
- Test du port via nmap => Celui-ci est open 1 à 2 fois sur 10.
- Manipulation plus haut pour se connecter en putty sur la GW, je remarque bien "network.open_pf = 2"
- Je passe manuellement le statut à 3.
- Redémarrage de la GW et tout remonte bien dans jeedom...

Pour info et pour ceux qui se posent la question, tout fonctionne parfaitement avec le routeur "Synology MR2200AC" (je parle du broadcast WIFI / LAN).


Jérémy

Avatar de l’utilisateur
akenad
Actif
Messages : 615
Inscription : 27 oct. 2017, 11:39

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par akenad » 14 mai 2019, 10:26

roldyx a écrit :
14 mai 2019, 09:36
Hello @Akenad,

Merci pour le partage, ça fonctionne nickel chez moi en bidouillant la GW :-) ....
Bonjour @roldyx,

J’ai le privilège de voir ton premier post, moins d’un quart d’heure après ton inscription sur le forum, qui consiste à me remercier et à faire un retour.
Cela devient rare et mérite d’être souligné.

Merci à toi.

akenad :)
Présentation akenad
JeedomSmart Debian Stretch
Odroid-C2 eMMC Armbian Stretch Kernel 3.x
RPi3B+ SSD Raspbian Stretch
NUC Intel i7Gen7 ProxMox VM Debian Stretch & Buster
RPi4B SSD Raspbian Buster

Mes équipements

Avatar de l’utilisateur
akenad
Actif
Messages : 615
Inscription : 27 oct. 2017, 11:39

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par akenad » 24 mai 2019, 00:02

K-ro974 a écrit :
23 mai 2019, 11:30
Ah c’est bien ce que je pensait la version europe n’est pas compatible !! (...)
sheep300 a écrit :
23 mai 2019, 12:04
Sincèrement la gateway Europe et chinoise sont exactement les mêmes c'est juste la prise qui change et le firmwar (...)

Je te laisse comparer la photo de la Xiaomi Gateway, modèle DGNWG02LM plus haut et la photo de la Xiaomi Gateway, modèle DGNWG05LM (prise Europe) ci-dessous.
.
.
Xiaomi-Gateway-DGNWG05LM.jpg
Xiaomi-Gateway-DGNWG05LM.jpg (663.74 Kio) Consulté 3186 fois
.
.
akenad :)
Présentation akenad
JeedomSmart Debian Stretch
Odroid-C2 eMMC Armbian Stretch Kernel 3.x
RPi3B+ SSD Raspbian Stretch
NUC Intel i7Gen7 ProxMox VM Debian Stretch & Buster
RPi4B SSD Raspbian Buster

Mes équipements

foxdloulou
Timide
Messages : 6
Inscription : 31 mai 2019, 18:29

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par foxdloulou » 02 juin 2019, 02:13

merci pour le tuto.
ça a fonctionné pour moi.
en espérant que ça puisse aider d'autre personnes !

Avatar de l’utilisateur
akenad
Actif
Messages : 615
Inscription : 27 oct. 2017, 11:39

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par akenad » 02 juin 2019, 20:03

foxdloulou a écrit :
02 juin 2019, 02:13
merci pour le tuto.
ça a fonctionné pour moi.
en espérant que ça puisse aider d'autre personnes !

Bonjour @foxdloulou,

C'est ton premier post, après ton inscription sur le forum, pour remercier et faire un retour.

Merci aussi à toi.

akenad :)
Présentation akenad
JeedomSmart Debian Stretch
Odroid-C2 eMMC Armbian Stretch Kernel 3.x
RPi3B+ SSD Raspbian Stretch
NUC Intel i7Gen7 ProxMox VM Debian Stretch & Buster
RPi4B SSD Raspbian Buster

Mes équipements

Avatar de l’utilisateur
akenad
Actif
Messages : 615
Inscription : 27 oct. 2017, 11:39

[RTEX] Plugin Xiaomi Home - Xiaomi Gateway - périphériques Xiaomi Zigbee compatibles

Message par akenad » 04 juin 2019, 13:24

Bonjour à tous, c'est akenad :) ,

Aujourd'hui je vais vous présenter un retour d'expérience sur mes investigations sur les pré-requis pour qu'un périphérique Xiaomi Zigbee soit intégrable dans le plugin Xiaomi Home.

L'illustration sera faite avec le Xiaomi Aqara Wireless Relay Controller (2 channels), modèle LLKZMK11LM (model lumi.ctrl.dualchn)

Le plugin Xiaomi Home communique avec la Xiaomi Gateway, laquelle communique avec les périphériques Xiaomi Zigbee.
Pour communiquer le plugin Xiaomi s'interface avec l'API LAN de la Xiaomi Gateway.
Ce mode de communication est différent de la communication entre l'App Mi Home et la Xiaomi Gateway (mode cloud HTTP).
Ces 2 modes semblent évoluer indépendamment et peuvent ne pas avoir le même niveau de compatibilité à un instant donné.
Autrement dit à un instant donné un périphérique peut être contrôlé (via la Xiaomi Gateway avec dernière version firmware)
avec la dernière version de l'App Mi Home alors que la version du protocole d'API LAN embarquée dans la Xiaomi Gateway ne le permet pas.

La compatibilité du plugin Xiaomi Home vis à vis d'un périphérique Xiaomi Zigbee est donc dépendante de la prise en charge de ce périphérique par la Xiaomi Gateway en mode API LAN.
Cette prise en charge pourrait dépendre à priori du modèle de Xiaomi Gateway et de la version de son firmware.

Le pré-requis pour qu'un périphérique Xiaomi Zigbee puisse être intégrable dans le plugin Xiaomi Home, c'est que lors d'un changement d'état du périphérique,l 'API LAN transmette une commande "report" en multicast IP 224.0.0.50 udp 9898.

Dans le cas du relais le "model" renvoyé dans une commande "report" devrait être "lumi.ctrl.dualchn" et visible dans la log du plugin en mode debug.
A ce stade, pour une Xiaomi Gateway, modèle DGNWG02LM, (model=lumi.gateway.v3) des membres du forum ont signalés que le relais n'était pas visible.
(v1.4.1_167.0158, dernière version de firmware connue en date du 09/04/2019)
Une explication serait que la version de l'API LAN embarquée dans le firmware de la Xiaomi Gateway n'est pas suffisamment récente ou que le relais n'est en réalité pas correctement ou que partiellement implémenté dans le protocole API LAN.

Dans tous les cas la source d'information pour le relais ici :
http://docs.opencloud.aqara.com/en/deve ... 2-channels
ne fait pas apparaitre au jour ou j'écris ce post de commande "write".
Ce qui voudrait dire que les relais ne peuvent pas être commandés via l'API LAN, mais avoir au mieux uniquement un retour d'état on/off,
ce qui limiterait l’intérêt de ce relais vis à vis du plugin Xiaomi Home.

Voila j'espère que ce retour d’expérience sera utile aux membres Jeedom.

akenad :)
Présentation akenad
JeedomSmart Debian Stretch
Odroid-C2 eMMC Armbian Stretch Kernel 3.x
RPi3B+ SSD Raspbian Stretch
NUC Intel i7Gen7 ProxMox VM Debian Stretch & Buster
RPi4B SSD Raspbian Buster

Mes équipements

temium62
Timide
Messages : 104
Inscription : 30 avr. 2019, 10:31

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par temium62 » 11 juin 2019, 15:57

Bonjour
Merci Akenad, ton tuto m a permis de déclarer ma gateway sur Jeedom ! ;-)
En 10 mn c était réglé !
Intel Z8530 2Go Ram, 64 Go SSD
Controleur ZWave+ Aeon Labs Gen5

Raph53
Timide
Messages : 55
Inscription : 01 févr. 2019, 17:55

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par Raph53 » 16 juin 2019, 18:32

akenad a écrit :
09 avr. 2019, 21:08
Bonjour,

Aujourd'hui je viens de recevoir et d'installer une 2ième Xiaomi Gateway avec mise à jour du micrologiciel avant d'activer le mode développeur.
Le plugin Xiaomi Home détecte automatiquement la GW.

Pour être plus précis, il s'agit toujours du modèle DGNWG02LM, et l'App Mi Home m'a proposé une première mise à jour du micrologiciel, que j'étais obligé de faire, qui l'a fait passer de v1.4.1_150.0143 à v1.4.1_167.0143.
j'ai ensuite activé le mode développeur qui a ouvert le port udp 9898,
Il m’a ensuite été proposé une 2ième mise à jour en v1.4.1_167.0158 que j'ai effectuée.

EDIT 14/04/2019 :
Compte tenu d'autres retours que j'ai pu lire sur le forum (problème de filtrage réseau et/ou d'activation du mode développeur),
pour le problème d'activation du mode développeur, j'ai décidé de faire des tests avec ma 1ère GW (aussi modèle DGNWG02LM) que j'avais installé en novembre 2018 et qui fonctionne bien depuis.
(Pour le problème de filtrage réseau voir ici : viewtopic.php?f=50&t=32599#p709551 )

L'état de ma 1ère GW (qui n’a pas changé depuis novembre 2018) est le suivant :

- GW firmware v1.4.1_159.0143
- IOS App Mi Home v4.9.2 avec mode développeur activé (une seule fois et pas désactivé depuis)
- le port udp 9898 de la GW est ouvert

Pour pouvoir me connecter avec mon PC Windows/Putty et un adaptateur USB-UART sur le port série console de la GW, je me suis inspiré du montage relayé sur le forum par @Bosquetia ici :
viewtopic.php?f=182&t=44040

Voici avec un peu plus de détails la procédure qui fonctionne :
-à l’arrière de la GW, enlever avec un petit tournevis plat les 3 petites rondelles blanches en caoutchouc qui cachent des vis (voir photo plus bas).
-pour dévisser utiliser un tournevis avec un embout spécial. Cet embout spécial peut être trouvé dans un grand magasin de bricolage français au sein d’une boîte métallique comportant une trentaine d’embouts spéciaux pour moins de 20 euros.
- je conseille d’utiliser un adaptateur USB-UART avec chip Silicon Labs série CP210x.
Celui que j’ai utilisé est sous la marque DSD TECH, modèle DS-USB-TTL01, avec chip CP2102.
- j’ai soudé 3 petits fils sur la GW (voir photo plus bas).
. le fil bleu est sur le GND de la GW et de l’adaptateur
- le fil jaune est sur le TX de la GW et le RX de l’adaptateur
- le fil vert est sur le RX de la GW et sera connecté sur le TX de l’adaptateur uniquement après la fin du boot de la GW.
- connecter l’adaptateur au PC
- si ce n’est pas déjà fais, installer le pilote pour l’adapteur USB-UART et configurer putty.
La procédure détaillée est la même que celle déjà décrite ici :
Odroid-C2 Armbian – Port série USB-UART - console système

- brancher la GW sur secteur, durant le boot l’anneau de leds clignote bleu.
-attendre la fin du boot, lancez putty et ouvrez une session sur le port COM précédemment configuré
-connecter le fil vert (RX de la GW) sur le TX de l’adaptateur, appuyer sur la touche entrée, alors le caractère dièse "#" et éventuellement les sorties console de la GW s’affichent.

Pour mettre en évidence le problème évoqué sur le forum concernant les phénomènes constatés entre l'activation du mode développeur avec l'App Mi Home et l'ouverture effective ou non du port udp 9898 de la GW, voici quelques tests :

à l'état initial le port udp 9898 de la GW est ouvert (nmap -sU -p 9898 adrip renvoie 9898/udp open)

Dans la console de la GW, lancer la commande :
psm-get network.open_pf
on obtient :
network.open_pf = 3

La valeur 3 correspond au port 9898 ouvert.

Dans l’App Mi Home, désactiver le mode développeur.

Dans la console de la GW, lancer la commande :
psm-get network.open_pf
on obtient :
network.open_pf = 0

Dans nmap le port udp 9898 de la GW est maintenant fermé.
Dans la log du plugin en debug , la GW ne remonte plus dans le plugin.

Dans l’App Mi Home, réactiver le mode développeur.
Saisir la nouvelle clé API dans le champ password du plugin.

Dans la console de la GW, lancer la commande :
psm-get network.open_pf
on obtient :
network.open_pf = 2

Dans nmap le port udp 9898 de la GW est toujours fermé.

Dans la console de la GW, lancer la commande :
psm-set network.open_pf 3

Dans nmap le port udp 9898 de la GW est toujours fermé.
Dans la console de la GW, lancer la commande :
reboot

Dans nmap le port udp 9898 de la GW est maintenant ouvert
Dans la log du plugin en debug , la GW remonte à nouveau dans le plugin

Ensuite j’ai mis à jour IOS App Mi Home de v4.9.2 à v4.15.101 et le firmware de v1.4.1_159.0143 à v1.4.1_167.0158.
(x.0143 à x.0158 concerne le Zigbee).

Conclusion : j’ai désactivé le mode développeur sur l’App Mi Home sur une GW qui fonctionnait depuis 6 mois et lorsque j’ai réactivé le mode développeur cela n’a pas réouvert le port 9898 et j’ai été obligé de le faire au niveau de la console de la GW.
Manifestement en novembre 2018 l'activation du mode développeur avait eu pour conséquence un network.open_pf = 3 alors que cette fois ci c'est un network.open_pf = 2. Il y a un phénomène extérieur, une information provenant du cloud Xiaomi peut-être, qui provoque cette différence.
Je ne pense pas qu'il y ait à ce jour un problème matériel ou différentes versions de matériel en circulation de la Xiaomi Gateway modèle DGNWG02LM, au moins depuis réception de ma 1ère GW, c'est-à dire 6 mois.
Depuis 6 mois et Jusqu'à ce jour il semblerait que lorsque une GW sort de son emballage elle est initialement en v1.4.1_150.0143,
une première mise à jour est demandé, elle peut être réalisée et il faut faire l'activation du mode développeur juste après qui a pour effet d'ouvrir le port 9898. Par contre il suffit de désactiver une fois le mode développeur et lorsqu'on réactive le mode développeur cela n'ouvre plus le port 9898.

A noter par ailleurs que Wireshark permet de voir (lorsque ce n'est pas filtré) que la GW multicast toute les 10 secondes sur 224.0.0.50 port UDP 9898 un paquet heartbeat contenant ses paramètres (id, token, ip ...). c'est ce qui doit probablement permettre au plugin Xiaomi Home de détecter automatiquement la GW.
.
.
Xiaomi-Gateway-DGNWG02LM.jpg
Xiomi-Gateway-Console.jpg
.
.
akenad :)
j'ai eu aussi un pb avec une gateway reçu il 'y une semaine même soucis, j'ai applique la procédure a lettre et effectivement ça fonctionne de nouveau
pour la valeur etait a 2 et j'ai fait la Maj du firmware après avoir essayer d’intégrer la gateway dans jeedom

Merci bcp

jeromed62
Timide
Messages : 2
Inscription : 22 juin 2019, 14:20

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par jeromed62 » 22 juin 2019, 14:25

10 millions de merci, j'ai enfin réussi à faire apparaitre ma gateway dans on jeedom

Avatar de l’utilisateur
akenad
Actif
Messages : 615
Inscription : 27 oct. 2017, 11:39

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par akenad » 26 juin 2019, 08:15

jeromed62 a écrit :
22 juin 2019, 14:25
10 millions de merci, j'ai enfin réussi à faire apparaitre ma gateway dans on jeedom

Bonjour @jeromed62,

Des remerciements dans la foulée de ton inscription au forum. Ça me fait plaisir.

akenad :)
Présentation akenad
JeedomSmart Debian Stretch
Odroid-C2 eMMC Armbian Stretch Kernel 3.x
RPi3B+ SSD Raspbian Stretch
NUC Intel i7Gen7 ProxMox VM Debian Stretch & Buster
RPi4B SSD Raspbian Buster

Mes équipements

christbd
Timide
Messages : 42
Inscription : 18 déc. 2016, 15:58

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par christbd » 26 juin 2019, 17:52

Bonjour et MERCI à toi Akenad
La manip a fonctionné parfaitement
Chris
RPI 3
Zwave, Thermostat DANFOSS, VR Fibaro

deejayenzeo
Timide
Messages : 9
Inscription : 30 janv. 2018, 23:16

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par deejayenzeo » 27 juin 2019, 16:36

Hello à tous !

Est ce que quelqu'un saurait comment rendre compatible la version europe (DGNWG05LM) avec jeedom?
J'ai essayé plusieurs mises à jours anciennes de l'apk mi home, sous plusieurs serveurs, chine, singapour, hong kong...
Rien à faire, jamais réussi à la passer en mode dévellopeur.
Est ce qu'il n'y aurait pas de possibilité de flasher le firmware de la version chinoise dessus?
J'aimerai bien me dire que je n'ai pas acheté cette jolie gateway pour rien... ^^
Merci pour vos réponse :)

Avatar de l’utilisateur
akenad
Actif
Messages : 615
Inscription : 27 oct. 2017, 11:39

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par akenad » 27 juin 2019, 18:11

deejayenzeo a écrit :
27 juin 2019, 16:36
... Est ce que quelqu'un saurait comment rendre compatible la version europe (DGNWG05LM) avec jeedom?

Bonjour @deejayenzeo,

La Xiaomi Gateway modèle DGNWG05LM avec prise Europe n’est pas compatible avec le plugin Jeedom Xiaomi Home.
deejayenzeo a écrit :
27 juin 2019, 16:36
... Est ce qu'il n'y aurait pas de possibilité de flasher le firmware de la version chinoise dessus?
Non, la DGNWG02LM est la DGNWG05LM n’ont pas le même Soc, leurs firmware ne sont pas compatible (voir photos plus haut).

akenad :)
Présentation akenad
JeedomSmart Debian Stretch
Odroid-C2 eMMC Armbian Stretch Kernel 3.x
RPi3B+ SSD Raspbian Stretch
NUC Intel i7Gen7 ProxMox VM Debian Stretch & Buster
RPi4B SSD Raspbian Buster

Mes équipements

foxdloulou
Timide
Messages : 6
Inscription : 31 mai 2019, 18:29

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par foxdloulou » 08 juil. 2019, 06:08

Bonjour

Pour info, je viens de mettre à jour ma gateway en version 1.4.1_170.0158 , sur laquelle j'avais déjà ouvert le port, et elle remonte toujours les appareils sous Jeedom, sans soucis.

Envoyé de mon ONEPLUS A5010 en utilisant Tapatalk


Avatar de l’utilisateur
akenad
Actif
Messages : 615
Inscription : 27 oct. 2017, 11:39

Re: [RTEX] HomePod Homebridge ZigBee - Xiaomi Gateway - Plugin Xiaomi Home

Message par akenad » 08 juil. 2019, 08:35

Bonjour @foxdloulou,

En effet, tant que le port n’est pas refermé, il reste ouvert.

Ce qui peut refermer le port c’est une désactivation du mode développeur, alias mode API LAN.

akenad :)
Dernière édition par akenad le 27 juil. 2019, 08:50, édité 1 fois.
Présentation akenad
JeedomSmart Debian Stretch
Odroid-C2 eMMC Armbian Stretch Kernel 3.x
RPi3B+ SSD Raspbian Stretch
NUC Intel i7Gen7 ProxMox VM Debian Stretch & Buster
RPi4B SSD Raspbian Buster

Mes équipements

Répondre

Revenir vers « [Plugin Tiers] Xiaomi Home »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités