Xiaomi home Roborock commande info indisponible

Tags: #<Tag:0x00007f38500c4560>

Bonjour,

J’ai un Jeedom en VM KVM (sur Proxmox) en version 4.0.61.
J’ai installé le plugin Xiaomi home pour y connecter mon Roborock S50.

Le plugin et dépendance sont OK, j’ai commencé à configuré mon Roborock en renseignant l’IP et le token (récupéré avec Mitoolkit).
J’ai sauvegardé mais la variable Gateway ne se renseigné jamais (vide) du coup dans les requêtes je ne semblait pas aboutir.

Malgré plusieurs tentative, sauvegarde, « Récupérer les informations », réinstallation à plusieurs reprise impossible de faire enregistrer la valeur Gateway.

J’ai finalement été mettre cette valeur à la main dans le base de donnée mysql dans la table eqLogic. Ça m’embête d’avoir forcé ça comme ça mais je ne trouvais pas d’autre solution.

À partir de ce moment là j’ai été en mesure de lancer des actions sur l’aspirateur : démarrer, arrêter, home. J’ai donc l’impression que le token est ok. En revanche, impossible d’avoir un retour sur les commandes info : batterie, surface, durée aspiration, status, etc…

Lors d’un refresh, les seuls log que je constate sont :

[2020-09-07 22:14:28][DEBUG] : execute : action wifi refresh
[2020-09-07 22:14:28][DEBUG] : Format Invalide

Sinon toutes les 5 minutes j’ai ces logs :

[2020-09-07 22:15:02][DEBUG] : Rafraîchissement de XiaomiWifi : Conchito
[2020-09-07 22:15:02][DEBUG] : Format Invalide

Je débute en Jeedom donc je ne sais plus trop où chercher.

Avez-vous une idée ?

Merci de votre aide

Bonjour,

Avec un peu de recherche un sujet existe déjà sans résolution à ce jour.

Bonjour,

Merci pour la réponse mais le « problème » évoqué dans le sujet lié n’a pas de rapport.
L’utilisateur constate qu’il n’a pas de remontées immédiates mais uniquement de manière espacées, logique s’ils s’agit d’un cron 5 * * * *
En revanche, de mon côté, je n’ai jamais eu aucune remonté d’info, après plusieurs jours, même après des refresh manuels.

Le sujet lié à une résolution, l’utilisateur à compris qu’il s’agissait d’une remonté périodique toutes les 5 minutes.

Merci

Déjà le fait que tu ai été obliger de mettre les valeur à la main dans la base de donnée mysql dans la table eqLogic c’est pas normal

Ça je suis bien d’accord. Avant de faire ça, j’ai essayé en réinstallant à plusieurs reprises en suivant la documentation, rien à faire. C’était donc l’ultime recours, c’est la seule solution que j’ai trouvé pour avoir une situation fonctionnelle, tout du moins sur les commandes actions.

Je vais essayer de réinstaller le plugin à nouveau quand j’aurais un peu de temps de libre et si personne n’a rencontré ce problème avec une solution.

Bonjour,

J’ai donc désinstallé et installé de 0 le plugin Xiaomi Home.
Je l’ai activé, vérifié que tous les états était OK (également tout au vert dans la partie santé de Jeedom)
Je suis allé dans le plugin Xiaomi Home, j’ai crée un équipement, renseigné token et IP (+actif et visible)
J’ai sélectionné « Robot Aspirateur V2 »
Sauvegardé : Aucune valeur dans Gateway
Capture d’écran_2020-09-10_00-26-07

Ça se vérifie dans la partie avancée, configuration :

 ... short_id":"","gateway":"","updatetime ...

J’ai essayé de faire un « Récupérer les infos » ça recherche sans fin et sans évolution.
Constat dans les logs :

