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 :
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.
Ç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.
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
Ç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) :
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.
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 ?
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