[Plugin] Xiaomi Air Purifier 3H & 3C

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
Deufo
Messages : 280
Inscription : 26 févr. 2019, 16:25

Re: [Plugin] Xiaomi Air Purifier 3H & 3C

Message par Deufo »

La dernière version de dz permet de choisir les messages que l'on veut afficher, désactiver les erreurs le temps que je les filtre.
J'en retrouve 2 chez moi de temps à autres, j'en ai compté 10 aujourd'hui :
2021-06-08 16:08:10.428 Error: Purifier 3H: (Purifier 3H) UpdateStatus: DeviceError({'code': -9999, 'message': 'user ack timeout'})
2021-06-08 17:12:11.099 Error: Purifier 3H: (Purifier 3H) UpdateStatus: DeviceException('Unable to discover the device 192.168.1.139')

Je dois modifier la façon dont est utilisé la librairie, j'en profiterai pour le faire.

Autre possibilité, commenter cette ligne (dans les 950):

Code : Tout sélectionner

Domoticz.Error("UpdateStatus: " + repr(updateError))
Deufo
Messages : 280
Inscription : 26 févr. 2019, 16:25

Re: [Plugin] Xiaomi Air Purifier 3H & 3C

Message par Deufo »

J'ai une nouvelle version pour test : https://github.com/SylvainPer/DomoticzX ... /plugin.py

J'ai ajouté un thread pour la mise à jour des informations, cela pouvait créer un ralentissement des autres plugins.
J'ai passé les 2 erreurs de mon post précédent en log plutôt qu'en erreur, je laisse tourner le temps d'en avoir une.

Prochaine étape, un thread pour les commandes mais ça sera pour plus tard.

J'ai ouvert une PR sur la librairie, favorite_rpm devrait être accessible avec le 3H, j'attends leur retour.
Deufo
Messages : 280
Inscription : 26 févr. 2019, 16:25

Re: [Plugin] Xiaomi Air Purifier 3H & 3C

Message par Deufo »

Mise à jour du plugin sur le github :
- tous les appels à la librairie sont dans un thread
- ajout de 'favorite_rpm' pour le 3C en attendant la release de la librairie pour l'avoir également sur le 3H (https://github.com/rytilahti/python-miio/pull/1070)
- filtre des erreurs réseaux (-9999 et 'Unable to discover the device')
- Lint code (black)

>> FAIT
Par ailleurs, il faut que j'édite le premier post, il existe une autre méthode pour récupérer le token du périphérique, ça a l'air beaucoup plus simple mais je n'ai pas encore testé :
https://github.com/PiotrMachowski/Xiaom ... -extractor
Deufo
Messages : 280
Inscription : 26 févr. 2019, 16:25

Re: [Plugin] Xiaomi Air Purifier 3H & 3C

Message par Deufo »

Sortie de la version 1.1 pour la version 0.5.7 de python-miio :
- 'favorite_rpm' est disponible pour tous les appareils, il permet de choisir son régime favoris à 20rpm (de 300 à 2200rpm)
- correction de la fonction pour 'favorite_rpm', elle était planté
- ajout d'une demande en queue de mise à jour après une commande
- diverses messages de debug

Pour avoir la dernière version de librairie :

Code : Tout sélectionner

sudo pip3 install python-miio --upgrade
Le plugin est maintenant mature et couvre toutes les possibilités offertes par la librairie.
dyter
Messages : 19
Inscription : 22 févr. 2018, 19:57
Localisation : Lyon

Re: [Plugin] Xiaomi Air Purifier 3H & 3C

Message par dyter »

Hello,

I have error message when I send command "pip3 install -U python-miio":

" copying cffi/_cffi_errors.h -> build/lib.linux-x86_64-3.7/cffi
running build_ext
building '_cffi_backend' extension
creating build/temp.linux-x86_64-3.7
creating build/temp.linux-x86_64-3.7/c
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-ti
me -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.7m -c c/_cffi_backend.c -o build/temp.linux
-x86_64-3.7/c/_cffi_backend.o
unable to execute 'x86_64-linux-gnu-gcc': No such file or directory
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-bjlonv2t/cffi/setup.py';f=getattr(tokenize, 'o
pen', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-rec
ord-pmsj7lr4/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-_iaaxepa --compile" failed with error co
de 1 in /tmp/pip-install-bjlonv2t/cffi/

----------------------------------------
Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-_iaaxepa --no-warn-script-location --n
o-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.12; platform_python_implementation
!= 'PyPy'" setuptools-rust>=0.11.4" failed with error code 1 in None"

(I run with domoticz docker on synology host)
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Modération

Message par Keros »

Dyter, nous sommes sur le forum francophone, si tu pouvais écrire tes messages en français, ce sera plus facile pour les autres membres.
Ce serait sympa si tu pouvais éditer ton message : clique sur le petit bouton avec un crayon en haut à droite. Merci
dyter
Messages : 19
Inscription : 22 févr. 2018, 19:57
Localisation : Lyon

Re: [Plugin] Xiaomi Air Purifier 3H & 3C

Message par dyter »

Problème résolu avec la comande:

pip install --upgrade --force-reinstall pip virtualenv
Deufo
Messages : 280
Inscription : 26 févr. 2019, 16:25

Re: [Plugin] Xiaomi Air Purifier 3H & 3C

Message par Deufo »

Merci pour le retour, je n'avais pas encore eu le temps de regarder.
Tntteam
Messages : 5
Inscription : 25 août 2021, 08:34

Re: [Plugin] Xiaomi Air Purifier 3H & 3C

Message par Tntteam »

Bonjour,

Déjà, merci pour le tuto !
J'ai suivi toutes les étapes jusqu'à me casser les dents avec un joli

Code : Tout sélectionner

AttributeError: module 'miio' has no attribute 'airpurifier_miot'
J'ai cherché un moment, étant nul en python, mais j'ai quand même fini par comprendre qu'il y a eu un changement dans python-miio qui a pété les anciens codes :
https://github.com/rytilahti/python-mii ... ANGELOG.md
0.5.12
Breaking changes:
[...]
Move airpurifier impls to miio.integrations.airpurifier package #1364 (@rytilahti)
Bon j'ai laissé tomber d'essayer d'upgrader le code du plugin par contre j'ai résolu le pb en installant une ancienne version de python-miio !

Code : Tout sélectionner

pip install python-miio==0.5.8
Si jamais ça peut aider une âme en peine comme moi qui a galéré un moment là-dessus :D
Deufo
Messages : 280
Inscription : 26 févr. 2019, 16:25

Re: [Plugin] Xiaomi Air Purifier 3H & 3C

Message par Deufo »

Merci pour le retour, je regarderai ça à l'occasion.
Répondre