[Plugin Mammotion] Beta tests

Bonjour @Xav-74 ,

J’ai pu lancer aujourd’hui une activité, malheureusement je te confirme qu’aucune remontée n’a eu lieu.
L’activité a tourné durant 4h30 mais aucune information n’a été mise à jour.
Je vais mettre en standby les tests.
N’hésite pas à me recontacter si tu souhaites des infos ou relancer des tests suivant suivant les maj du plugin.

Bonne recherche à toi pour trouver une solution.

Tu peux me renvoyer les logs lorsque tu as démarré l’activité ?

Edit : je pense que j’ai trouvé ! Je viens de pousser une nouvelle beta :wink:
Dis moi si ca corrige (souci avec Debian 11 que je n’ai plus :stuck_out_tongue: donc j’avais pas testé)

Nouvelle beta à l’instant :wink:

  • Bugfix démon (_start)
  • Bugfix hauteur de lames (Yuka)
  • Ajout de la première version du widget pour Yuka et Luba uniquement

C’est tout pour ce soir.
Bons tests !

OK, je viens de mettre à jour, je relance une activité demain en début d’aprés-midi.

1 « J'aime »

Normalement un refresh devrait déjà te permettre de voir les infos du robot sans attendre de lancer une activité :wink:

Exact, voici, cela semble fonctionner maintenant, bon boulot :wink:
Je te ferai demain un check durant l’activité pour vérifier les remontées.

1 « J'aime »

Bonjour,

voici mon retour sur l’utilisation du plugin, les logs à la fin si nécessaire

  • Lancement d’une tâche depuis l’application
    L’information remonte bien dans le plugin → OK
  • Bouton Démarrer → ??
    Quel est l’objectif de ce bouton car nous ne pouvons pas sélectionner quoi Démarrer.
    exemple Le robot était sans aucune tâche en cours au milieu d’une zone (j’avais arrêté de tondre pour les essais), en cliquant sur le bouton démarrer, il était parti pour tondre la zone d’à côté, pourquoi ?.
    Ce bouton je pense est en doublon du bouton tondre une zone ou alors le remplacer par tondre une activité (voir mes suggessitons).
  • Bouton Pause → OK
  • Bouton Reprendre → OK
  • Bouton Annuler → OK
  • Bouton Retour Station → OK
  • Bouton Tondre une zone → KO
    J’ai 3 zones, après sélection d’une zone le robot se lance pour une tonte complète des 3 zones quelque soit la zone sélectionnée
  • Hauteur de lames → As tu prévu de pouvoir changer la hauteur durant la tonte, j’ai vu la commande action, le pourquoi de ma question

Content de pouvoir très bientôt gérer le robot via Jeedom.

Quelques Suggestions après une première vraie utilisation (liste de courses :wink:)
Je ne penses pas que le plugin a pour vocation de refaire ce qui se passe dans l’application sur smartphone, juste ajouter modifier quelques possibles.

  • Bouton ‹ Annuler › : Serait il possible de confirmer l’ordre, car cela est irréversible (de type vous confirmer l’annulation OUI/NON !)
  • Bouton Tondre une zone : nous pouvons sélectionner les zones de tontes très bien. Pourrions nous sélectionner une activité (ajouter un bouton peut-être) car pour une activité du robot, nous avons tous les réglages de la tonte (hauteur, vitesse, …) y compris les multi zones sélectionnées, je pense que cela serait un vrai plus.
    Serait génial si nous pouvions sélectionner aussi une activité désactivée, dans l’application il est possible de lancer manuellement une activité même si celle-ci est désactivée.
    Si cela est possible, nous pourrions automatiser nos tontes dans Jeedom suivant les prévisions de pluie, l’arrosage et autre.
  • Menu Entretien sur l’application
    La page Entretien est intéressante, surtout concernant le temps de fonctionnement restant de la lame, si nous avons cette information, il serait possible de déclencher un petit scénario de notification avec rappel pour changer les lames :slight_smile:

