Anomalie Xiaomi Home STYTJ02M

Bonjour,
Je suis en possession d’un robot Mi Robot Vacuum Mop P (STYTJ02M) et non STYJ02M.
J’ai integré le plugin Xiaomi Home, le robot fonctionne au niveau de mes commandes (lavage, stop, retour au socle) mais je n’ai aucun retour d’informations (état de batterie)
Je précise, j’ai du l’integrer en Equipement Robot Aspirateur STYJ02YM (Viomi), les 2 autres équipements aspirateur robot ne fonctionnant pas.
J’ai placé mes logs en débug, aucune erreur particulière, mais je vous les joins tout de même.
Etat de santé OK
Commandes OK
Informations NOK
Mode Piece OK

Avez vous une solution à me proposer ?

[2021-10-11 01:45:06][DEBUG] : Rafraîchissement de XiaomiWifi : aspirateur robot
[2021-10-11 01:45:06][DEBUG] : Envoi : {"apikey":"xxxxxx(modifié)","type":"wifi","cmd":"refresh","model":"vacuumviomi","dest":"192.168.3.12","token":"xxxxxxx(modifié)","devtype":"139e","serial":"7d81"}

robot2

Merci d’avance !
Bonne soirée

Hello,

C’est peut-être tout simplement que l’aspirateur n’est pas compatible.
STYJ02M si je ne me trompe pas est la version asiatique et STYTJ02M, européenne.
Des similitudes mais des différences aussi… Ce qui explique un fonctionnement partiel (et c’est déjà ça).

Salut,
Oui en effet, je pense aussi à un problème de compatibilité, et c’est aussi le but de ce post.
Si des personnes ont réussi à fix le soucis pour ce robot, ou si le développeur a besoin d’une personne qui a ce robot pour les tests, je suis là :+1:

Bonjour @lunarok,
Je me permets de t’identifier pour te relancer sur le sujet. Je ne sais pas si tu l avais vu ou non.
Après avoir passé mon plugin XiaomiHome en debug, je m’aperçois que j’ai une erreur lors de la lecture du paquet et que les informations manquantes semblent dans le paquet (état du robot, statuas, batterie)
Serais-tu intéressé pour l’inclure dans Xiaomi Home, si non de me donner une ou deux infos pour l’inclure peut être ?
Je te joins les logs, je suis dispo si besoin par MP ou Discord.
Merci d’avance et bonne journée

Bonjour Julien,
je suis exactement dans le même cas que toi.
J’ai reçu mon aspirateur STYTJ02M hier et je me rends compte que les commandes marchent très bien mais les infos remontées non.
J’ai les mêmes traces que toi.
Lorsque je regarde le détail de mon modèle, je m’aperçois que mon mop 2 est V8 et non V7 comme la version pour laquelle le plugin avait été conçu…
peut-être une piste?

Sinon une autre piste est le fichier xiaowifi.py qui log la ligne params des logs juste avant la ligne d’erreur.
C’est dans ce fichier que le split du message retour de la commande refresh se fait.
Je vois que le modèle de l’appliance chez moi est « vacuumviomi » et dans le ficher ce modèle n’est pas géré.
Je suis en train d’essayer de voir si le simple fait de l’ajouter sur cette ligne :
if device in [‹ vacuum ›,…
peut débloquer la situation.

Si jamais Lunarok passe par là et peut m’orienter?
Merci par avance
Lionel

#edit : j’ai trouvé : toujours dans ce même fichier je vois qu’on associe les valeurs récupérées dans la liste « results » avec celles de la liste « status » qui contient une ligne par info.
Le souci vient du fait qu’on n’a que 14 infos (valeurs) qui descendent dans la liste « results » (donc 14 lignes) alors qu’on a au moins 15 paramètres définis dans la liste « status ».
Comme on boucle sur la liste « status » pour associer chaque valeur à son paramètre, on arrive au 15e paramètre et on veut lui associer results[j] (J=15) ce qui provoque l’erreur « index hors limite »

reste à savoir quel est la méthode la plus propre pour empêcher l’erreur…

Je me réponds à moi même et à JulienB80 :
j’ai une version modifiée de xiaowifi.py qui marche sur la remontée d’infos.

J’ai fait quick & dirty avec un try/catch IndexError mais le résultat est là.
Je joins le fichier à ce message si l’envie t’en dit de mettre à jour chez toi.
Sur mon installation DIY en Debian il est ici : /var/html/plugins/xiaomihome/resources/xiaomihomed/devices/

xiaowifi.py.txt (4,9 Ko)

Si @lunarok passe par là et s’il peut me dire si ça convient comme fix, ça serait cool de l’intégrer dans la prochaine version de son plugin!
En tout cas, j’en suis ravi :heart_eyes:
Bonne soirée!
Lionel

C’est fait, merci

Merci à toi Lunarok.
Je pense que c’est dû à une différence de firmware sur ce modèle qui fait qu’en V8 on ne puisse plus sélectionner la MAP de nettoyage (c’est bien dommage :frowning: )

Ton fix marche, merci à toi @EFCAugure

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.