J’ai remarqué pour ma part que le purificateur était très capricieux au niveau des requetes. Il ne répond pas tout le temps. D’où l’erreur je l’ai aussi. J’ai modifié un peu la récup des données (cmd rafraichir dans le tuto) avec un scénario c’est lui qui vient rafraichir ou non les données en fonction de l’état du json.
la commande avec help retourne les fonctionnalité.
le ping sur le 3H est ok
Ensuite j’ai lancé la commande
sudo miiocli airpurifiermiot --ip 192.168.0.XX --token 333b............3d47 status
Résultat:
ERROR:miio.miioprotocol:Got error when receiving: timed out
Error: No response from the device
Je me suis dit que j’aivais dû mal noter le token. J’ai réinitialisé et j’ai obtenu un token différent. Chaque fois que je reset le 3H j’ai un token différent.
Est ce que quelqu’un aurait une idée
pour savoir si c’est un problème de token (l’appli android ferait-elle un changement lors de la connexion initiale?)
un problème parce qu’il est aussi associé avec Alexa?
Bonjour,
Je me répond a moi-même . n’étant pas calé sur linux/python… je vais essayer d’être clair pour aider les autres.
en fait dans les nouvelles version de MIIOCLI il ya une nouvelle class qui apparaît spécialement pour les roborock de Xiaomi.
Donc, en utilisant seulement « vacuum » pour creer le fichier JSON il y avait une ligne expliquant cette nouvelle class a la fin du JSON qui , du coût devenait « non décodable »
j’ai mis du temps a trouvé car, bien que comprenant cela il était indiqué d’utiliser « RoborockVacuum »,
j’avais toujours le même probleme…
En fais il faut utiliser roborockvacuum (sans les majuscule) a la place de vacuum
Et la plus aucun probleme de JSON, j’ai de nouveau la possibilité de piloter mon S50
Hello,
Problème aussi constaté…
Il faudrait savoir si on peut le déposer dans un partie qui serait « public ». Mais je n’ai pas l’expertise… A voir si un boss a une idée!
Il faudrait pouvoir écrire le json dans une variable et relire la variable pour en extraire les infos…
Je crois qu’il faut que le json soit stocké dans le même dossier contenant le script.
J’ai un script autre que pour le purificateur et avec écriture d’un json et aucun problème depuis la mise à jour en 4.2.
Bon il faudra voir pour écrire à la bonne place. Autrement On peut faire un scénario qui lit le json et qui écrit les valeurs dans des variables. Ensuite on fait un virtuel qui récupère les variables et on fait tourner le scénario à intervalles réguliers…
La solution de @olivr2s demande moins de modif, c’est sûr!
Si jamais un bout de code (quick & dirty) pour mettre les valeurs dans des variables
Bonjour,
J’ai un problème lorsque j’utilise la méthode pour l’installation du module miiocli pour le pilotage du purificateur Xiaomi 3h disponible ici : Purificateur 3h
Tout à l’air de fonctionner correctement jusqu’à l’étape :
sudo pip3 install python-miio
Celui me renvoie l’erreur :
Can't roll back cryptography; was not uninstalled
Command "/usr/bin/python3
-u
"import setuptools, tokenize;_
file
_='/tmp/pip-install-dbsouxqp/cryptography/setup.py';f-getattr(tokenize,'open',open)(_file);
code=f.read).replace(r\n'
'In');f.close();exec(compile(code,
file
exec'))'
install
--record/tmp/pip-record-12z_c632/install-record.txt--single-version-externally-managed--compile"failedwitherrorcode1in/tmp/pip-install-dbsouxqp/cryptography/
Forcément lors de l’appel de la commande suivante me renvoie l’erreur quel n’existe pas
Merci beaucoup.
Je testes et je reviens vers vous après la mise en place… j’aurai certainement d’autres questions (ce sera mon 1er widget)
Bonne journée.
Pour ma part, j’ai réussi à recuperer le token pour utiliser avec le plugin Xiaomi avec un programme fourni par https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor
Je met le token, l’IP du purificateur sur mon réseau, et j’ai un timeout de la part du plugin…
et avec la commande miiocli j’ai un « Unable to discover the device 192.168.22.137 »
Je precise que dans l’app Xiaomi, l’IP de mon purificateur est bien l’IP 192.168.22.137
Merci pour cette piste n’ayant pas trouvé où placer mon purifier.json, je me suis donc créé un repertoire à mon prénom, puis j’ai mis dedans un .htacces qui lève l’interdiction d’accèder aux appels par le serveur lui-même. Pour moi pas de soucis de sécurité car pour l’instant c’est uniquement le purifier.json que j’y place et qu’il y a pas de clef ou autre données qui pourraient être rendue accessible.
J’ai donc ensuite modifié dans l’interface script les chemins pour que
Le .htaccess déposé dans le repertoire francis contient uniquement :
Order deny,allow
Deny from all
Allow from 127.0.0.1
Il faut penser aussi a mettre d’aplomb le proprietaire et les droits sur le repetoire et les fichiers ajoutés
Les fameux chown ww-data:www-data et chmod