Integración externa - Mammotion

¡Ah, finalmente está mejor!
El botón « corte » inicia un corte/pausa/reanudación correctamente
El botón « actualizar » funciona bien: la información aparece de inmediato

Pero aún hay un problema: el robot inicia un corte en solo 1 zona y con parámetros por defecto que no son buenos. No sé de dónde los saca.

Necesito que me ayudes a decidir :slight_smile:

Aquí está lo que encontré en el código.

¿De dónde vienen los parámetros?

  • No vienen de la aplicación Mammotion: están dados en el código en src/mammotion/commands.js:210 (buildRouteContent). Son los valores predeterminados de Home Assistant:
    • 1 vuelta de borde
    • 25 cm entre pasadas
    • velocidad 0,3 m/s
    • detección de obstáculos activada
    • sin cambio automático de dirección
  • Altura de corte (src/mammotion/client.js:504): la última altura enviada por el robot. Si no ha enviado ninguna, es 60 mm (DEFAULT_BLADE_HEIGHT_MM, línea 52).
  • La aplicación Mammotion guarda sus ajustes en el teléfono. Gladys no puede leerlos.

¿Por qué solo una zona?

  • Gladys solicita al robot la lista de zonas (buildZoneListRequestContent, la « lista de nombres de zonas »), luego inicia el corte en todas las zonas recibidas.
  • La hipótesis más probable: esta lista solo contiene las zonas que tienen un nombre. Las zonas sin nombre son ignoradas. Todavía no lo he verificado.
  • Otra posibilidad: el robot envía la lista en varios mensajes y Gladys solo guarda el primero.
  • Para decidir, miren en los logs de Gladys la línea:
    planning a route over N zone(s) (…)
    Indica cuántas zonas se encontraron y cuáles.

Lo que propongo corregir

  1. Recuperar la verdadera lista de todas las zonas (la lista de « hash » del mapa, no solo las que tienen un nombre).
  2. Hacer que los ajustes sean modificables en la configuración del servicio: altura, espaciado, velocidad, vueltas de borde, zonas a cortar.

¿Quieren que haga estos cambios? Si es así, envíenme la línea de registro anterior y sus ajustes habituales en la aplicación.

Registro

