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

Bonjour

Comment on peut passer l’url de l’image de la carte dans telegram ?

Je te file mon scenario de suite

1 « J'aime »

Est-ce qu’il y en a ici qui ont le Mi Robot V1 ? de mémoire il y avait au moins @Digaboy et @Theking31, vous avez des retours sur Valetudo ?

J’ai commandé un V1 a prix correct pour l’anniversaire de mes parents (a peine plus cher il y avait le STYJ02YM mais pour eux je préfère une machine fiable, et le S50 est devenu hors de prix, impossible même en chine de le trouver sous les 350€ - 400€, et en France on est entre 400 et 500€, donc le V1 m’a paru un bon choix)

Puisque que je vais leur programmer pour qu’ils n’aient jamais a toucher a l’application, est-ce qu’il y a un intérêt pour vous a passer sur Valetudo ? Je le ferait peut être au moins pour le coté déconnecté. Est-ce que les Zones, et les murs virtuels fonctionnent si je veux fractionner les passages et éviter des endroits dangereux ?

Merci pour les retours :wink:

Pas de rotation de la carte constatée, en revanche oublis la gestions des zones et des mures natif à Valetudo…
Pour les zones je gère ça avec ce tuto et vu que la carte ne tourne pas (pour le moment :pray:) le fonctionnement est idéal !

J’ai défini un emplacement « aller à ». Je le vois bien sur la carte. J’ai utilisé la commande

Poubelle | valetudo/rockrobo/custom_command | {« command »:« go_to »,« spot_id »:« Poubelle »}

Quand je clique sur la commande cela ne fait rien. Je suis allé sur l’interface de l’aspirateur : sur la home et je fais « Aller à » et je sélectionne « Poubelle » et cela ne fait rien. Cela m’affiche la page de la carte et pour que cela fonctionne je dois cliquer sur le symbole cible. Quel est l’équivalent dans l’interface JMQTT ?

Bizarre, je n’avais pas encore créé de commandes mais je viens d’en faire une et ça fonctionne :
Capture1

Par contre dans mes réglages valetudo > Web Interface j’ai réglé comme ça pour qu’il n’affiche pas la carte peut être que ça joue ?
Capture2

EDIT après vérification je vois que tu utilises des « au lieu des guillemets ", aussi je ne sais pas si c’est pareil dans la commande mais il ne faut pas d’espace entre les guillemets et le texte, j’avais mis le détail a la fin du tuto :wink:

C’est l’affichage du forum…

Je pense en effet cela vient sûrement du paramétrage de l’interface web

EDIT : et je n’avais pas mis les accolades …

J’ai les deux S50 et V1, concernant le V1 pas de soucis particulier, plus de rotation de carte, et les zones sont bien gérées par contre je n’ai pas mis en place de murs virtuels car pas le besoin pour le moment.

@sebfar as-tu réussi à te faire envoyer la carte sur telegram ?

@Ricardo oui parfaitement :slight_smile: merci

J’ai essayé de tout suivre, mais comme sebfar au départ j’ai un « Not Found » a l’adresse de l’image …

Ma config coté serveur (lignes 2 à 37) et coté robot (lignes 42 a 110):
config.json.txt (2,5 Ko)

Le service semble OK sur le serveur :