Merci encore

mammotion_daemon.txt (2,4 Mo)
mammotion.txt (102,7 Ko)

Merci infiniment pour tous ces tests ! C’est top !

Ce bouton permet de lancer une nouvelle activité sur l’ensemble des zones existantes (normalement :slight_smile: ) mais comme je n’ai qu’une zone de mon côté, j’ai peut-être fait une betise. Je regarde ce soir. A voir si on le maintient en effet.

Là aussi je n’ai testé qu’avec une zone et ca fonctionne chez moi. Je regarde ce qu’il se passe si plusieurs zones.

Oui le bouton existe (idem pour le réglage de la vitesse) pour les Luba. J’ai prévu de les intégrer sur le widget pour les Luba ce weekend !

Oui ce doit être possible mais du coup si on veut utiliser cette commande via scénario = plus complexe. Je vais regarder. Qu’entends tu par irréversible ? Tu repars à 0 si tu relances la même activité ? Tu ne peux pas redémarrer là où tu en étais ?

Je ne connaissais pas cette notion d’activités. Je vais regarder si c’est disponible sur la lib pyMammotion et je l’ajouterai si c’est le cas :wink:

J’ai déjà intégré 3 cmd infos :

  • blade_used_time (temps d’utilisation des lames) ← tu peux me confirmer que c’est la même info ?
  • total_mileage (distance totale)
  • total_work_time (temps de travail total)

Tu peux donc déjà les utiliser via scénario :wink:

Prochaine beta ce weekend donc !

Xav

C’est génial d’échanger comme cela, pour améliorer et/ou confirmer le fonctionnement.
Je vais être un peu verbeux afin de bien détailler.
Si cela était nécessaire, nous pourrions passer en mode échange directe et peut-être par téléphone, pas de soucis pour moi

Comme le robot tourne très régulièrement et que je suis chez moi en ce moment, pas de problème pour continuer les tests.
J’utilise cette version de robot depuis 2 ans, celui-ci est neuf car le précédent n’a pas voulu redémarrer après l’hivernage (le SAV mammotion me l’a remplacé).

J’ai vu aussi la position GPS dans les données que tu remontes, très intéressant si le robot est bloqué; cela permettra d’afficher via des cartes (sur des vues par exemples) où est le robot :slight_smile:

Bouton ‹ Annuler ›

En fait il y a 2 actions possibles lorsqu’une tonte est en cours via le widget
Pause : Ce qui permet après de continuer en utilisant « reprendre », dans ce cas pas de ‹ risque › si en pause nous pouvons relancer là ou la tonte s’est mise en pause, cela prend en compte l’action en cours, par exemple le passage dans les corridors.
Annuler : le robot arrête toute action en cours (tonte ou pas) et se stoppe là où il est (durant tonte, sur un corridor, retour à la base …). Donc il faut lui donner impérativement une action à suivre (tondre, retour à la base) et bien évidemment impossible de relancer la tonte là où on en était.
Dans le fonctionnement de l’application cela se fait en 3 phases (pas obligé de faire de la même façon mais juste pour détailler).
voici les 3 captures pour expliquer

  • On met en pause
  • On prend une décision sur l’action, on clique sur Arrêt de la tonte (bouton croix blanche sur bouton rouge).
  • On doit valider car l’action est irréversible « le pourquoi de l’alarme dans l’appli » car le robot va s’arrêter là où il est. Dans mon exemple pour bien illustrer, le robot est stoppé sur le corridor qui va sur la zone Tonnelle qui est aussi le chemin des voitures, donc s’il s’arrête là, il y a un petit risque d’écrasement :wink: et il n’y a aucune notification du robot via l’application car l’arrêt est volontaire, contrairement à un obstacle, ou il va être arrêté mais l’application informe que le robot est bloqué (on va donc voir ce qui se passe ou recevoir via des scénarios des notifications Jeedom). Il pourrait s’arrêter sur mon chemin vers la route également par exemple.
    Sur le bouton « annuler » du widget nous passons directement sur un arrêt complet et définitif de tout fonctionnement en cours sans passer par un 'avertissement".
    Peut-être mettre 2 Actions « Annuler », une via le widget qui demande confirmation car nous sommes en usage interface utilisateur, et une autre sans confirmation qui pourrait être utilisée pour des scénarios (bon point), juste une suggestion.