[2026-10-02T15:35:24.944Z] [INFO] Iniciando la integración de Mammotion...
[2026-10-02T15:35:25.154Z] [INFO] [gladys-sdk] conectado a Gladys (http://172.30.0.1:80)
[2026-10-02T15:35:25.533Z] [INFO] [mammotion] Iniciado sesión en la nube de Mammotion
[2026-10-02T15:35:26.763Z] [WARN] [mammotion] Vinculaciones de Aliyun no disponibles: error al recuperar
[2026-10-02T15:35:26.764Z] [INFO] 1 cortacésped(s) encontrado(s) en la cuenta de Mammotion
[2026-10-02T15:35:30.804Z] [INFO] [mammotion] Luba-VPMBS8RA no está en Aliyun, cambiando al broker de Mammotion
[2026-10-02T15:35:31.340Z] [INFO] [mammotion-mqtt] Conectado al broker de Mammotion mqtt-eu.mammotion.com
[2026-10-02T15:35:31.374Z] [INFO] [mammotion-mqtt] Siguiendo Luba-VPMBS8RA en el broker de Mammotion
[2026-10-02T15:35:31.517Z] [INFO] [mammotion-mqtt] Primeros datos recibidos de Luba-VPMBS8RA (device_protobuf_msg_event)
[2026-10-02T15:37:37.269Z] [INFO] 1 cortacésped(s) encontrado(s) en la cuenta de Mammotion
[2026-10-02T15:39:27.365Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:mowing = 1
[2026-10-02T15:39:28.121Z] [INFO] [mammotion] Luba-VPMBS8RA: planificando una ruta sobre 1 zona(s) (Derrière), hoja a 50 mm
[2026-10-02T15:39:28.464Z] [INFO] [mammotion] Luba-VPMBS8RA: ruta planificada (resultado 0)
[2026-10-02T15:39:28.464Z] [INFO] [mammotion] Enviando "start" a Luba-VPMBS8RA
[2026-10-02T15:40:07.907Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:refresh = 1
[2026-10-02T15:42:13.573Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:refresh = 1
[2026-10-02T15:42:31.332Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:mowing = 0
[2026-10-02T15:42:31.333Z] [INFO] [mammotion] Enviando "pause" a Luba-VPMBS8RA
[2026-10-02T15:43:01.106Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:mowing = 1
[2026-10-02T15:43:01.107Z] [INFO] [mammotion] Enviando "resume" a Luba-VPMBS8RA
[2026-10-02T15:43:37.579Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:dock = 1
[2026-10-02T15:43:37.580Z] [INFO] [mammotion] Enviando "dock" a Luba-VPMBS8RA
[2026-10-02T15:44:32.548Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:refresh = 1
[2026-10-02T15:46:20.191Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:refresh = 1
  • y aquí está la línea en cuestión: ```
    [2026-10-02T15:39:28.121Z] [INFO] [mammotion] Luba-VPMBS8RA: planificando una ruta sobre 1 zona(s) (Derrière), hoja a 50 mm
    [2026-10-02T15:39:28.464Z] [INFO] [mammotion] Luba-VPMBS8RA: ruta planificada (resultado 0)
  • Tengo 6 zonas en mi mapa

  • para MIS valores predeterminados, establecer

Altura de corte: 60 mm
Velocidad: 0,6 m/s
32 cm entre pasadas
Ángulo de corte: 111°
Modo de trayectoria de corte: trayectoria en zigzag
Vuelta de corte de perímetro: 0
Modo de detección de obstáculos: desactivado
Vuelta de corte de zonas prohibidas: 0
Orden de las rutas: primero en zigzag
Progresión del inicio: 0%


He subido correcciones basadas en tu feedback a la versión 1.0.9

La causa

  • Para conocer las zonas, Gladys le pedía al robot su lista de zonas. Sin embargo, esta lista solo contiene las zonas que tienen un nombre en la aplicación Mammotion. En mi caso, solo « Detrás » tenía uno, de 6 zonas.
  • Las configuraciones de corte estaban escritas en el código. Son los valores por defecto de Home Assistant: 1 vuelta de borde, 25 cm, 0,3 m/s, detección de obstáculos activada.
  • La aplicación Mammotion guarda sus configuraciones en el teléfono: Gladys no puede leerlas.

Lo que ha cambiado

  • Gladys ahora lee todos los elementos del mapa y guarda las zonas, con o sin nombre (mismo método que la biblioteca PyMammotion utilizada por Home Assistant).
  • El tipo de cada elemento del mapa solo se solicita una vez, para no sobrecargar la nube de Mammotion.
  • Si el robot no responde, Gladys vuelve al comportamiento anterior (solo zonas nombradas).
  • Nueva sección « Nuevo corte » en la configuración de la integración:
    • Zonas a cortar (nombres separados por comas, vacío = todas las zonas)
    • Altura de corte, velocidad, espaciado de trayectorias, ángulo
    • Modo de trayectoria (zigzag / tablero de ajedrez), orden de rutas
    • Vueltas de perímetro, vueltas de zonas prohibidas
    • Modo de detección de obstáculos
  • Los registros ahora muestran las zonas y todas las configuraciones enviadas al robot.

Valores por defecto
60 mm, 0,6 m/s, 32 cm, 111°, zigzag, zigzag primero, 0 vueltas de perímetro, 0 vueltas de zonas prohibidas, detección de obstáculos desactivada.

Puntos a confirmar en un robot real

  • El ángulo se envía en modo « relativo ». Verificar en comparación con « Personalizar » en la aplicación.
  • « Desactivado » para la detección de obstáculos corresponde al valor 0 (contacto directo). Confirmar.
  • Una zona sin nombre se llama « zona 1 », « zona 2 »… en los registros. Para seleccionarla en « Zonas a cortar », es mejor darle un nombre en la aplicación.

por una vez no es el test de la última versión, sino un mensaje que recibí de gladys:
Capture d'écran 2026-10-03 095545

2 problemas: ¿de dónde viene este mensaje? y además es falso
Capture d'écran 2026-10-03 095406

aquí está el json del mensaje:

aquí está lo que pienso: una integración externa puede desencadenar la alerta del sistema de gladys


por lo tanto, gladys debería recuperar el valor correcto! (¿o no debería gestionar este problema con las integraciones externas?)

@prohand @pierre-gilles

Gracias

Corrección aplicada en 1.0.10

Qué ha cambiado

  • « En carga » sale de la categoría batería:
    • antes: battery / charging
    • ahora: input / binary, la medida estándar sí/no de Gladys
    • mismo valor 0/1, y sigue funcionando en las escenas
  • Nuevo identificador charging-state (en lugar de charging): la antigua medida ya no se alimenta.
  • Además: una batería al 0 % proveniente de la nube se ignora. Los informes protobuf ya lo hacían. Un 0 % de este tipo desencadenaría la misma falsa alerta.
  • Doc: README, docs/fr.md y docs/en.md actualizados, con una entrada en la solución de problemas.
  • Pruebas: una prueba verifica que solo la batería en % permanezca en la categoría batería.

Para Chris75, después de la actualización

  • Abrir la pestaña Descubrimiento y hacer clic en Actualizar en el cortacésped.
  • Gladys elimina entonces la antigua medida « En carga ». Lo verifiqué en el código de Gladys (device.create.js). La alerta se detiene.
  • Mientras no se haga este clic, la antigua medida sigue registrada con su último valor. La alerta del sábado puede seguir saliendo.

test en V1.0.10

Tengo un problema para guardar la configuración:
la opción para la velocidad de movimiento solo acepta 2 valores: 0.2 y 1.2
de modo que el valor por defecto (0.6) no es aceptado

Por lo tanto, el botón « corte » siempre inicia el corte por defecto con los ajustes de la aplicación mammotion

Otro problema: el botón « regreso a la base » hace que el robot regrese a su base, pero deja el estado en « en pausa » y, por lo tanto, la aplicación mammotion también permanece en pausa y hay que hacer stop en la aplicación mammotion


Última pregunta: sería poder controlar el robot como lo hace la integración externa « dreame », es decir, poder hacer todos los ajustes en los dispositivos (y no a nivel de la configuración) y luego iniciar un corte con estos ajustes

LOG

[2026-10-03T10:01:34.767Z] [INFO] Iniciando la integración de Mammotion...
[2026-10-03T10:01:34.988Z] [INFO] [gladys-sdk] conectado a Gladys (http://172.30.0.1:80)
[2026-10-03T10:01:35.396Z] [INFO] [mammotion] Iniciado sesión en la nube de Mammotion
[2026-10-03T10:01:40.048Z] [INFO] 1 cortacésped(es) encontrado(s) en la cuenta de Mammotion
[2026-10-03T10:01:40.780Z] [INFO] [mammotion-mqtt] Conectado al broker de Mammotion mqtt-eu.mammotion.com
[2026-10-03T10:01:40.838Z] [INFO] [mammotion-mqtt] Siguiendo Luba-VPMBS8RA en el broker de Mammotion
[2026-10-03T10:01:41.090Z] [INFO] [mammotion-mqtt] Primeros datos recibidos de Luba-VPMBS8RA (device_protobuf_msg_event)
[2026-10-03T10:16:53.328Z] [INFO] 1 cortacésped(es) encontrado(s) en la cuenta de Mammotion
[2026-10-03T10:18:27.698Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:mowing = 1
[2026-10-03T10:18:33.597Z] [INFO] [mammotion] Luba-VPMBS8RA: planificando una ruta sobre 6 zona(s) (Derrière, zona 2, Bas, Devant, zona 5, zona 6), hoja a 60 mm, 0.6 m/s, 32 cm, 111°, zigzag, 0 borde(s) de solapamiento, detección de obstáculos desactivada
[2026-10-03T10:18:33.934Z] [INFO] [mammotion] Luba-VPMBS8RA: ruta planificada (resultado 0)
[2026-10-03T10:18:33.934Z] [INFO] [mammotion] Enviando "start" a Luba-VPMBS8RA
[2026-10-03T10:19:26.012Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:mowing = 0
[2026-10-03T10:19:26.013Z] [INFO] [mammotion] Enviando "pause" a Luba-VPMBS8RA
[2026-10-03T10:20:02.459Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:dock = 1
[2026-10-03T10:20:02.460Z] [INFO] [mammotion] Enviando "dock" a Luba-VPMBS8RA
[2026-10-03T10:20:38.199Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:refresh = 1
[2026-10-03T10:21:55.278Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:refresh = 1

Gracias Chris75 por las pruebas y el registro :+1:

Correcciones y novedades en la 1.0.11

1. La configuración no se guardaba (velocidad)

  • El campo de velocidad solo aceptaba 0,2 y 1,2: el formulario de Gladys avanza por pasos de 1 a partir del mínimo.
  • Por lo tanto, nada se guardaba (zonas, altura…). El corte comenzaba con los valores predeterminados.
  • La velocidad ahora es una lista de 0,2 a 1,2 m/s.

2. « Regreso a la base » dejaba el corte en pausa

  • En un corte en pausa, Gladys envía primero Detener, luego Regreso a la base, como en la aplicación.
  • Ya no es necesario hacer Detener en la aplicación Mammotion.
  • Durante un corte en curso (no en pausa), nada cambia: simple regreso, el corte puede reanudarse después.

3. Nuevo: ajustes en el dispositivo (como Dreame)

  • La cortadora ahora tiene listas « Configuración – … »: zonas, altura de corte, velocidad, espaciado, ángulo, modo de trayectoria, vueltas del perímetro, detección de obstáculos, vueltas de las zonas prohibidas, orden.
  • Se eligen los valores (tablero de control o escena), luego se enciende Corte: el corte comienza con estos ajustes.
  • Al principio, las listas toman los valores de la configuración.
  • Una selección en el dispositivo solo vale para esa cortadora.
  • Un nuevo valor guardado en la configuración se aplica a todas las cortadoras.
  • La lista de zonas ofrece « Todas las zonas » luego cada zona del mapa. El mapa se lee al inicio de la integración y en cada corte.
  • Ejemplo de escena: el sábado, « Zonas a cortar » = « Frente » luego Corte; el miércoles, « Todas las zonas ».

Después de la actualización

  • Abrir la pestaña Descubrimiento y hacer clic en Actualizar en la cortadora. Sin esto, las listas no aparecen.
  • Volver a guardar la configuración una vez, ya que la velocidad ahora es una lista.

Para que pruebes de tu lado, Chris75

  • Pausa luego Regreso a la base: ¿la cortadora regresa bien y la aplicación ya no está en pausa?
  • Si la lista de zonas solo muestra « Todas las zonas », la cortadora no ha enviado aún su mapa: reiniciar la integración con la cortadora encendida.

Habéis trabajado demasiado bien y resuelto muchos problemas en muy poco tiempo. Mi robot ha sido descubierto de inmediato, ahora estoy tratando de entender todos los elementos que se remontan, luego hacer escenas adaptadas a mis necesidades. No os voy a ayudar mucho, soy desgraciadamente más bien seguidor. De hecho, estoy descubriendo Gladys…

Gracias de nuevo por vuestro trabajo.

¡Tengo ganas de probar esta nueva versión con todos estos nuevos dispositivos!
¡Lo haré mañana a plena luz del día!

Prueba y panel de control en V1.0.11

Modificaciones a realizar: adaptadas al robot Luba 2

  • ajuste de la altura de corte: de 25 mm a 70 mm en pasos de 5 mm

  • ajuste de la velocidad de la actividad: de 0.2 m/s a 0.8 m/s en pasos de 0.1 m/s

  • ajuste del espaciado de las trayectorias: de 20 cm a 32 cm en pasos de 1 cm

  • ajuste del ángulo de corte de la trayectoria: hay 2 ajustes
    – elección entre « óptimo », « personalizar », « aleatorio »
    – luego si se elige « personalizar » hay un ajuste del ángulo: de 0° a 180° en pasos de 1° (importante para tener líneas bonitas paralelas/perpendiculares a la casa)

  • ajuste del modo de trayectoria de corte: falta la opción « zigzag adaptativo »

  • ajuste de vueltas de corte de las zonas prohibidas: de 0 a 3 en pasos de 1

  • falta el ajuste « progresión del inicio »: de 0 a 99% en pasos de 1% (este ajuste permite comenzar el corte en x% de la zona)

  • crear los dispositivos para tener el porcentaje de la zona cortada, el tiempo restante, el tiempo transcurrido, la superficie de la zona a cortar

  • falta la posibilidad de seleccionar varias zonas para cortar (mismo problema que para la integración externa Dreame)

  • y si es posible crear un widget « mapa » que muestre las zonas y el posicionamiento del robot (ver también lo que se hace en la integración externa Dreame)

Gracias Chris75 por las pruebas y las capturas :+1:

Todo lo que pediste está en la 1.1.0, incluido el mapa.

  1. Las listas siguen el modelo del cortacésped

    Gladys lee el modelo en el nombre del cortacésped (Luba-VP… para ti).
    En tu Luba 2 X :
    altura de corte: 25 a 70 mm en pasos de 5 mm
    velocidad: 0,2 a 0,8 m/s en pasos de 0,1
    espaciado: 20 a 32 cm en pasos de 1 cm
    Vueltas en zonas prohibidas: 0 a 3.

  2. Ángulo de corte

    Nueva lista Tipo de ángulo: Óptimo, Personalizar, Aleatorio.
    Luego Ángulo personalizado: 0 a 180° en pasos de 1°.

  3. Nuevas configuraciones

    Zigzag adaptativo añadido en el modo de trayectoria.
    Progresión del inicio: 0 a 99 % en pasos de 1 %.

  4. Varias zonas para cortar

    Un interruptor « Zona a cortar – … » por zona del mapa (reemplaza la antigua lista « Zonas a cortar »).
    Enciendes las zonas que deseas, luego Cortar.
    Si ninguna zona está encendida, el cortacésped corta todas las zonas.

  5. Nuevos valores durante el corte

    Avance del corte (%)
    Tiempo de corte transcurrido (min), además del tiempo restante
    Superficie a cortar (m²)

  6. El mapa

    El cortacésped ahora tiene un Mapa: una imagen con las zonas y su nombre, las zonas prohibidas en gris y el cortacésped en punto rojo.
    Verde vivo: las zonas del próximo corte. Verde pálido: las demás.
    La imagen sigue al cortacésped durante el corte.
    Para mostrarlo: en el tablero, añadir un widget Cámara y elegir el cortacésped.

Después de la actualización

Pestaña Descubrir → Actualizar en el cortacésped. Sin esto, las novedades no aparecen.
Los interruptores de zonas y el mapa llegan una vez leído el mapa: el cortacésped debe estar encendido al inicio de la integración.
En el primer arranque, Gladys lee el contorno de las zonas una sola vez. Es un poco más largo de lo habitual.

Para probar de tu lado, Chris75

Tipo de ángulo y zigzag adaptativo: no estoy seguro al 100 % de los valores enviados al cortacésped. ¿Puedes iniciar un corte desde la aplicación Mammotion con:
    ángulo « Personalizar » (por ejemplo, 45°)
    luego ángulo « Aleatorio »
    luego modo « Zigzag adaptativo »

Después de cada intento, busca « route settings seen » en los registros de la integración y pégame las líneas. Corregiré si es necesario.
El mapa: ¿Está en el sentido correcto con respecto a la aplicación, o girado o invertido? ¿El punto rojo está en el lugar correcto? Una captura me ayudaría.
Las configuraciones: ¿Un corte iniciado desde Gladys comienza bien con las zonas elegidas, la altura correcta y la velocidad correcta?

V 1.1.0
Mi panel de control

Modificaciones

[2026-10-04T16:23:24.635Z] [INFO] Iniciando la integración de Mammotion...
[2026-10-04T16:23:24.840Z] [INFO] [gladys-sdk] conectado a Gladys (*******)
[2026-10-04T16:23:25.217Z] [INFO] [mammotion] Iniciado sesión en la nube de Mammotion
[2026-10-04T16:23:26.287Z] [WARN] [mammotion] Vinculaciones de Aliyun no disponibles: falló la recuperación
[2026-10-04T16:23:26.288Z] [INFO] 1 cortacésped(s) encontrado(s) en la cuenta de Mammotion
[2026-10-04T16:23:31.092Z] [INFO] [mammotion] Luba-VPMBS8RA no está en Aliyun, cambiando al broker de Mammotion
[2026-10-04T16:23:31.788Z] [INFO] [mammotion-mqtt] Conectado al broker de Mammotion mqtt-eu.mammotion.com
[2026-10-04T16:23:31.843Z] [INFO] [mammotion-mqtt] Siguiendo Luba-VPMBS8RA en el broker de Mammotion
[2026-10-04T16:23:32.011Z] [INFO] [mammotion-mqtt] Primeros datos recibidos de Luba-VPMBS8RA (device_protobuf_msg_event)
[2026-10-04T16:24:44.627Z] [INFO] Luba-VPMBS8RA: zonas Derrière, zona 2, Bas, Devant, zona 5, zona 6
[2026-10-04T16:27:51.602Z] [INFO] 1 cortacésped(s) encontrado(s) en la cuenta de Mammotion
[2026-10-04T16:50:41.617Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:zone-devant = 1
[2026-10-04T16:50:41.618Z] [INFO] Luba-VPMBS8RA: zonas derriere,devant para el próximo trabajo
[2026-10-04T16:50:56.978Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:zone-bas = 1
[2026-10-04T16:50:56.978Z] [INFO] Luba-VPMBS8RA: zonas derriere,devant,bas para el próximo trabajo
[2026-10-04T16:52:44.371Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:refresh = 1
[2026-10-04T16:57:34.331Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:zone-bas = 0
[2026-10-04T16:57:34.332Z] [INFO] Luba-VPMBS8RA: zonas derriere,devant para el próximo trabajo
[2026-10-04T16:57:35.023Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:zone-derriere = 0
[2026-10-04T16:57:35.023Z] [INFO] Luba-VPMBS8RA: zonas devant para el próximo trabajo
[2026-10-04T16:58:15.647Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:zone-derriere = 1
[2026-10-04T16:58:15.648Z] [INFO] Luba-VPMBS8RA: zonas devant,derriere para el próximo trabajo
[2026-10-04T17:03:02.267Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:zone-devant = 0
[2026-10-04T17:03:02.268Z] [INFO] Luba-VPMBS8RA: zonas derriere para el próximo trabajo
[2026-10-04T17:03:24.417Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:setting-blade-height = 60
[2026-10-04T17:03:24.418Z] [INFO] Luba-VPMBS8RA: blade_height = 60 para el próximo trabajo
[2026-10-04T17:03:34.830Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:setting-mowing-speed = 0.6
[2026-10-04T17:03:34.830Z] [INFO] Luba-VPMBS8RA: mowing_speed = 0.6 para el próximo trabajo
[2026-10-04T17:03:40.082Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:setting-angle-mode = custom
[2026-10-04T17:03:40.082Z] [INFO] Luba-VPMBS8RA: angle_mode = custom para el próximo trabajo
[2026-10-04T17:03:55.381Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:setting-mowing-pattern = zigzag
[2026-10-04T17:03:55.381Z] [INFO] Luba-VPMBS8RA: mowing_pattern = zigzag para el próximo trabajo
[2026-10-04T17:03:56.737Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:setting-border-laps = 0
[2026-10-04T17:03:56.738Z] [INFO] Luba-VPMBS8RA: border_laps = 0 para el próximo trabajo
[2026-10-04T17:04:01.578Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:setting-obstacle-detection = off
[2026-10-04T17:04:01.578Z] [INFO] Luba-VPMBS8RA: obstacle_detection = off para el próximo trabajo
[2026-10-04T17:07:41.915Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:setting-start-progress = 20
[2026-10-04T17:07:41.915Z] [INFO] Luba-VPMBS8RA: start_progress = 20 para el próximo trabajo
[2026-10-04T17:07:55.485Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:setting-blade-height = 70
[2026-10-04T17:07:55.486Z] [INFO] Luba-VPMBS8RA: blade_height = 70 para el próximo trabajo
[2026-10-04T17:08:19.789Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:mowing = 1
[2026-10-04T17:08:21.624Z] [INFO] [mammotion] Luba-VPMBS8RA: planificando una ruta sobre 1 zona(s) (Derrière), hoja a 70 mm, 0.6 m/s, 32 cm, ángulo personalizado 111°, zigzag, 0 vueltas de borde, inicio al 20 %, detección de obstáculos desactivada
[2026-10-04T17:08:21.922Z] [INFO] [mammotion-mqtt] Luba-VPMBS8RA: configuración de ruta vista {"subCmd":0,"edgeMode":0,"knifeHeight":70,"channelWidth":32,"ultraWave":0,"channelMode":0,"toward":111,"speed":0.6,"zones":1,"reserved":[11,10,10,30,11,18,20,40],"towardMode":1,"towardIncludedAngle":0}
[2026-10-04T17:08:21.922Z] [INFO] [mammotion] Luba-VPMBS8RA: ruta planificada (resultado 0)
[2026-10-04T17:08:21.922Z] [INFO] [mammotion] Enviando "start" a Luba-VPMBS8RA
[2026-10-04T17:10:18.054Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:refresh = 1
[2026-10-04T17:13:53.737Z] [INFO] onSetValue <- ext:ext-prohand-gladys-mammotion:mower:nNlJJBp0Cxx538To70i6000000:dock = 1
[2026-10-04T17:13:53.748Z] [INFO] [mammotion] Enviando "stop" a Luba-VPMBS8RA
[2026-10-04T17:13:56.489Z] [INFO] [mammotion] Enviando "dock" a Luba-VPMBS8RA

Gracias Chris75 por las pruebas y las capturas

Correcciones en la 1.1.1

  1. Error al registrar el dispositivo

    La página del dispositivo envía todo el dispositivo a Gladys, y Gladys lo rechaza si supera los 100 ko.
    Las listas « Ángulo personalizado » (181 opciones) y « Progresión del inicio » (100 opciones), junto con la imagen del mapa, superaban este límite.
    Estas dos configuraciones ahora son controles deslizantes (paso de 1): 0 a 180° y 0 a 99 %.
    Si el error persiste, ¿podrías revisar los registros de Gladys (no los de la integración) en el momento de hacer clic en Guardar? Busco una línea con « too large » o « PayloadTooLarge ».

  2. Ángulo personalizado: 111° incluido 69°

    La cortadora cuenta el ángulo en la dirección opuesta (69 = 180 − 111).
    Gladys ahora envía el ángulo como la aplicación: 111° en Gladys = 111° en la aplicación.

  3. « zona 2 » en lugar de « Zona 1 »

    La aplicación enumera las zonas sin nombre a partir de 0, Gladys comenzaba desde 1.
    Esto se ha corregido: Zona 1, Zona 4, Zona 5, como en la aplicación.
    El interruptor « Zona a cortar – zona 2 » se convierte en « Zona a cortar – Zona 1 ». No olvides volver a encenderlo en tus escenas.

  4. Espaciado de las trayectorias

    Luba 2 X: 20 a 35 cm por pasos de 1 cm.

Cuota de la nube de Mammotion

El mapa no envía ningún mensaje adicional. Utiliza la posición que la cortadora ya envía durante el corte.
La integración solicita el estado como máximo una vez cada 5 minutos (aproximadamente 144 en 12 horas). El botón « Actualizar » añade uno cada vez que se presiona.

Después de la actualización

Pestaña Descubrimiento → Actualizar en la cortadora. Sin esto, los controles deslizantes y los nuevos nombres de zonas no aparecen.
Luego, volver a seleccionar el ángulo y la progresión en los controles deslizantes.

Para que pruebes por tu parte, Chris75

Ángulo 111° desde Gladys: ¿la aplicación muestra « Personalizar 111 »?
¿Funciona el guardado del dispositivo?
Y cuando haya luz: la continuación de las pruebas (tipo de ángulo « Aleatorio », zigzag adaptativo, sentido del mapa).

estoy completamente asombrado al ver la rapidez de reacción y la precisión en las respuestas: ¿a quién debo felicitar @prohand o Claude :wink: :joy:

Los dos :wink:

Acabo de probar la V 1.1.1

  • ¡Todos los ajustes funcionan ahora, ¡perfecto!

Pequeño problema con la visualización del mapa que desaparece aleatoriamente y luego reaparece


y de vez en cuando: sin imagen
Capture d'écran 2026-10-05 160209

Y en cuanto a los dispositivos « corte » y « regreso a la base »:

  • si detengo el « corte » y luego hago « regreso a la base », el robot detiene bien el corte, vuelve a su base, pero hay que presionar « stop » en la aplicación mammotion para terminar la tarea

  • solo falta el selector de varias zonas para cortar, y también este selector debe respetar el orden en el que se seleccionan las zonas (como en la aplicación mammotion)
    Actualmente, selecciono las 6 zonas mediante interruptores, y el orden no se respeta