Fil de discussion du [TUTO] Utiliser Valetudo RE et le contrôler via MQTT

Bonjour
Suite à une réinitialisation de mon jeedom j’ai à nouveau suivi ce tuto mais cette fois-ci avec moins de succès. Je vous ai mis ma page santé.

A l’exécution de ./tools/mqtt2img.py 192.168.0.100 rockrobo j’ai l’erreur suivante

Capture d’écran 2020-10-07 092454

Hello, est ce quelqu’un aurait le logiciel xvacuum pour android ?
Le lien sur xda-developers.com est HS

Merci d’avance

Bonjour et merci pour ce tuto et toutes les infos dans ce fil de discussion.
Je suis en train de travailler sur le virtuel de mon aspirateur grâce aux widgets chinés sur le community (merci aux contributeurs) :

Je n’arrive pas à convertir l’heure et la date pour que celle-ci soit interprétable. J’ai essayé plusieurs méthodes notamment le script de Ricardo en post #413 en essayant de l’adapter à ma V4 de jeedom sans succès.

Donc si quelqu’un aurait le temps de m’aider. Merci par avance.

XVacuum Firmware 4.0.0.apk.txt (3,5 Mo)

Enlèves le . txt

Super Merci bcp

Hello
Cela fait un moment que je suis ce fil et tenait à remercier tous les participants de leurs contributions notamment @HoM3r17 et @Ricardo pour l’énorme job accompli.
Voici mon résultat :
image
Je suis parti sur Valetudo RE en version 0.9.9 et il m’a fallu quelque peu digressé par rapport au tuto car mon Jeedom tourne sur un Docker Synology.
J’ai donc ajouté 2 autres docker :

  • eclipse-mosquitto : pour gérer mon broker mqtt
  • rand256/valetudo-mapper : pour gérer la carte

Honnêtement, le tuto est très bien fait et rend le flash et l’intégration dans Jeedom (via jmqtt) très simple et rapide.
Personnellement, la où j’ai galéré, a été la gestion des pièces et la possibilité de les accumuler pour lancer un nettoyage partiel sur plusieurs pièces, car je n’ai pas trouvé d’infos sur community.
Voici pour ceux que ca intéresseraient mon petit caillou :

  1. créer sur le virtuel autant de toggle que de pièces créées sur Valetudo
  2. créer sur l’équipement jmqtt une custom_command utilisant une variable {« command »:« segmented_cleanup »,« segment_ids »:[variable(SelectionAspi)]}
  3. créer un scenario pour piloter cette variable d’accumulation des id de pièces et d’execution de la précédente commande
  4. créer sur le virtuel un bouton de lancement qui exécute le scenario

1 « J'aime »

Merci pour ton retour, et pour ta participation, j’ai pas eu le temps de tout regarder mais ta gestion des pièces a l’air top, je vis essayer d’intégrer ça !

Merci :wink:
Je n’ai pas préciser mais c’est un S50.
Comme pour tout le monde, Valetudo retourne des erreurs quand on renomme les pièces mais il le fait quand même.
Pour info, pour retrouver les id, qui sont les seuls utilisable dans la custom_command, une fois que les pièces sont renommées, il suffit d’ouvrir l’inspecteur du navigateur (F12) en mode console

Jeedom Smart 4.0.61
Roborock S50
Valetudo RE 0.9.9

Bonjour,

Après avoir lu plusieurs fois ce post, je me suis enfin laisser tenter l’expérience.

Malgré quelques difficultés à installer un linux d’abord sur un iMac de 2007 mais sans clavier filaire . . . j’ai utilisé un portable Acer 9302 et après d’autre difficulté ,clef USB non reconnu , erreur de frappe dans le terminal … j’y suis enfin arrivé .

Ca marche supper bien. Merci à tous

J’ai réussi à créer tous les ordres et infos d’on j’avais besoin et mème plus MAIS je butte sur deux problèmes :

1 - Traduction de « timestamp » en date normale , j’ai essayer d’utiliser la réponse de « Ricardo » en 301 :

Dans outils> widget j’ai créé un widget code : cmd.info,numeric.TIME.html et j’ai Copier/Coller le code donné , il apparait bien dans la liste des widgets mais quand je l’applique à mon info cette info disparait de l’équipement sur le Dashboard.

2 - Visualisation de la carte dans Jeedom

Alors là, à force de lire le post je n’y comprend plus rien, tout ce mélange dans ma petite tête.

Faut-il utiliser : valetudo mapper ?

On sont les fichiers « config » , dans jeedom ? Dans l’aspirateur?comment ce connecter à l’aspirateur avec le terminal linux?

Si l’un d’entre vous avait un petit tuto , ca serai parfait.

Gérard

Pour la carte il faut utiliser valetudo mapper en effet

Merci …

mais comment et ou je le met ?
il faut modifier le fichier config, si j’ai bien lu, ou je le trouve ,sur mon jeedom, sur l’aspirateur ?

Gérard

Hello
Pour le valetudo mapper je ne saurais te dire, je ne connais pas la smart.
Je pense cependant qu’il est installable dessus.

Effectivement il faut le modifier pour adapter tes couleurs, ce que tu veux afficher (zone interdite, traces,…) et surtout recadrer.
Tu le trouveras dans le dossier app de ton valetudo mapper mais tout dépend de comment/ou tu l’installes.

Il faut installer valetudo mapper là où est jeedom

Perso il est dans un autre docker que mon jeedom…
Je ne sais pas comment l’installer autrement.

