Air Purifier 3H

Merci, cela m’a été tres utile

1 « J'aime »

Bonjour, effectivement également le même problème, quel est la cause ?
Le code ne fonctionne pas chez moi, il me retourne cette erreur : ERROR: No matching distribution found for python-miio==0.5.8

Bonsoir,

Je te rassure j’ai le même pb …
Aurais-tu trouvé une solution ?
Merci d’avance

Hello, la solution se trouve 3 messages en dessus…

Hello,
Trop cool ça fonctionne :slight_smile:
Un grand merci pour té réponse

1 « J'aime »

En suivant ce projet et d’autres, j’ai pu intégrer mon ventilateur P18 ( dmaker.fan.p18):

Merci à @BorisTS (j’ai suivi ses messages au fur et à mesure)
Dernier Pb : je n’arrive pas remonter la vitesse du ventilateur :

sudo miiocli fanp11 --ip 192.168.1.137 --token 4c172f5086c0c25673ab set_speed #slider#

La commande status me remonte :

{« power »: true, « fan_level »: 1, « mode »: 1, « swing_mode »: true, « swing_mode_angle »: 60, « fan_speed »: 0, « light »: null, « buzzer »: null, « child_lock »: null, « power_off_time »: false, « set_move »: null}

Ai je raté qq chose ?
Par avance Merci d’une réponse .

Nb. : je tente aussi d’utiliser miiocli pour un Humidificateur Mi Smart : deerma.humidifier.jsqm

J’ai installé le 0.5.8, cela a fonctionné un temps et maintenant ça me refait la même chose …
Compliqué cette affaire …

Je suis preneur de totues nouvelles idées voir même la solution :slight_smile:

Bonne soirée

lopstyle@jeedomvm:~$ pip install python-miio==0.5.8
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated                                                                                                                                     , use int.from_bytes instead
  from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, us                                                                                                                                     e int.from_bytes instead
  from cryptography.utils import int_from_bytes
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: python-miio==0.5.8 in ./.local/lib/python3.7/site-packages (0.5.8)
Requirement already satisfied: click<8,>=7 in ./.local/lib/python3.7/site-packages (from python-miio==0.5.8) (7.1.2)
Requirement already satisfied: attrs in /usr/local/lib/python3.7/dist-packages (from python-miio==0.5.8) (21.4.0)
Requirement already satisfied: android_backup<1,>=0 in /usr/local/lib/python3.7/dist-packages (from python-miio==0.5.8) (                                                                                                                                     0.2.0)
Requirement already satisfied: defusedxml<1,>=0 in /usr/local/lib/python3.7/dist-packages (from python-miio==0.5.8) (0.7.                                                                                                                                     1)
Requirement already satisfied: pytz in /usr/local/lib/python3.7/dist-packages (from python-miio==0.5.8) (2022.1)
Requirement already satisfied: netifaces<1,>=0 in /usr/local/lib/python3.7/dist-packages (from python-miio==0.5.8) (0.11.                                                                                                                                     0)
Requirement already satisfied: croniter<1,>=0 in ./.local/lib/python3.7/site-packages (from python-miio==0.5.8) (0.3.37)
Requirement already satisfied: zeroconf<1,>=0 in /usr/local/lib/python3.7/dist-packages (from python-miio==0.5.8) (0.38.6                                                                                                                                     )
Requirement already satisfied: construct<3.0.0,>=2.10.56 in /usr/local/lib/python3.7/dist-packages (from python-miio==0.5                                                                                                                                     .8) (2.10.68)
Collecting importlib_metadata<2,>=1
  Downloading importlib_metadata-1.7.0-py2.py3-none-any.whl (31 kB)