Sélectionner une activité
Juste pour te montrer, dans mon usage, je n’utilise jamais la tonte d’une zone en appuyant sur tondre dans l’application car mes activités (2), me permettent d’exécuter les tontes avec des paramètres et réglages différents.
Par exemple la tonte de la rue est désactivée (pas de programmation) car je ne souhaite pas que mon robot sorte si je ne suis pas là mais aussi l’angle de la tonte, la hauteur de coupe, la vitesse n’est pas la même que mon activité regroupant mes 2 zones sur mon terrain.
Dans mon autre activité avec mes 2 zones, je tons en premier une zone puis la deuxième car sur mon terrain l’humidité reste plus longtemps du côté terrasse, je donne donc l’enchainement Tonnelle puis terrasse pour l’ordre des tontes dans l’activité.
Tu peux donc voir ci-dessous les 2 activités dont l’une est désactivé car pas de programmation mais on peut choisir Exécuter maintenant comme une activité active.
Sur l’activité « tout le terrain », on voit bien les 2 zones avec l’ordre de séquence des tontes et bien évidemment les réglages différents sur le détail de la tonte (hauteur, vitesse, angle, …)

Page Entretien
En fait dans l’application nous avons 3 notions sur l’usage des lames mais visible que 2
Voir les captures d’écran

  • blade_used_time : le temps d’utilisation des lames (on ne le voit pas dans l’application mais on peut la déduire, je vais expliquer)
    Cela correspond bien à ce que j’ai sur mon robot durant les tests : 26.1
  • Le temps maximum d’utilisation des lames : Pour moi j’ai mis 100 heures dans l’application
  • Le temps restant avant alarme : Ce qui est intéressant pour gérer le remplacement et scénarios, dans mon cas il reste bien 73 heures : 100 - 26.1 (l’app arrondie visiblement ;))
    La variable blade_used_time doit-être mise à 0 lorsque dans l’application nous avons cliqué sur « Confirmer » ce qui relance le compte à rebours du temps restant (confirmer que nous avons changé les lames).
    Nous n’avons je pense donc pas le champs nécessaire au remplacement des lames « Temps restant avant alarme » visible dans l’application et ainsi déclencher potentiellement des scénarios.

Salut,

Merci pour ce plugin.

Les états batterie, statut, hauteur de lames,… ne sont pas stables chez moi.
Les états sont bien récupérés puis passent à 0 ou équivalent dans la foulée.
La progression n’est pas impactée.

Logs install et tonte en cours

