Xiaomi Smart Mi Air Purifier Pro - Jeedom : Equipement non trouvé. Veuillez vérifier l'IP et relancer

Bonjour,

J’ai récément acheté le Xiaomi Smart Mi Air Purifier Pro j’ai suivi la procédure d’intégration en cliquant sur le bouton " récupérer les infos" mais je recontre le message d’erreur suivant : Equipement non trouvé. Veuillez vérifier l’IP et relancer.

01.JPG

Il est situé sur un réseau différent. Sur mon firewall, j’ai ouvert les flux. En effet ,je vois Jeedom communiquer vers lui sur le port 54321.

Je constate également qu’il communique sur ce meme port vers le cloud AWS(un tenant xiaomi ?)

Depuis la machine hebergeant Jeedom, j’arrive à pinger l’IP du purificateur.

Sur le panel, Jeedom m’indique que le purificateur est « en ligne » :
Dans la partie « santé » , le purificateur est bien présent :

Pour info, j’ai déja réussi à intégrer l’aspirateur roborock qui est également sur le réseau ou est le purificateur d’air.

Voici des logs :

[2019-09-12 20:16:54][DEBUG] : local variable 'd' referenced before assignment
[2019-09-12 20:17:52][DEBUG] : Client connected to [127.0.0.1:54256]
[2019-09-12 20:17:52][DEBUG] : Message read from socket: {"apikey":"j9g1utNjL7UGdf3Kbs1Gu4gK7rpfOmLL","type":"wifi","cmd":"discover","dest":"192.168.21.140","token":"4e0cc13fc122a40d13317d78d7336b18","model":"purifierpro"}
[2019-09-12 20:17:52][DEBUG] : Client disconnected from [127.0.0.1:54256]
[2019-09-12 20:17:52][DEBUG] : Message received in socket JEEDOM_SOCKET_MESSAGE
[2019-09-12 20:17:52][DEBUG] : Received command from jeedom : discover
[2019-09-12 20:17:52][DEBUG] : Discovering : purifierpro
[2019-09-12 20:17:53][DEBUG] : Timeout
[2019-09-12 20:17:53][DEBUG] : Did not find the device try again
[2019-09-12 20:17:53][DEBUG] : Did not find the device try again
[2019-09-12 20:17:53][DEBUG] : Send to jeedom :  {'devices': {'wifi': {'ip': u'192.168.21.140', 'notfound': 1}}}
[2019-09-12 20:17:53][DEBUG] : Starting new HTTP connection (1): 127.0.0.1:80
[2019-09-12 20:17:53][DEBUG] : Send to jeedom :  {'devices': {'wifi': {'ip': u'192.168.21.140', 'notfound': 1}}}
[2019-09-12 20:17:53][DEBUG] : http://127.0.0.1:80 "POST /plugins/xiaomihome/core/php/jeeXiaomiHome.php?apikey=j9g1utNjL7UGdf3Kbs1Gu4gK7rpfOmLL HTTP/1.1" 200 0
[2019-09-12 20:17:53][DEBUG] : Starting new HTTP connection (1): 127.0.0.1:80
[2019-09-12 20:17:53][DEBUG] : http://127.0.0.1:80 "POST /plugins/xiaomihome/core/php/jeeXiaomiHome.php?apikey=j9g1utNjL7UGdf3Kbs1Gu4gK7rpfOmLL HTTP/1.1" 200 0
[2019-09-12 20:17:54][DEBUG] : Timeout
[2019-09-12 20:17:54][DEBUG] : Did not find the device try again
[2019-09-12 20:17:54][DEBUG] : Send to jeedom :  {'devices': {'wifi': {'ip': u'192.168.21.140', 'notfound': 1}}}
[2019-09-12 20:17:54][DEBUG] : Did not find the device try again
[2019-09-12 20:17:54][DEBUG] : Starting new HTTP connection (1): 127.0.0.1:80
[2019-09-12 20:17:54][DEBUG] : Send to jeedom :  {'devices': {'wifi': {'ip': u'192.168.21.140', 'notfound': 1}}}
[2019-09-12 20:17:54][DEBUG] : Starting new HTTP connection (1): 127.0.0.1:80
[2019-09-12 20:17:54][DEBUG] : http://127.0.0.1:80 "POST /plugins/xiaomihome/core/php/jeeXiaomiHome.php?apikey=j9g1utNjL7UGdf3Kbs1Gu4gK7rpfOmLL HTTP/1.1" 200 0
[2019-09-12 20:17:54][DEBUG] : http://127.0.0.1:80 "POST /plugins/xiaomihome/core/php/jeeXiaomiHome.php?apikey=j9g1utNjL7UGdf3Kbs1Gu4gK7rpfOmLL HTTP/1.1" 200 0
[2019-09-12 20:17:55][DEBUG] : Timeout
[2019-09-12 20:17:55][DEBUG] : Did not find the device try again
[2019-09-12 20:17:55][DEBUG] : Did not find the device try again
[2019-09-12 20:17:55][DEBUG] : Send to jeedom :  {'devices': {'wifi': {'ip': u'192.168.21.140', 'notfound': 1}}}
[2019-09-12 20:17:55][DEBUG] : Starting new HTTP connection (1): 127.0.0.1:80
[2019-09-12 20:17:55][DEBUG] : http://127.0.0.1:80 "POST /plugins/xiaomihome/core/php/jeeXiaomiHome.php?apikey=j9g1utNjL7UGdf3Kbs1Gu4gK7rpfOmLL HTTP/1.1" 200 0
[2019-09-12 20:17:55][DEBUG] : Send to jeedom :  {'devices': {'wifi': {'ip': u'192.168.21.140', 'notfound': 1}}}
[2019-09-12 20:17:55][DEBUG] : Starting new HTTP connection (1): 127.0.0.1:80
[2019-09-12 20:17:55][DEBUG] : http://127.0.0.1:80 "POST /plugins/xiaomihome/core/php/jeeXiaomiHome.php?apikey=j9g1utNjL7UGdf3Kbs1Gu4gK7rpfOmLL HTTP/1.1" 200 0
[2019-09-12 20:18:13][DEBUG] : execute : action wifi refresh
[2019-09-12 20:18:13][DEBUG] : Client connected to [127.0.0.1:54390]
[2019-09-12 20:18:13][DEBUG] : Message read from socket: {"apikey":"j9g1utNjL7UGdf3Kbs1Gu4gK7rpfOmLL","type":"wifi","cmd":"refresh","model":"purifierpro","dest":"","token":"4e0cc13fc122a40d13317d78d7336b18","devtype":"","serial":""}
[2019-09-12 20:18:13][DEBUG] : Client disconnected from [127.0.0.1:54390]
[2019-09-12 20:18:13][DEBUG] : Message received in socket JEEDOM_SOCKET_MESSAGE
[2019-09-12 20:18:13][DEBUG] : Received command from jeedom : refresh
[2019-09-12 20:18:13][DEBUG] : Refreshing : purifierpro
[2019-09-12 20:18:14][DEBUG] : Timeout
[2019-09-12 20:18:15][DEBUG] : Timeout
[2019-09-12 20:18:16][DEBUG] : Timeout
[2019-09-12 20:18:16][DEBUG] : local variable 'd' referenced before assignment