Requirement already satisfied: appdirs<2,>=1 in /usr/local/lib/python3.7/dist-packages (from python-miio==0.5.8) (1.4.4)
Requirement already satisfied: cryptography<4,>=3 in ./.local/lib/python3.7/site-packages (from python-miio==0.5.8) (3.4.                                                                                                                                     8)
Requirement already satisfied: PyYAML<6,>=5 in ./.local/lib/python3.7/site-packages (from python-miio==0.5.8) (5.4.1)
Requirement already satisfied: tqdm<5,>=4 in /usr/local/lib/python3.7/dist-packages (from python-miio==0.5.8) (4.64.0)
Requirement already satisfied: python-dateutil in /usr/local/lib/python3.7/dist-packages (from croniter<1,>=0->python-mii                                                                                                                                     o==0.5.8) (2.8.2)
Requirement already satisfied: natsort in ./.local/lib/python3.7/site-packages (from croniter<1,>=0->python-miio==0.5.8)                                                                                                                                      (8.1.0)
Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.7/dist-packages (from cryptography<4,>=3->python-miio                                                                                                                                     ==0.5.8) (1.15.0)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib_metadata<2,>=1->python                                                                                                                                     -miio==0.5.8) (3.8.0)
Requirement already satisfied: ifaddr>=0.1.7 in /usr/local/lib/python3.7/dist-packages (from zeroconf<1,>=0->python-miio=                                                                                                                                     =0.5.8) (0.1.7)
Requirement already satisfied: pycparser in /usr/local/lib/python3.7/dist-packages (from cffi>=1.12->cryptography<4,>=3->                                                                                                                                     python-miio==0.5.8) (2.21)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil->croniter<1,>=0->                                                                                                                                     python-miio==0.5.8) (1.16.0)
Installing collected packages: importlib_metadata
Successfully installed importlib_metadata-1.7.0
lopstyle@jeedomvm:~$ sudo miiocli airpurifiermb4 --ip 192.168.1.25 --token 8a15 status
[sudo] Mot de passe de lopstyle : 
Traceback (most recent call last):
  File "/usr/local/bin/miiocli", line 5, in <module>
    from miio.cli import create_cli
  File "/usr/local/lib/python3.7/dist-packages/miio/cli.py", line 43, in <module>
    cli.add_command(device_class.get_device_group())
  File "/usr/local/lib/python3.7/dist-packages/miio/vacuum.py", line 841, in get_device_group
    @dg.resultcallback()
AttributeError: 'DeviceGroup' object has no attribute 'resultcallback'

A chaque mise à jour du plugin Zigbee, python-miio est flingué. Je ne connait pas la raison précise, mais il faut réinstaller cette version 0.5.8 à chaque fois :frowning:

Ok, en effet ca re fonctionne …

Par contre, il m’est impossible de récupérer les données sur le .json, c’est le fameux pb de droits et malgré tous ce que j’ai pu lire je n’y arrive pas même dans mon home /home/user/purifier/purifier.json

La solution de fran6t à savoir :

Citation
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.

Me suffirait mais je pèche sur sa dernière ligne :

Citation
Il faut penser aussi a mettre d’aplomb le propriétaire et les droits sur le répertoire et les fichiers ajoutés
Les fameux chown ww-data:www-data et chmod

Si on pourrait m’expliquer rapidement cette étape ca serait top.

Encore merci de vos retours

Il est là mon json /var/www/html/plugins/script/data/fanp11.json et là pour chaque commande http://127.0.0.1/plugins/script/data/fanp11.json

Je vais retenter mais il me semble que je l’avais déjà testé de le mettre la …

Mise à jour …
Bon bah ca fonctionne plutot bien, j’ai le 3C et le 2H ce dernier a plus de « fonctions » via miiocli airpurifier que le 3C avec miiocli airpurifiermb4

Encore merci Boris

1 « J'aime »

Bonjour à tous,

Me voilà embêté (depuis peu sans savoir dire quand) pour piloter mon 3H.

Jusqu’ici tout allait bien sauf des problématique de Ping mais qui gêné en rien pour l’utilisation que j’en fait (à part mettre des messages d’erreur d’indisponibilité tout fonctionnait).

Depuis peu, c’est plus critique, mes scénarios basés sur les valeurs du 3H ne fonctionnes plus. Les message d’erreurs sont de ce type (Je rappel que tout allait bien jusqu’à là).