0000|[2026-07-24 18:18:01] DEBUG Lancement démon
0001|[2026-07-24 18:18:06] DEBUG Test from daemon
0002|[2026-07-24 18:18:48] DEBUG ┌─Command execution : synchronize
0003|[2026-07-24 18:18:48] DEBUG | Send to daemon : {« apikey »:« « ,« action »:« synchronize »,« device »:null,« args »:null}
0004|[2026-07-24 18:18:48] DEBUG └─End of synchronize (equipments will be created / updated on daemon answer)
0005|[2026-07-24 18:18:49] DEBUG Devices list received from daemon : [{« name »:« Luba-VAUD5UK4 »,« device_type »:« mower »,« model »:« LUBA 3 AWD 1500 »,« swversion »: »« ,« has_blade_control »:1}]
0006|[2026-07-24 18:18:49] INFO New device found : Luba-VAUD5UK4 (LUBA 3 AWD 1500)
0007|[2026-07-24 18:18:49] DEBUG Add command En ligne (LogicalId : online)
0008|[2026-07-24 18:18:49] DEBUG Add command Batterie (LogicalId : battery)
0009|[2026-07-24 18:18:49] DEBUG Add command Statut (LogicalId : work_mode)
0010|[2026-07-24 18:18:49] DEBUG Add command Vitesse (LogicalId : speed)
0011|[2026-07-24 18:18:49] DEBUG Add command En charge (LogicalId : charging)
0012|[2026-07-24 18:18:49] DEBUG Add command Sur la base (LogicalId : docked)
0013|[2026-07-24 18:18:49] DEBUG Add command Progression (LogicalId : work_progress)
0014|[2026-07-24 18:18:49] DEBUG Add command Surface tondue (LogicalId : work_area)
0015|[2026-07-24 18:18:49] DEBUG Add command Temps restant (LogicalId : left_time)
0016|[2026-07-24 18:18:49] DEBUG Add command Temps écoulé (LogicalId : elapsed_time)
0017|[2026-07-24 18:18:49] DEBUG Add command Hauteur de lame (LogicalId : blade_height)
0018|[2026-07-24 18:18:49] DEBUG Add command Lames actives (LogicalId : blade_status)
0019|[2026-07-24 18:18:49] DEBUG Add command Détection de pluie (LogicalId : rain_detection)
0020|[2026-07-24 18:18:49] DEBUG Add command Coordonnées GPS (LogicalId : gps_coordinates)
0021|[2026-07-24 18:18:49] DEBUG Add command Orientation (LogicalId : orientation)
0022|[2026-07-24 18:18:49] DEBUG Add command Signal Wifi (LogicalId : wifi_rssi)
0023|[2026-07-24 18:18:49] DEBUG Add command Temps dutilisation des lames (LogicalId : blade_used_time)
0024|[2026-07-24 18:18:49] DEBUG Add command Distance totale (LogicalId : total_mileage)
0025|[2026-07-24 18:18:49] DEBUG Add command Temps de travail total (LogicalId : total_work_time)
0026|[2026-07-24 18:18:49] DEBUG Add command Cycles batterie (LogicalId : bat_cycles)
0027|[2026-07-24 18:18:49] DEBUG Add command Firmware (LogicalId : firmware)
0028|[2026-07-24 18:18:49] DEBUG Add command Erreurs (LogicalId : error)
0029|[2026-07-24 18:18:49] DEBUG Add command Connexion (LogicalId : connect_type)
0030|[2026-07-24 18:18:49] DEBUG Add command Dernier événement (LogicalId : last_event)
0031|[2026-07-24 18:18:49] DEBUG Add command Rafraichir (LogicalId : refresh)
0032|[2026-07-24 18:18:49] DEBUG Add command Démarrer (LogicalId : start)
0033|[2026-07-24 18:18:49] DEBUG Add command Retour station (LogicalId : dock)
0034|[2026-07-24 18:18:49] DEBUG Add command Pause (LogicalId : pause)
0035|[2026-07-24 18:18:50] DEBUG Add command Reprendre (LogicalId : resume)
0036|[2026-07-24 18:18:50] DEBUG Add command Annuler la tâche (LogicalId : cancel)
0037|[2026-07-24 18:18:50] DEBUG Add command Quitter la station (LogicalId : leave_dock)
0038|[2026-07-24 18:18:50] DEBUG Add command Tondre une zone (LogicalId : start_zone)
0039|[2026-07-24 18:18:50] DEBUG Add command Régler hauteur de lame (LogicalId : set_blade_height)
0040|[2026-07-24 18:18:50] DEBUG Add command Régler vitesse (cms) (LogicalId : set_speed)
0041|[2026-07-24 18:18:50] DEBUG Add command Dernière mise à jour (LogicalId : lastUpdate)
0042|[2026-07-24 18:18:50] DEBUG Areas updated for Luba-VAUD5UK4 : [{« name »:« fruitiers « ,« hash »:1887170322704016497},{« name »:« devant »,« hash »:1968355765602459850},{« name »:« arri\u00e8re sud »,« hash »:3953680828987051179},{« name »:« spa »,« hash »:8080805595195363761}]
0043|[2026-07-24 18:18:51] DEBUG Areas updated for Luba-VAUD5UK4 : [{« name »:« fruitiers « ,« hash »:1887170322704016497},{« name »:« devant »,« hash »:1968355765602459850},{« name »:« arri\u00e8re sud »,« hash »:3953680828987051179},{« name »:« spa »,« hash »:8080805595195363761}]
0044|[2026-07-24 18:18:52] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: » »,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: » »}
0045|[2026-07-24 18:18:55] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0046|[2026-07-24 18:19:03] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:87,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0047|[2026-07-24 18:19:12] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0048|[2026-07-24 18:19:15] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0049|[2026-07-24 18:19:28] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0050|[2026-07-24 18:19:34] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0051|[2026-07-24 18:19:42] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0052|[2026-07-24 18:19:45] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0053|[2026-07-24 18:19:51] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0054|[2026-07-24 18:19:54] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0055|[2026-07-24 18:20:01] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0056|[2026-07-24 18:20:05] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0057|[2026-07-24 18:20:18] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0058|[2026-07-24 18:20:33] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0059|[2026-07-24 18:20:35] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0060|[2026-07-24 18:20:38] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0061|[2026-07-24 18:20:51] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0062|[2026-07-24 18:20:57] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0063|[2026-07-24 18:21:03] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0064|[2026-07-24 18:21:08] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0065|[2026-07-24 18:21:18] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0066|[2026-07-24 18:21:22] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0067|[2026-07-24 18:21:24] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0068|[2026-07-24 18:21:34] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:86,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0069|[2026-07-24 18:21:41] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:1,« work_area »:260,« left_time »:131,« elapsed_time »:2,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »: »« ,« orientation »:160,« wifi_rssi »:-54,« blade_used_time »:109,« total_mileage »:97.7,« total_work_time »:119.8,« bat_cycles »:78,« error »: »« }
0070|[2026-07-24 18:21:46] DEBUG State updated for Luba-VAUD5UK4 :


