Air Purifier 3H

Post ton visuel que je vois les infos que je dois te donner c’est plus simple.

Bonjour,

Ci-dessous ce qui est affiché aujourd’hui:
image

Merci pour ton aide
DBX

1 « J'aime »

Je joue avec les widgets :

  • power → binairyswitch sur on et off | Etat masqué
  • fan → button
  • humidity → line
  • mode info → (widget maison) voir copie d’écran après
  • temperature → line
  • aqi → (widget maison) mais le tile ressemble
  • usure filtre → line
  • temps → line

Bonjour

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) :grin:
Bonne journée.

1 « J'aime »

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

sudo miiocli --output json airpurifiermiot --ip 192.168.0.XX --token 613ssdfsdfsdfsdfsf1158e648eb8 status >/var/www/html/purifier.json

devienne maintenant

sudo miiocli --output json airpurifiermiot --ip 192.168.0.XX --token 613ssdfsdfsdfsdfsf1158e648eb8 status >/var/www/html/francis/purifier.json

Et les appels internes qui récupére la valeur dans le json de

http://192.168.0.XX/purifier.json

devienne maintenant

http://192.168.0.39/francis/purifier.json

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

Bonjour,

Depuis hier et la mise à jour du plugin Zigbee, j’ai perdu les remontées d’info de mon air purifier.
Mon fichier JSON me remonte ces erreurs :

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/integrations/vacuum/roborock/vacuum.py", line 932, in get_device_group
    @dg.resultcallback()
AttributeError: 'DeviceGroup' object has no attribute 'resultcallback'

Suis-je le seul à avoir ce problème ?
Quelqu’un saurait me dire comment régler le problème ?

Merci d’avance

Bonjour,
J’ai exactement la même chose :

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 885, in get_device_group
@dg.resultcallback()
AttributeError: ‹ DeviceGroup › object has no attribute ‹ resultcallback ›

Donc ce n’est pas un cas isolé.
Merci pour nous aider

J’ai eu le même problème, il faut réinstaller l’ancienne version de python-miio comme ceci

pip install python-miio==0.5.8

3 « J'aime »

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 »