Erreur sur sudo miiocli --output json airpurifiermiot --ip 192.168.xxx.xxx --token d6a3b57fdb35d64f2769d7ddxxxxxxxx set_fan_level 1 2>&1 valeur retournée : 1. Détails : Traceback (most recent call last): File « /usr/local/bin/miiocli », line 5, in from miio.cli import create_cli File « /usr/local/lib/python3.7/dist-packages/miio/cli.py », line 43, in cli.add_command(device_class.get_device_group()) File « /usr/local/lib/python3.7/dist-packages/miio/integrations/vacuum/roborock/vacuum.py », line 932, in get_device_group @dg.resultcallback() AttributeError: ‹ DeviceGroup › object has no attribute 'resultcallback’

Quelqu’un aurait une idée, j’ai beaucoup cherché mais n’ai rien trouvé et je suis pas expert linux et suis pas un programmateur.

Merci de votre aide.

Ah bon tu as « beaucoup cherché » ? humm, la réponse se trouve plusieurs fois dans cette discussion pourtant…

1 « J'aime »

oui sincérement, j’ai fais plusieurs essais :

  • utilisation du backup jeedom sans effet,
  • réinstallation de python et du PIP (sans résultat)
  • installation du miio (pip install python-miio==0.5.8) n’arrange rien.
  • modification du chemin d’accès au fichier (pas certains de mes réalisation mais sans résultat)

Donc j’estime, pour mon niveau, avoir réalisé beaucoup de démarches pour demander de l’aide. Je ne maîtrise pas le sujet et suis novice en la matière donc je ne m’aventures pas à l’inconnu.

Aurais je louper la solution?

Merci

Ok, et bien autant pour moi. Je suis aussi novice et donc je ne pourrait pas t’aider plus que ce que j’ai indiqué plus haut et qui semble avoir fonctionné pour d’autres utilisateurs

Je viens de voir qu’à priori quand je lançait miio je n’étais pas en root. Beaucoup de ligne passent les unes à la suite des autres mais sans que je puisses comprendre. ça sous entendait que l’installation se réalisait.

Je viens de relancer avec un Sudo (administrateur je crois) et j’ai vu des téléchargements s’opérer avec beaucoup plus de ligne passer à l’écran. Me suis dit ok il fallait être en Admin.

Mais malheureusement, ça se termine pas bien:

Attempting uninstall: croniter
** Found existing installation: croniter 1.3.5**
** Uninstalling croniter-1.3.5:**
** Successfully uninstalled croniter-1.3.5**
** Attempting uninstall: python-miio**
** Found existing installation: python-miio 0.5.11**
** Uninstalling python-miio-0.5.11:**
** Successfully uninstalled python-miio-0.5.11**
Successfully installed PyYAML-5.4.1 click-8.0.3 croniter-1.1.0 cryptography-37.0.2 python-miio-0.5.8
WARNING: Running pip as the ‹ root › user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: 12. Virtual Environments and Packages — Python 3.10.5 documentation

Quelqu’un peu m’aider? Please? Voyez que je recherches et ne reste pas à rien faire.

Bonjour Passatgrise,
J’ai le même message d’erreur aujourd’hui avec mon Roborock.
As-tu eu une solution ?
A+

Hello,

Rien de plus que les tips précédents.

Le dev du plugin Xiaomi Home avait posté une info comme quoi ce plugin supporterait Miiocli et donc de ce que j’ai compris, une plaitore de nouveaux objets, mais plus de nouvelles depuis des mois :frowning:

Bonjour,
De mon coté j’ai résolu le problème pour mon roborock de la façon suivante :

  1. l’erreur proviendrai de la dernière version de miio : voir article suivant => https://github.com/rytilahti/python-miio/issues/1389
  2. il faut remettre les droits sur les fichiers à plat à partir de la configuration de Jeedom onglet OS/DB ?
    Rétablissement des droits des dossiers et fichiers
  3. réinstallé la version miio qui marchait bien avant (pour moi, c’était la 0.5.9 qui fonctionnait bien avec mon roborock) => sudo pip install python-miio==0.5.9.1

voila, si ca peux aider, ca fonctionne de nouveau pour moi.