Informations Jeedom

Core : 4.6.1 (master)
DNS Jeedom : non

Plugin : Mammotion
Version : 2026-07-23 00:21:46 (beta)
Statut Démon : Démarré - (2026-07-24 18:17:59)
Santé
🟢 Matériel : diy
🟢 Système à jour : OK
🟢 Cron actif : OK
🟢 Scénario actif : OK
🟢 Démarré : OK 2026-06-29 13:48:02
🟢 Date système (dernière heure enregistrée) : OK 2026-07-24 18:31:15 (2026-07-24 18:08:02)
🟢 Droits sudo : OK
🟢 Version Jeedom : 4.6.1
🟢 Version OS : debian 12.14
🟢 Version PHP : 8.2.31
🟢 Nombre de processus Apache : 13
🟢 Version OS : Linux jeedom 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64 GNU/Linux  [12.14]
🟢 Version database : 10.11.14-MariaDB-0+deb12u2
🟢 Espace disque libre : 70 %
🟢 Connexion active/max/autorisée : 14/24/151
🟢 Taille base de données : 77.49 MB
🟢 Espace disque libre tmp : 90 %
🟢 Mémoire disponible : 52 % (Total 3915 Mo)
🟢 Mémoire suffisante : 0 
🟢 Erreur I/O : 0
🟢 Swap disponible : 96 % (Total 975 Mo)
🟢 Swappiness : 10 %
🟢 Charge : 0.29 - 0.19 - 0.35
🟢 Configuration réseau interne : OK
🟢 Configuration réseau externe : OK
🟢 Node : v22.23.1 
🟢 Python 3 : Python 3.11.2 
🟢 Persistance du cache : OK
🟢 Apache private tmp : OK

Informations complémentaires

Email configured
Password configured
SocketPort : 44090
Cron : */15 * * * *
Robot #1 - Name : Luba-VAUD5UK4 - Model : LUBA 3 AWD 1500 - Type : mower - Firmware : 