Moi je l’ai installé sur ma smart cela fonctionne impeccable en suivant le tutoriel

Je n’ai pas vu cette partie dans le tuto mais je serais également bien preneur des commandes pour l’installer dans le même docker que mon Jeedom.
Git clone ?

1 « J'aime »

Euh ,

je viens de relire le tuto d’installation de valetudo je ne vois rien sur la carte?

de quel tuto parle tu?

Gérard

C’est le tuto de « Ricardo » en 202?

En mettant le bon url .

Gérard

Bien vu, c’est bien ça.
Désolé, c’est pas faute d’avoir passer des heures sur le txt de @Ricardo, il m’était complètement sorti de la tete :sweat_smile:
Pour info, pour rogner correctement il vaut mieux passer le scale à 1 dans un premier temps afin de trouver plus facilement les coordonnées xy.
Puis une fois que valetudo mapper est redemarré, copier l’image dans un éditeur afin de récupérer les coordonnées xy du coin supérieur gauche pour les placer dans crop_x1 et crop_y1 et du coin inférieur droit dans crop_x2 et crop_y2.
Enfin repasser le scale à 4 qui est plutot correct en rendu.
Perso l’autocrop laissait trop de vide et/ou coupait des pièces…

Bonjour,

Bon je me suis lancer dans la soirée MAIS apparement il y a un petit problème car je n’arrive pas à visualisé la carte. Par http:// ip-de Jeedom:3030/api/map/image
je me suis connecte en root à ma smart et tapé les commande pour installer Valetudo mapper

Ensuite j’ai modifie le fichier config.json à partir du code qui est en toute à la fin de tuto
Ces ligne correspondent-elle bien à:

Ligne 7 =« identifier »: “Broker », // Le nom de mon équipement broker dans JMQTT
Ligne 8 =« topicPrefix »: “valetudo“, // Le nom « inscrit au topic » sur l’équipement de mon robot
Ligne 9 =« autoconfPrefix »: “ jeedom“, // Le nom « inscrit au topic » sur l’équipement de mon broker
Ligne 10 =« broker_url »: "mqtt://ip de mon jeedom :1883 », // le port est il obligatoire
Ligne 31 =« mapDataTopic »: « Broker/jeedom/map_data »,

Je n’est fait que ces modifications faut-il en faire d’autre

Dans le fichier valetudo-mapper.service que faut-il mettre à cette ligne :
WorkingDirectory=/opt/ votre_repertoire /valetudo-mapper

Le fichier journal

root@Jeedom:/etc/systemd/system# journalctl -u valetudo-mapper.service -f
,-- Logs begin at Mon 2020-12-21 14:20:00 UTC. --
Dec 21 17:30:38 Jeedom systemd[1]: Started valetudo-mapper.
Dec 21 17:30:39 Jeedom npm[32210]: > valetudo-mapper@0.5.0 start /opt/valetudo-mapper
Dec 21 17:30:39 Jeedom npm[32210]: > node app.js
Dec 21 17:30:41 Jeedom npm[32210]: Loading configuration file: /opt/valetudo-mapper/config.json
Dec 21 17:30:41 Jeedom npm[32210]: Connecting to MQTT Broker
Dec 21 17:30:41 Jeedom npm[32210]: Connected to MQTT Broker
Dec 21 17:31:27 Jeedom systemd[1]: Stopping valetudo-mapper...
Dec 21 17:31:27 Jeedom systemd[1]: valetudo-mapper.service: Main process exited, code=killed, status=15/TERM
Dec 21 17:31:27 Jeedom systemd[1]: valetudo-mapper.service: Succeeded.
Dec 21 17:31:27 Jeedom systemd[1]: Stopped valetudo-mapper.

mon fichier config :

{
  "spots": [],
  "areas": [],
  "ztimers": [],
  "mqtt": {
    "enabled": true,
    "identifier": "Broker",
    "topicPrefix": "valetudo",
    "autoconfPrefix": "jeedom",
    "broker_url": "mqtt://192.168.0.100:1883",
    "provideMapData": true,
    "caPath": "",
    "mapSettings": {
      "drawPath": true,
      "drawCharger": true,
      "drawRobot": true,
      "border": 2,
      "scale": 4,
      "gradientBackground": true,
      "crop_x1": 30,
      "crop_y1": 70,
      "crop_x2": 440,
      "crop_y2": 440,
      "colors": {
        "floor": "transparent",
        "obstacle_weak": "rgba(0,0,0,0.1)",
        "obstacle_strong": "hsl(120, 20%, 50%)",
        "path": "#333333"
      }
    },
    "mapDataTopic": "Broker/jeedom/map_data",
    "minMillisecondsBetweenMapUpdates": 1000,
    "publishMapImage": true,
    "publishMapData": true,
    "qos": 1
  },
  "dummycloud": {
    "spoofedIP": "203.0.113.1",
    "bindIP": "127.0.0.1"
  },
  "webInterface": {
    "localization": "fr",
    "hideMapReload": true,
    "style": ""
  },
  "httpAuth": {
    "enabled": false,
    "username": "valetudo",
    "password": "valetudo"
  },
  "telegramBot": {
    "enabled": false,
    "token": "",
    "password": "",
    "host": "",
    "proxy": "",
    "clients": [],
    "sendConsumables": true,
    "sendConsumablesEvery": false
  },
  "allowSSHKeyUpload": true,
  "map_upload_host": "http://127.0.0.1"
}

si vous pouviez m’aider .

Gérard