Malgré tout j’ai réussi à l’intégrer dans Jeedom en le placant dans le réseau 1. Cependant, je ne souhaite pas le laisser dans celui-ci.
Un ID à meme était créé.

Tout heureux, j’ai ré-intégré le purificateur d’air dans mon réseau 2… récupéré le token… et la plus rien.

En analysant les logs… le plugin interroge ma gateway fantome avec le token du purificateur !

[2019-09-21 15:45:02][DEBUG] : Client connected to [127.0.0.1:54522]
[2019-09-21 15:45:02][DEBUG] : Message read from socket: {"apikey":"j9g1utNjL7UGdf3Kbs1Gu4gK7rpfOmLL","type":"wifi","cmd":"refresh","model":"purifier2","dest":"192.168.1.37","token":"6ff1203578a703648474eaaca1bc2e4c","devtype":"07fa","serial":"0a21"}
[2019-09-21 15:45:02][DEBUG] : Client disconnected from [127.0.0.1:54522]
[2019-09-21 15:45:02][DEBUG] : Rafraîchissement de XiaomiWifi : Purificateur-1
[2019-09-21 15:45:02][DEBUG] : Client connected to [127.0.0.1:54524]
[2019-09-21 15:45:02][DEBUG] : Message read from socket: {"apikey":"j9g1utNjL7UGdf3Kbs1Gu4gK7rpfOmLL","type":"wifi","cmd":"refresh","model":"purifier2","dest":"192.168.1.37","token":"6ff1203578a703648474eaaca1bc2e4c","devtype":"07fa","serial":"0a21"}
[2019-09-21 15:45:02][DEBUG] : Client disconnected from [127.0.0.1:54524]
[2019-09-21 15:45:03][DEBUG] : Timeout
[2019-09-21 15:45:04][DEBUG] : Timeout
[2019-09-21 15:45:05][DEBUG] : Timeout
[2019-09-21 15:45:05][DEBUG] : local variable 'd' referenced before assignment
[2019-09-21 15:45:05][DEBUG] : Message received in socket JEEDOM_SOCKET_MESSAGE}

Dans mes équipements xiaomi, tout passe par le plugins bluetooth ou par le plugin deconz.
Le seul équipement présent dans le plugin Xiaomi Home que j’utilise est le roborock s50 (qui fonctionne en wifi).

J’ai du mal à comprendre pourquoi il n’arrive pas à trouver l’IP alors que depuis la machine hote de JEEDOM, je la ping correctement et que le flux est autorisé et visible(Jeedom envoi des requetes) dans les logs du firewall… Aucun flux n’est bloqué.

Si vous avez des idées de l’origine de ce problème, je suis preneur.
Aujourdhui mes questions sont :

  • Pourquoi le plugin m’indique ce message d’erreur ?
  • Pourquoi le purificateur répond à AWS et non pas à mon Jeedom sur le port 54321 ?

Merci par avance pour votre aide.
gaudouy :slight_smile:

brodcast or not? that’s it the question.

The devices supporting miIO protocol answer to a broadcasted handshake packet, which also sometime contain the required token

J’ai le même problème avec les prises Xiaomi WIFI « EU ».
Je pense qu’elles ne sont simplement pas encore intégrées au plugin, ce qui est peut être le cas de ton appareil.

For you , what is the solution ?
I use Pfsense like firewal.

Dans mon cas, j’ai réussi à l’intégrer en le placant dans le réseau « public » correspondant au réseau de ma box internet.

What are the settings to set in Pfsense to allow broadcast?