j’ai du tronquer mon message précédent trop gros: je rajoute des log où on voit que les infos sont parfois bien récupérées:

0118|[2026-07-24 18:25:55] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:85,« charging »:0,« docked »:0,« work_mode »:« MODE_WORKING »,« connect_type »:« WIFI/BLE »,« work_progress »:8,« work_area »:260,« left_time »:122,« elapsed_time »:9,« blade_height »:70,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »:« 46.62810278793939,0.27928006278238204 »,« orientation »:-21,« wifi_rssi »:-52,« blade_used_time »:109.1,« total_mileage »:97.8,« total_work_time »:119.9,« bat_cycles »:78,« error »:« 7000107,-1199,5002,-1199,-1199,5002,-1199,5002,-1199,5002 »,« last_event »:« Tonte d\u00e9marr\u00e9e »}
0119|[2026-07-24 18:25:57] DEBUG State updated for Luba-VAUD5UK4 : {« online »:1,« battery »:0,« charging »:0,« docked »:0,« work_mode »:« MODE_NOT_ACTIVE »,« connect_type »:« WIFI »,« work_progress »:8,« work_area »:260,« left_time »:122,« elapsed_time »:9,« blade_height »:0,« speed »:0.23,« blade_status »:0,« rain_detection »:0,« gps_coordinates »:« 46.62810382064635,0.27927090005996563 »,« orientation »:-48,« wifi_rssi »:-52,« blade_used_time »:109.1,« total_mileage »:97.8,« total_work_time »:119.9,« bat_cycles »:78,« error »:« 7000107,-1199,5002,-1199,-1199,5002,-1199,5002,-1199,5002 »,« last_event »:« MODE_NOT_ACTIVE »}

Hello @Chrisax

Tu peux me confirmer que ton robot date d’après janvier 2025 ?
Si oui, peux tu lancer une tonte, la laisser pendant 5 min et m’envoyer les logs mammotion et mammotion_daemon sous forme de fichier ? (bouton télécharger dans Jeedom :wink: )

Merci

Xav

Hello @Franckybel

Nouvelle beta ce soir avec :

  • Ajout d’une confirmation avant annulation d’une tâche
  • Bugfix sur la commande « Tondre une zone »
  • Ajout de la gestion des activités (je suis en aveugle car pas d’activités sur mon robot de test :wink: )

J’ai pour le moment supprimer la commande « Start » du widget uniquement. Elle reste dans l’équipement. Part contre j’ai repris la logique pour arriver à ce mode de fonctionnement : l’action réalisé est la suivante selon les conditions :

  1. Si tâche en pause → reprise de la tâche
  2. Si tâche interrompue (point d’arrêt) → reprise du job planifié
  3. Aucune reprise en cours et pas de zone imposée → on lance l’activité par défaut
  4. Si pas d’activité → nouvelle tâche avec tonte de toutes les zones

Qu’en penses tu ? A voir si on remet le bouton sur le widget :wink:

Pour la partie entretien : tu gères ton alerte toi-même à partir de la cmd info blade_used_time
avec un calcul manuel ou tu souhaites inclure un paramètre dans l’équipement avec le temps maximum d’utilisation à saisir puis je crée une nouvelle commande blade_left_time ?

Belle soirée

Xav

PS : j’essaie de sortir une nouvelle version du widget avec l’ajout des cmd pour régler vitesse et hauteur de lame d’ici ce soir :wink:

1 « J'aime »

Bonsoir @Xav-74,

Tu es trop rapide, j’ai du effectuer les tests dans le noir :rofl:
Petit retour, tests effectués.
J’ai remis les logs.

Super, cela fonctionne bien, y aura t il une action spéciale si utilisé dans un scénario ?
.

Marche parfaitement, juste un point de détail, il est noté Aucune en tête de liste, mais cela est inutile


.

Oups, cela ne fonctionne pas, ne m’affiche aucune activité alors que 2 existent.
Pour info, pour tes tests, sur ton robot, même si tu n’as qu’une zone, tu peux créer de multiples activités. Cela permet par exemple de gérer différentes hauteurs, vitesses, fréquence de tonte suivant la saison.


.

Ma compréhension et question :wink:

  1. Oui, cela correspond également à l’application
      1. Je n’ai pas compris les contextes.
        Pour moi les points 2,3,4 sont identiques (le robot n’a aucune action en cours de tonte), je suis peut-être passé à côté de quelque chose je pense.
        Si l’on souhaite être comme sur l’application, Si aucune action d’ordre de tonte (Zone ou activités) j’ai testé, cela lance la tonte de toutes les zones si rien n’est en cours, Attention l’app demande la hauteur de tonte dans ce cas !
        Le fait de demander la hauteur de coupe te permet d’annuler (croix dans l’app) car si tu cliques par erreur et qu’il n’y a pas la question sur la hauteur de coupe (choix de la hauteur ou annuler) cela va lancer la tonte de toutes les zones sans confirmation.

Si la variable existe venant du robot, je pense qu’il est préférable de ‹ collecter › cette variable « blade_left_time » directement du robot.
L’app effectue le calcul et réinitialise le compte à rebour du blade_left_time lorsque l’on change les lames, il est donc je pense inutile de vouloir le gérer dans jeedom manuellement.
mammotion_daemon.txt (4,9 Mo)
mammotion.txt (472,9 Ko)

Même pas besoin :wink: La demande de confirmation n’est faite que si tu es sur le widget. Si scénario, pas de confirmation !

En fait si, cela en a une :wink:
Lorsque tu cliques sur une zone, tu ne peux pas revenir sur cette même zone sans un refresh du widget. Donc si tu as 1 seule zone (ce qui est mon cas pour mes tests) et que tu cliques une fois dessus, je ne peux plus rien faire ensuite. J’ai donc rajouté cette option « aucune » et je la resélectionne automatiquement à la fin du clic. Ainsi tu peux de nouveau choisir la même zone si besoin !

Dans les logs, je vois que la mise à jour a pris un peu de temps (mise à jour à 22:24 pour un redémarrage du démon à 22:20

07-26 22:24:18][DEBUG] Plans updated for Lucien : [{"plan_id":"178067468694427012755","name":"Tout le terrain"},{"plan_id":"178224126268132681485","name":"Rue"}]

Tu n’as toujours rien dans la liste ?

Ce n’est pas mon robot, mais celui d’un ami qui me laisse jouer avec pour le moment à distance. Mais du coup, je ne fais pas de modif de zones ou activités :wink:

Pas simple à expliquer je le concois :smiley:
En fait il faut voir celui de manière séquentielle :

  1. Je teste d’abord si le robot est en pause. Si OUI, le bouton start = bouton reprendre
  2. Si NON, je regarde si une tache a été interrompue (bouton annuler). Si OUI je relance cette même tâche
  3. Si NON, je considère que le robot est prêt et je lance l’activité par défaut (sélectionné par l’utilisateur).
  4. Mais si pas d’activité créée, alors je lance en dernier recours la tonte de toute les zones

Et enfin oui, pour la hauteur de coupe, je prends la hauteur de coupe actuelle du robot :wink:

Justement cette variable n’existe pas dans la lib pyMammotion. Mais si tu le souhaites, je peux la calculer dans le plugin :wink:

Xav

De nouveaux quelques retours, on arrive au bout je pense grâce à ton boulot :slight_smile:
Pas facile si tu es en aveugle pour effectuer les tests mais … ça fonctionne

Annulation tâche → très bien cette gestion, totalement opérationnel en utilisation directe ou scénario.

Activités → OK, je ne sais pas ce qu’il s’est passé, mais je vois bien les activités (activées et désactivées au niveau programmation, ce qui est une bonne chose) maintenant, j’ai lancé chaque activité afin de contrôler que tout se passe bien, aucun soucis, activités opérationnelles

Gestion de la tâche → Merci pour l’explication, franchement pas vraiment de point de vue.
Le scénario que tu proposes est une option mais je pense un peu compliqué (avec une petite tête comme moi) car il faut se souvenir de la logique.
L’application est plus simple que cela et de fait radicale, elle fait le 1. (si en pause je continue l’action de tonte qui était en cours, sinon je lance toutes les zones.
Je prendrais la logique de ce que tu auras mis en place :wink:

blade_left_time : Pas de chance que la variable ne remonte pas.
Dans tous les cas il faudra bien gérer le changement de lames sur l’app du robot pour initialiser le compte à rebours.
Ce que je propose, comme toi je pense. Avoir la possibilité de saisir (comme dans l’application) le nombre d’heures de fonctionnement désiré (blade_time_set dans mon exemple 100 heures), calculer le blade_left_time en récupérant le blade_used_time, le blade_left_time = blade_time_set - blade_used_time.
Avec cela nous pourrons dans les scénarios s’occuper des alertes de changement de lames sur le blade_left_time.
Lors du changement de lame, il suffira sur l’app du robot de confirmer le changement de lame, comme on le fait aujourd’hui, la seule différence, on met le nombre d’heures voulues dans le robot et dans Jeedom (pas vraiment contraignant).

1 « J'aime »

Merci :smiling_face:

:+1:

Cool ! Je préciserai dans la doc que la synchro peut prendre qq minutes. C’est ce qui s’est passé pour toi ! Donc comme tu as du faire le test avant, la liste n’est pas apparu.

En fait j’ai repris la logique de HA. Mais tu as peut-être raison autant coller à l’app pour ne pas perdre les utilisateur.
Tu me confirmes donc :

  1. Si pause, reprise de l’activité (idem bouton reprendre) sinon nouvelle tâche sur toutes les zones ?

Je rajoute ca dans la todo :wink:

Pour la partie widget j’ai bien avancé hier :wink:
Reste juste à gérer le cas particulier du Yuka qui ne dispose pas de ce réglage !

Dernière chose : j’ai vu que sur le Luba on pouvait allumer une lumière ! Un intérêt à le rajouter ici ?

Merci encore pour tous ces tests.
Xav

Salut,

Le robot est de cette année: LUBA 3 AWD 1500

J’ai lancé une activité depuis le dashbord; les logs indiquent un timeout mais la commande a bien été prise en compte. L’appli a notifié une erreur 2805 “Le robot est en cours de travail. La tâche planifiée ne peut être exécutée. Pour garantir l’exécution sans heurts des tâches ultérieures, prévoyez suffisamment de temps entre les tâches afin d’éviter les conflits.”

L’annulation de la tâche et le retour à la base ont été lancés depuis le dashbord sans incident particulier.

mammotion.txt (174,5 Ko)

mammotion_daemon.txt (4,8 Mo)

Merci ! Je vais regarder ça ce soir :wink:
Tu étais bien sur la dernière beta ?

Xav

Je pense que c’est la meilleure solution, comme l’app.
.

Merci pour cette prise en compte du changement des lames, la gestion du robot en sera plus facile en recevant des notifications Jeedom.
.

En toute honnêteté cela est utile dans l’application car lorsque le robot est arrêté dans le noir, cela permet depuis la caméra du robot de voir ce qu’il y a devant. Mais pour cela il faut bien évidemment utiliser l’app pour avoir le retour de la caméra.
Donc pour Jeedom pas très utile, on va dire que cela pourrait être un petit gadget :wink:
Mais par contre une question qui va sembler stupide mais on ne sait jamais.
Parlant de la caméra, est il possible d’avoir le retour caméra depuis le robot comme nous l’avons dans l’app ?
Est-ce possible par exemple d’utiliser le widget camera et intégrer la caméra du robot ?
Rien de bloquant ou absolument nécessaire car l’app est là pour cela mais juste pour connaitre les possibles.