Nouveau Plugin Dreame : recherche des testeurs

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 »

Bonjour,
un espoir !!,
la mise à jour a effectivement ramené le robot au centre de Jeedom !!
il est détecté, mais pas ses commandes malgré mon insistance !!
à suivre !
voici les fichiers debug :

dreame_dep.log (16,9 Ko)
dreame_packages(2).log (13,1 Ko)
dreame (3).log (2,2 Ko)

néanmoins, un copier coller de la commande miiocli issue du fichier debug « dreame »,
CMD BY genericmiot → sudo … -ip -token status, dans administration systeme :

saisissez ou collez du code ici
```ERROR:miio.click_common:Exception: Cache file /root/.cache/python-miio/viomi.vacuum.v6.json not found or it is stale
Traceback (most recent call last):
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/miio/click_common.py", line 54, in __call__
    return self.main(*args, **kwargs)
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/miio/click_common.py", line 331, in wrap
    result = func(*args, **kwargs)
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/click/decorators.py", line 92, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/miio/click_common.py", line 270, in command_callback
    return miio_command.call(miio_device, *args, **kwargs)
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/miio/click_common.py", line 218, in call
    return method(*args, **kwargs)
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/miio/click_common.py", line 184, in _wrap
    self._fetch_info()
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/miio/integrations/genericmiot/genericmiot.py", line 199, in _fetch_info
    self.initialize_model()
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/miio/integrations/genericmiot/genericmiot.py", line 65, in initialize_model
    self._miot_model = miotcloud.get_device_model(self.model)
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/miio/miot_cloud.py", line 87, in get_device_model
    spec = self._file_from_cache(file)
  File "/var/www/html/plugins/dreame/resources/venv/lib/python3.8/site-packages/miio/miot_cloud.py", line 129, in _file_from_cache
    raise FileNotFoundError("Cache file %s not found or it is stale" % file)
FileNotFoundError: Cache file /root/.cache/python-miio/viomi.vacuum.v6.json not found or it is stale

si je mets viomivacuum :

{
  "battary_life": 100,
  "box_type": 1,
  "cur_mapid": 1660055948,
  "err_state": 2105,
  "has_map": 1,
  "has_newmap": 0,
  "hw_info": "1.0.3",
  "is_charge": 0,
  "is_mop": 0,
  "is_work": 1,
  "light_state": 1,
  "map_num": 1,
  "mode": 0,
  "mop_route": 1,
  "mop_type": 0,
  "remember_map": 1,
  "repeat_state": 0,
  "run_state": 5,
  "s_area": 0,
  "s_time": 0,
  "suction_grade": 0,
  "v_state": 7,
  "water_grade": 12,
  "order_time": "0",
  "start_time": 0,
  "water_percent": 0,
  "zone_data": "0",
  "sw_info": "3.5.8_0046",
  "main_brush_hours": 193,
  "main_brush_life": 53,
  "side_brush_hours": 13,
  "side_brush_life": 7,
  "mop_hours": 22,
  "mop_life": 12,
  "hypa_hours": 13,
  "hypa_life": 7
}

cela vient, ne rien lâcher !!

merci

merci @jean-marc pour l’accès à ton jeedom.

J’ai modifié une nouvelle fois la façon dont le plugin fonctionne pour que ca puisse arranger et fonctionner chez tout le monde :slight_smile:

Vous avez dorénavant la possibilité de choisir par quelle méthode le robot doit être appelé.
Et la fréquence de rafraichissement des commandes est aussi paramétrable (les possesseurs de Dreame p2008 doivent par exemple mettre un rafraichissement minimum de 5min)

Bonjour,
Je viens de faire l’acquisition d’un Dreame L20 Ultra et celui-ci ne remonte pas dans le plugin.
J’ai mis mes identifiants de mon compte Dreame sur la page de configuration mais lors de la recherche, rien ne remonte. Est-ce parce que je n’utilise pas l’application MiHome ?

Jeedom v4.3.17
Dreame Beta v2023-09-08 01:07:05

Salut

C est une vraie vraie question ?? :sweat_smile:
Parce que sur la page de configuration ca semblait clair oui :confused:

Bonjour a tous :grinning:
Quand j’ai vu une maj de la beta et une installation de dépendances totalement refaites, quand j’ai vu que le robot était détecté et que les commandes étaient partiellement fonctionnelles, j’ai eu l’envie de remercier @JulienB80 pour son taf (et les personnes qui ont taffé de près ou de loin). Bravo a vous !

Me concernant J’ai un W10 et les commandes correspondantes a ce qui est compris par le robot sont les suivantes :

battery_level : un chiffre est remonté, mais aucune idée de ce que c'est (9). Surement un état (nettoyage, vidage eau, retour...)
charging_state : en charge (mais ne semble pas fonctionner chez moi)
device_fault : niveau de la batterie
error_device : aucune remontée
device_status_str : correspond bien, mais erreur dans les remontées : arret correspond a nettoyage, et aspiration en cours correspond a veille 
device_status : correspond a ce qui est relevé
cleaning_time : ne correspond pas a cela (64)
cleaning_area : ne correspond pas (0)
operating_mode : correspond
stop : ça stoppe rien du tout
start : correspond a retour station (commande inversée)
home : démarrer le robot (commande inversée)
playSound : rien
locate : commande en erreur

Et voici mes logs au besoin en attachement :smiling_face:
dreame.txt (92,0 Ko)

Bonne journée a vous !

Tu peux, surtout quand les derniers messages indiquent le nom de la personne qui a bossé dessus :sweat_smile:

Bonjour à tous,
robot aspi reconnu avec la détection automatique :smiley:
mais après avoir voulu synchro les commandes, et bien aucune commandes d’afficher (même après un F5)
bonne journée

Salut,

avec les logs en DEBUG, on pourra surement un peu + t’aider … :wink:

pas faux :grin:
dreame.txt (596 Octets)