hom3r17@Jeedom:~$ systemctl status valetudo-mapper.service
● valetudo-mapper.service - valetudo-mapper
   Loaded: loaded (/etc/systemd/system/valetudo-mapper.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2020-05-04 22:55:09 CEST; 32min ago
 Main PID: 502 (npm)
    Tasks: 19 (limit: 4168)
   Memory: 81.8M
   CGroup: /system.slice/valetudo-mapper.service
           ├─502 npm
           ├─755 sh -c node app.js
           └─761 node app.js
hom3r17@Jeedom:~$ sudo journalctl -u valetudo-mapper.service -f
[sudo] Mot de passe de hom3r17 : 
-- Logs begin at Mon 2020-05-04 22:55:08 CEST. --
mai 04 22:55:09 Jeedom systemd[1]: Started valetudo-mapper.
mai 04 22:55:11 Jeedom npm[502]: > valetudo-mapper@0.5.0 start /opt/valetudo-mapper
mai 04 22:55:11 Jeedom npm[502]: > node app.js
mai 04 22:55:13 Jeedom npm[502]: Loading configuration file: /opt/valetudo-mapper/config.json
mai 04 22:55:13 Jeedom npm[502]: Connecting to MQTT Broker
mai 04 22:55:13 Jeedom npm[502]: Webserver running on port 3030
mai 04 22:55:13 Jeedom npm[502]: Connected to MQTT Broker

Et dans JMQTT je n’ai pas l’impression que les informations de la carte de remontent … Pourtant j’ai vérifié les virgules et les accolades cette fois :innocent:

Ok nickel je pense que je vais leur installer ça … Au pire si ça ne fonctionne pas comme ils veulent le retour sur la version de base n’est pas trop compliqué :wink:

@Theking31 merci pour le retour je vais voir ce que je peux leur faire :wink:

Rien a voir mais vu sur le Facebook de Roborock, c’est top de voir qu’ils amènent encore des nouveautés au S50 :

Il faut lancer un nettoyage et attendre un peu que l’aspirateur envoie les infos :wink:

@HoM3r17

Pour moi ton fichier config.json pour valetudo-mapper n’est pas bon, prends celui ci-dessous il fonctionne correctement chez moi :

{
  "mqtt": {
    "identifier": "roborock",
    "topicPrefix": "valetudo",
    "autoconfPrefix": "jeedom",
    "broker_url": "mqtt://192.168.1.17",
    "caPath": "",
    "mapSettings": {
      "drawPath": true,
      "drawCharger": true,
      "drawRobot": true,
      "drawForbiddenZones": true,
      "drawVirtualWalls": true,
      "border": 2,
      "scale": 4,
      "gradientBackground": true,
      "colors": {
        "floor": "transparent",
        "obstacle_weak": "rgba(0,0,0,0.1)",
        "obstacle_strong": "hsl(120, 20%, 50%)",
        "path": "#333333"
      }
    },
    "mapDataTopic": "valetudo/roborock/map_data",
    "minMillisecondsBetweenMapUpdates": 4000,
    "publishMapImage": true,
    "publishMapData": true
  },
  "webserver": {
    "enabled": true,
    "port": 3030
  }
}

Je l’ai modifié en fonction de tes données, normalement cela doit fonctioner avec cette configuration

@+

Bonjour à tous

Bon pour aller plus loin, est-ce que vous savez quel est la différence entre valetudo/rockrobo/attributes{state} et valetudo/rockrobo/attributes{valetudo_state}{name} ? ils ne contiennent pas les mêmes états … par exemple (cleaning et go to target, docked et charging)

Existe-t-il une documentation à ce sujet quelque part ? Je n’ai pas trouvé

Merci ça fonctionne parfaitement, c’est quoi qui ne vas pas pour toi ? l’ordre des commandes? car j’ai repris les commandes de mon fichier directement sur la documentation valetudo-mapper

Merci pour la solution en tout cas :wink:

Je n’ai pas trouvé de documentation mais j’ai l’impression que le second donne juste des informations plus précises, par exemple lors du retour a la base le premier retournera « returning » et le second « returning to dock » ou quelque chose du genre … a part ça je n’ai pas vu trop de différences …

D’ailleurs il y a encore un troisième retour d’état similaire dans valetudo/rockrobo/state{state}, c’est ce dernier que j’utilise dans mes scenarios …

Parfait si cela fonctionne maintenant, il me semblait que tu avais inversé Identifier et topicPrefix dans l’Item
mapDataTopic. Je me trompe peut-être alors.

Le principal c’est que tout fonctionne :smile:

Hey, dans un premier temps merci ! :ok_hand::+1:
Pas mal de péripéties mais j’ai enfin mon S50 sous valetudo RE.
J’ai besoin de vos lumières est il possible avec l’enregistrement de plusieurs cartes de pouvoir sélectionner une carte pour le mode lavette directement sur mon disgn ?
J’ai ma petit idée de comment sa ce met en place mais je ne trouve pas comment récupérer les cartes dans jeedom
Dans quel fichier on trouve les command existants ?

Je comprend pas trop ce que tu veux faire, avoir 2 cartes différentes sauvegardées, 1 pour l’aspiration, et 1 pour la serpillère qui aurait des zones interdites différentes (genre tapis etc) ?

Si c’est ça pas sur que ce soit possible, ou pas de manière simple en tout cas car les cartes multiples et les pièces viennent juste d’être intégrées a Valetudo RE depuis quelques versions et tout n’est pas encore implémenté je pense …

Pour les commandes existantes je les ai récupérées ici :

Il faut piocher dans différentes documentations, toutes les commandes de la documentation mqtt ne sont pas juste, il me semble par contre que la plupart des commandes de « Template Vacuum » et « Xiaomi robot vacuum » sont OK

Pour le format des commandes il faut se référer aux exemples en fin du tuto :wink: