[Plugin Mammotion] Beta tests

Bonjour à tous,

Je viens de créer un nouveau plugin (disponible en beta sur le market) : mammotion

Le plugin vous permet de piloter vos robots tondeuses (Luba, Yuka) et robots piscine (Spino) de la marque Mammotion, au même titre que l’application officielle. Vous retrouverez les principales fonctionnalités : état du robot / batterie / progression de la tonte / lancement, pause et arrêt / retour à la station / hauteur de lame / vitesse / tonte par zone… La remontée des données est automatique et en temps réel (MQTT). Il utilise le cloud Mammotion.

Je crée ce sujet pour effectuer des tests avant passage en stable. N’hésitez pas à utiliser le bouton Community du plugin pour créer un post ici. Pensez également à mettre les logs en mode debug et les poster avec votre message.
Version OS mini : debian 11 - Version Jeedom mini : 4.4

La documentation du plugin est en cours de rédaction, mais vous devriez pouvoir connecter votre compte Mammotion assez facilement. Vos robots doivent être préalablement enregistrés dans votre application.

:warning: Attention :warning:
le cloud Mammotion n’autorise qu’une seule session par compte. Créez un compte secondaire dédié à Jeedom et partagez lui vos robots depuis l’application officielle, sinon l’application mobile sera déconnectée à chaque démarrage du démon (et inversement).

Le plugin a pour le moment été testé uniquement avec un robot tondeuse Yuka. Tous les retours des robots Luba et Spino sont donc les bienvenus :wink:
Le widget est en cours de finalisation mais je suis preneur des informations que vous souhaiteriez voir en priorité ! Le but étant qu’il ne soit pas surchargé :innocent:

Bons tests à tous !

Xav

2 « J'aime »

Bonjour !

Un grand merci pour ce développement. Je ne vais pas avoir de temps à y consacrer dans les 15 jours à venir mais après je l’installe et je le teste ! J’ai un Luba 2.

1 « J'aime »

Bonjour ! Finalement je n’ai pas pu résister, j’ai commencé à tester :grin:. L’intégration se fait bien, mais bizarrement par contre je n’ai pas pu la faire immédiatement après avoir créé le compte secondaire et partagé le robot. Par contre le lendemain la synchronisation a bien trouvé le robot. Le retour d’infos se fait très bien, j’ai juste remarqué que “surface tondue” correspondait à la surface à tondre. Pour avoir la surface déjà tondue, il faut donc la multiplier par “progression”/100. Pour le reste tout semble parfait !

Pour ce qui est des commandes actions, je testerai dès que j’aurai plus de temps, dans 15 jours sans doute.

Merci beaucoup en tous cas, ce plug-in offre des perspectives réjouissantes :grin: !

Hello @sylvouille

Merci pour les tests :wink:

Pour la synchro, j’avais de mon côté, avant de tester le plugin, connecté le compte secondaire sur l’app. Est-ce que cela a changé qqchose, je ne sais pas, mais la synchro a fonctionné du premier coup ! Je rajoutrerai peut-être cela dans la doc.

Pour la surface à tondre, tu as raison :+1:
Je me suis bcp appuyé sur le plugin HA et ma traduction de work_area n’est pas la bonne :innocent:
Corrigé dans la prochaine beta avec Surface à tondre ! Par contre, sur le robot qui me sert de test (je n’ai pas encore le mien) je n’ai qu’une zone. A voir si la surface à tondre est bien la somme de toutes les zones.

Xav

Ah super !! un plugin mammotion

Il faut bien préciser de créer l’utilisateur via l’appli et non via le site internet.

Tout comme Sylvouille la synchro ne se fait pas car je viens d’intaller / créer le user

je regarde demain

Dams

Oui je confirme, il faut un utilisateur de l’app :slight_smile:
J’avais fait l’erreur et qd mon collègue m’a donné accès à son robot via compte secondaire, il ne me trouvait pas ! Je préciserai ce point dans la doc :wink:

Par contre, en ce qui concerne ton compte secondaire, est ce que tu t’es connecté avec sur l’app ? Je pense que ca doit activer le compte plus rapidement.

Quand tu crée ton id depuis l’app tu est connecté immédiatement

Je me suis connecté à nouveau avec le user dédié au plugin puis fait une nouvelle synchro et je n’ai pas mieux pour le moment.

Petit tips pour les utilisateur gmail. Si vous ne souhaitez pas créer un user sur une autre adresse vous pouvez utiliser votre adresse gmail en ajoutant un + et un texte avant le @

Exemple:

Si votre mail est monmail@gmail.com vous pouvez écrire monmail+cequejeveux@gmail.com

Vous recevrer la validation sur votre mail gmail et pour mammotion c’est une autre adresse mail

1 « J'aime »

C’est vraiment bizarre cette histoire, j’ai eu la synchro direct :thinking:

Tu pourrais passer les logs en debug, lancer une synchro et m’envoyer les logs mammotion_daemon ?

Merci d’avance

Voilà


Log du plugin mammotion_daemon
Log brut  
Rechercher
 

[2026-07-16 14:57:18] INFO  : Starting daemon (lib version 1.2.9) with log level: debug
[2026-07-16 14:57:18] DEBUG  : Writing PID 867563 to /tmp/jeedom/mammotion/daemon.pid
[2026-07-16 14:57:18] INFO  : Listening on 127.0.0.1:44090
[2026-07-16 14:57:18] INFO  : Starting Mammotion daemon...
[2026-07-16 14:57:18] INFO  : Connecting to Mammotion cloud...
[2026-07-16 14:57:19] ERROR  : Failed to connect to Mammotion cloud: Field "data" of type Optional[dict] in Response has invalid value True
[2026-07-16 14:57:19] INFO  : Send async started with a cycle of 0.5s
[2026-07-16 14:57:30] DEBUG  : Received new message on socket
[2026-07-16 14:57:30] DEBUG  : Close connection
[2026-07-16 14:57:30] INFO  : Sending device list to Jeedom : []
[2026-07-16 14:57:30] DEBUG  : Try sending to jeedom: {'event': 'devices', 'data': []}
[2026-07-16 14:57:43] DEBUG  : Received new message on socket
[2026-07-16 14:57:43] DEBUG  : Close connection
[2026-07-16 14:57:43] INFO  : Sending device list to Jeedom : []
[2026-07-16 14:57:43] DEBUG  : Try sending to jeedom: {'event': 'devices', 'data': []}
[2026-07-16 14:59:40] DEBUG  : Received new message on socket
[2026-07-16 14:59:40] DEBUG  : Close connection
[2026-07-16 14:59:40] INFO  : Sending device list to Jeedom : []
[2026-07-16 14:59:40] DEBUG  : Try sending to jeedom: {'event': 'devices', 'data': []}
[2026-07-16 15:00:19] DEBUG  : Received new message on socket
[2026-07-16 15:00:19] DEBUG  : Close connection
[2026-07-16 15:00:19] INFO  : Sending device list to Jeedom : []
[2026-07-16 15:00:19] DEBUG  : Try sending to jeedom: {'event': 'devices', 'data': []}
[2026-07-16 15:27:23] DEBUG  : Received new message on socket
[2026-07-16 15:27:23] DEBUG  : Close connection
[2026-07-16 15:27:23] INFO  : Sending device list to Jeedom : []
[2026-07-16 15:27:23] DEBUG  : Try sending to jeedom: {'event': 'devices', 'data': []}
[2026-07-16 16:40:40] DEBUG  : Received new message on socket
[2026-07-16 16:40:40] DEBUG  : Close connection
[2026-07-16 16:40:40] INFO  : Sending device list to Jeedom : []
[2026-07-16 16:40:40] DEBUG  : Try sending to jeedom: {'event': 'devices', 'data': []}
[2026-07-16 16:47:22] DEBUG  : Received new message on socket
[2026-07-16 16:47:22] DEBUG  : Close connection
[2026-07-16 16:47:22] INFO  : Sending device list to Jeedom : []
[2026-07-16 16:47:22] DEBUG  : Try sending to jeedom: {'event': 'devices', 'data': []}

