Nouveau Plugin Dreame : recherche des testeurs

Bonjour,
moi je possède un viomi v2pro,
l’équipement est créé,
mais absence de remontée des commandes !!

le mode DEBUG indique une erreur :

[2023-08-29 19:15:04]DEBUG : CMD BY genericmiot => sudo  miiocli -o json_pretty genericmiot --ip 192.168.31.15 --token "xxxx" call status  >&1 2>/var/www/html/plugins/dreame/core/class/../../data/exec/error_1237.txt
[2023-08-29 19:15:06]DEBUG : CMD result :null
[2023-08-29 19:15:06]WARNING : Error: Fields must not use names with leading underscores; e.g., use 'raw_data' instead of '_raw_data'.

voici le contenu du fichier « error_1237.txt »

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.8/site-packages/miio/__init__.py", line 23, in <module>
    from miio.cloud import CloudDeviceInfo, CloudException, CloudInterface
  File "/usr/local/lib/python3.8/site-packages/miio/cloud.py", line 32, in <module>
    class CloudDeviceInfo(BaseModel):
  File "/usr/local/lib/python3.8/site-packages/pydantic/_internal/_model_construction.py", line 98, in __new__
    private_attributes = inspect_namespace(
  File "/usr/local/lib/python3.8/site-packages/pydantic/_internal/_model_construction.py", line 327, in inspect_namespace
    raise NameError(
NameError: Fields must not use names with leading underscores; e.g., use 'raw_data' instead of '_raw_data'.

pour moi, un peu un étrange langage !!
merci

nouvelle version dispo à l’instant
à retester @jean-marc @phn77470 @clmuller

Ok je regarde ds la journée

Problème résolu, un grand MERCI !

pas mieux !!

ajout robot => null matériel ajouté

ci joint les fichiers log !!

dreame (2).log (9,5 Ko)
dreame_packages(1).log (12,2 Ko)

réponse a
sudo miiocli -o json_pretty viomivacuum --ip 192.168.31.15 --token …

Traceback (most recent call last):
  File "/usr/local/bin/miiocli", line 5, in 
    from miio.cli import create_cli
  File "/usr/local/lib/python3.8/site-packages/miio/__init__.py", line 23, in 
    from miio.cloud import CloudDeviceInfo, CloudException, CloudInterface
  File "/usr/local/lib/python3.8/site-packages/miio/cloud.py", line 32, in 
    class CloudDeviceInfo(BaseModel):
  File "/usr/local/lib/python3.8/site-packages/pydantic/_internal/_model_construction.py", line 98, in __new__
    private_attributes = inspect_namespace(
  File "/usr/local/lib/python3.8/site-packages/pydantic/_internal/_model_construction.py", line 327, in inspect_namespace
    raise NameError(
NameError: Fields must not use names with leading underscores; e.g., use 'raw_data' instead of '_raw_data'.

bonjour,
je me pose une question, suite au non fonctionnement du plugin gkeep.
en lisant divers sujet, nécessite d’avoir python v3.8 mini,
ce qui semble aussi nécessaire dans dreame.
dans vérification des système, il est précisé python3.7.3-1.
y aurait il un éventuel loup ??
amicalement

est-ce que ce plugin install python 3.8?
si oui comment? je peux voir le script? (ou le repo github)

ma question est en lien avec un problème que j’ai ici sur un autre plugin:

je n’ai pas du tout regardé ce qui est fait sur les dépendances.
Il y a surement un gros boulot à faire, puisque j’avais mis plus de 28min à les installer …
donc pas certains que tout soit correctement fait/installé …!

le repo est là :
dreame/resources at dev · Julien80/dreame (github.com)

du coup, il semble que « oui » pour 3.8

python3.8 est installé en atlisntall donc soit, si on fait gaffe ca peut aller

mais après les package sont installé sur le système global avec python3.8 y compris pip! => ca va casser tous les plugins qui n’ont pas de venv, donc tout ceux qui se repose sur le système de package du core… :sob:

faut absolument passer sur un venv dans ce cas, et pas aller écraser le pip de python3.7;
ca va faire bcp de dégât

bon, au moins je sais d’où vient le problème

Hello Mips,

L’installation de Dreame sur mon Jeedom de dev n’a pas cassé Blitzortung chez moi. Tu vois pourquoi du coup ?

soit pcq il était installé avant et qu’il n’y a pas de librairies en commun, soit pcq tu utilises un venv pour ton plugin

Je n’utilises pas de venv, j’avais bien lu ce que tu avais dis à ce propos. J’ai installé Dreame après Blitzortung (système de dépendant géré par la nouvelle méthode avec packages.json) donc du coup il n’utilise pas les mêmes librairies.

Par contre tu vas avoir le problème avec tout nouveau plugin qui installera les dépendances python via le system package.json ou lors de réinstallation des dépendances

Au diable les dépendances ! :stuck_out_tongue_closed_eyes:

Ta solution sera là (si tu es bien dans le même cas):

1 « J'aime »

Coucou a toutes et a tous, en lisant le forum, je me sens moins seul :grin:

J’ai exactement le meme probleme, plus rien qui fonctionne sur ce plugin alors que tout fonctionnait sans probleme avant. J’ai lu qu’il fallait supprimer le robot et le refaire détecter avec le plugin mais probleme, rien n’est trouvé

[2023-09-04 19:43:21]DEBUG : ============================ DISCOVER ============================
[2023-09-04 19:43:22]DEBUG : ["Traceback (most recent call last):","  File \"\/usr\/local\/bin\/micloud\", line 5, in ","    from micloud.cli import cli","  File \"\/usr\/local\/lib\/python3.8\/site-packages\/micloud\/__init__.py\", line 1, in ","    from .micloud import MiCloud","  File \"\/usr\/local\/lib\/python3.8\/site-packages\/micloud\/micloud.py\", line 16, in ","    from micloud import miutils","  File \"\/usr\/local\/lib\/python3.8\/site-packages\/micloud\/miutils.py\", line 15, in ","    from Crypto.Cipher import ARC4","ImportError: cannot import name 'ARC4' from 'Crypto.Cipher' (unknown location)"]

J’ai réinstallé python3-pip aussi, sans succès (enfin si, il est bien installé mais ça change rien).
Au besoin, j’ai remarqué que miiocli provoquait une erreur lors de la lecture de la version.

sudo micloud --version
Traceback (most recent call last):
  File "/usr/local/bin/micloud", line 5, in <module>
    from micloud.cli import cli
  File "/usr/local/lib/python3.8/site-packages/micloud/__init__.py", line 1, in <module>
    from .micloud import MiCloud
  File "/usr/local/lib/python3.8/site-packages/micloud/micloud.py", line 16, in <module>
    from micloud import miutils
  File "/usr/local/lib/python3.8/site-packages/micloud/miutils.py", line 15, in <module>
    from Crypto.Cipher import ARC4
ImportError: cannot import name 'ARC4' from 'Crypto.Cipher' (unknown location)

pycrypto-2.6.1 est bien installé (réinstallé pour tester, toujours KO). La version de Python est la 3.7.3, la version de pip est la 23.2.1. Wheel est dans sa version 0.41.2. J’avoue que je sèche…

J’ai aussi testé la commande suivante qu’avait donné Julien : sudo python3.8 -m pip install pydantic==1.10.6, mais cette fois ci, meme avec une version spécifique, toujours le meme probleme
PS : J’ai réalisé un snapshot de ma VM, je peux donc la péter sans probleme

Hello,
C’est moi qui ai mis en place ces installations, et je suis le premier a reconnaître que c’est loin d’être optimisé.
J’ai essayé 50 combinaisons différentes pour réussir une installation complète de python-miio et micloud, qui sont les 2 dépendances principales du plugin.
Le soucis c’est que l’installation marche ou boîte suivant les cas et les configurations de chaque personne.
Je n’arrive pas a contourner ce problème et je suis ouvert à toute proposition pour améliorer le point noir et catastrophique de ce plugin.
Loin de moi de vouloir dégrader vos expériences avec Jeedom et les futurs problèmes d’installation et je m’en excuse.

1 « J'aime »

Pour le soucis précédent voici la solution.

FYI : J’ai initié des modifs pour utiliser un venv, rollback partiel sur les mauvaises install, et faire un peu de ménage dans ce qui est fait.

Hello tous,

nouvelle version dispo, incluant le venv et faisant un rollback sur la précédente mauvaise installation.
En théorie lors de la mise à jour du plugin, l’installation des dépendances sera automatiquement faite, si ce n’est pas le cas, pensez à les lancer pour que le plugin fonctionne de nouveau :slight_smile:

1 « J'aime »