[2020-09-09 23:22:06][INFO] : Début d'activation du plugin
[2020-09-09 23:22:07][INFO] : Info sur le démon : {"launchable_message":"","launchable":"nok","state":"nok","log":"nok","auto":0}
[2020-09-09 23:22:07][DEBUG] : Lancement de : /var/www/html/core/class/../../core/php/jeePlugin.php  plugin_id=xiaomihome function=install callInstallFunction=1
[2020-09-09 23:30:07][ERROR] : Exception on socket : local variable 'd' referenced before assignment
[2020-09-09 23:32:15][DEBUG] : Format Invalide
[2020-09-10 00:20:01][DEBUG] : Rafraîchissement de XiaomiWifi : Conchito
[2020-09-10 00:20:06][ERROR] : Exception on socket : local variable 'd' referenced before assignment
[2020-09-10 00:23:58][DEBUG] : Format Invalide

À présent je n’ai donc ni retour de commande info, ni de commande action fonctionnelle

Si j’essaie de lancer une action (trouver l’aspirateur) :

[2020-09-10 00:33:01][DEBUG] : execute : action wifi find

Sans message d’erreur.
Si je fais une capture de paquet au moment de lancer cette action, je ne vois que de l’ICMP et de l’ARP en échange avec le Roborock, aucune trame TCP.

Pouvez-vous m’aider ? Je suis bloqué.
Merci

Bonjour,

Personne n’a d’idée à ce sujet ?
Sinon connaissez-vous un moyen de purger entièrement l’installation d’un plugin (avec suppression de l’ensemble de la configuration qui peut être présente) avant de pouvoir le réinstaller compétemment de 0 sans résidu ?

Merci pour votre aide

J’ai actuellement davantage d’information dans les logs du plugin Xiaomi Home.
Sans pour autant avoir fait de modification ils ont évolués et sont plus verbeux :

[2020-09-12 10:00:07][ERROR] : Exception on socket : local variable 'd' referenced before assignment
[2020-09-12 10:05:01][DEBUG] : Rafraîchissement de XiaomiWifi : Chonchito
[2020-09-12 10:05:01][DEBUG] : Client connected to [127.0.0.1:38548]
[2020-09-12 10:05:01][DEBUG] : Message read from socket: {"apikey":"J6FRvV2C9SaPlGCrXZReXd0NkK6ZfPgL","type":"wifi","cmd":"refresh","model":"vacuum2","dest":"","token":"mon_token_a_32_chiffres","devtype":"","serial":""}
[2020-09-12 10:05:01][DEBUG] : Client disconnected from [127.0.0.1:38548]
[2020-09-12 10:05:01][DEBUG] : Message received in socket JEEDOM_SOCKET_MESSAGE
[2020-09-12 10:05:01][DEBUG] : Received command from jeedom : refresh
[2020-09-12 10:05:01][DEBUG] : Refreshing : vacuum2
[2020-09-12 10:05:06][DEBUG] : Timeout

On voit ici que le champ "dest":"" reste vide, ce qui coïncide probablement avec l’absence de l’info Gateway.
D’où le timeout

Si vous avez des idées, merci

Pour info complémentaire voici les infos json qui semble être envoyé au moment de la sauvegarde de l’équipement :

{"state":"ok","result":{"id":"17","name":"Chonchito","logicalId":"192.168.50.85","generic_type":null,"object_id":"4","eqType_name":"xiaomihome","eqReal_id":null,"isVisible":"1","isEnable":"1","configuration":{"createtime":"2020-09-11 00:54:30","type":"wifi","ipwifi":"192.168.50.85","password":"Mon_Token_à_32_chiffres","applyDevice2":"vacuum2","applyDevice":"vacuum2","model":"vacuum2","sid":"","short_id":"","gateway":"","updatetime":"2020-09-12 10:23:20","battery_type":"Batterie"},"timeout":null,"category":{"heating":"0","security":"0","energy":"0","light":"0","automatism":"1","multimedia":"0","default":"0"},"display":{"height":"110px","width":"230px"},"order":"9999","comment":null,"tags":null,"status":{"lastCommunication":"2020-09-12 10:45:02","timeout":0,"warning":0,"danger":0}}}

Si ça peut aider à débuger