J’ai vu l’erreur

Failed to connect to Mammotion cloud

J’ai relancé le démon et les équipements sont apparus:
Luba et spino

Ah oui bien vu ! Si tu as lancé le démon avant d’avoir rempli mail et pwd il ne se connecte pas !
Je vais voir ce que je peux faire :wink:
Cool si tu as un spino, on pourra tester aussi :+1:
Parce que j’ai vu qu’il y a la fonction retour station mais pour un robot piscine j’ai du mal à voir le truc :thinking: :thinking: :thinking:

1 « J'aime »

Ce matin j’ai voulu changé l’objet parents des équipement et la sauvegarde du changement ne fonctionne pas.
Suis-je le seul à avoir ce soucis?

Quelle version de Jeedom ?

Sur mon environnement de dev, aucun souci !
Suis en version 4.6.1 sur debian 12.

Bonjour !

Après vérification, la surface à tondre correspond à la somme des surfaces des zones qui composent l’activité en cours. Donc c’est nickel !

Top merci pour la confirmation. Le widget est en cours et devrait arriver ce wwekend :wink:

Voici un premier jet ! Preneur de vos retours et commentaires :wink:

1 « J'aime »

Bonjour,

Super et merci pour ce plugin, je vais pouvoir optimiser les tontes suivant les prévisions météo :slight_smile:
Je viens d’installer le plugin afin de commencer les tests avec un LUBA2 AWD 3000, son petit nom est Lucien :wink:.
Il est utilisé en mode INavi sans antenne RTK.

Je donne ici mon premier retour brut de fonderie, j’inclus également les LOG en mode debug si cela peut aider (j’ai malheureusement supprimé les premiers LOGS).

Je ne vais pas pouvoir effectuer de tests durant la tonte avant ce week-end afin de donner d’autres retours.

La synchronisation ne s’est pas effectuée initialement avec mon compte secondaire que j’ai créé via l’application.
J’ai du me connecter avec mon compte dans un premier temps puis de nouveau avec mon compte secondaire avant que la synchronisation puisse s’effectuer.

Pas très important mais l’image ne correspond pas au modèle du robot.

Les informations de statut ne sont pas correctes, par exemple :
en Charge avec une ‹ X › alors qu’il est en charge
Batterie 0 alors que batterie à 100%
les temps d’utilisation de distance et autre sont à 0
Détection de pluie avec une ‹ X › alors que la détection de pluie est activée.
Coordonnées GPS sont vides, est-ce normal ?
Signal Wifi est à 0



mammotion_daemon.txt (48,4 Ko)
mammotion.txt (8,8 Ko)



Salut
Version 4.6.1 également et debian 12
Lorsque je suis à la maison je peux modifier l’objet parents mais impossible à distance.
C’est pas bloquant mais j’ai jamais eu le problème

Erci pour ce plugin

Merci @Franckybel pour les tests !

  1. Pour l’image, en effet, pour les nouveaux robots (à partir), l’API n’envoie plus l’url de l’image. Du coup dans le plugin, j’en ai poussé 3 seulement sans différencier les modèles précis (Luba, Yuka et Spino). Je regarderai ce que je peux faire :wink:
  2. Pour la remontée des infos, je réveille pourtant le robot avant (on voit bien dans les logs le online = 1) mais a priori ca ne suffit pas. Les infos devraient remonter dès que le robot démarrera une activité. Je te laisse me le confirmer ? Et je vais creuser pour voir si il y a d’autres solutions qu’un réveil.

Ah je vais essayer à distance du coup et je te redis !

Hello,

Merci pour le plugin, je vais tester ça :slight_smile:

Bonne journée

1 « J'aime »