Aller au contenu

Plugin JeeNavimow

El plugin JeeNavimow integra los robots cortacésped Segway Navimow en Jeedom: supervisión del estado, la batería y el firmware, control (iniciar / parar / pausar / reanudar / volver a la base) y seguimiento en tiempo real mediante MQTT (con respaldo REST).

⚠️ Plugin no oficial, sin relación con Segway-Ninebot. Utiliza la misma API en la nube que la integración comunitaria para Home Assistant (región Europa / Fráncfort).

Compatibilidad

  • Jeedom 4.4+
  • Cortacéspedes Navimow con una cuenta Segway Navimow (app móvil «Navimow») — probado en i210 LiDAR Pro, compatible con las series i / H / X vinculadas a la nube Navimow.
  • Las dependencias de Python se instalan automáticamente en un entorno virtual aislado (se requiere Python 3.11+ — instalado o compilado automáticamente si falta).

Instalación

  1. Instale el plugin desde el Market de Jeedom (categoría Objetos conectados).
  2. Active el plugin.
  3. En la configuración del plugin, ejecute la instalación de dependencias y espere el estado «OK».
  4. Conecte su cuenta Navimow (ver abajo).

⏱️ Duración de la instalación de dependencias — en Debian 11 (Bullseye), python3 es 3.9 y no existe ningún paquete Python 3.11 en los repositorios. Desde la 0.2.8, el plugin compila Python 3.11 por su cuenta: cuente de 20 min a 1 h según la máquina (≈ 20 min en un x86 reciente, hasta 1 h en una Raspberry Pi), frente a menos de un minuto en Debian 12 (Bookworm). Esta espera es puntual: el Python compilado se conserva en /usr/local y se reutiliza en las instalaciones posteriores. Deje la página abierta hasta el estado «OK», no reinicie la instalación mientras tanto y prevea alrededor de 1,5 GB de espacio libre en disco.

Conectar su cuenta Navimow

La autenticación usa el flujo OAuth2 oficial de Segway (página de inicio de sesión alojada por Segway). Sus credenciales nunca pasan por Jeedom.

  1. Haga clic en «Conectar mi cuenta Navimow».
  2. Paso 1 — haga clic en Generar la URL de conexión.
  3. Paso 2 — abra la URL en su navegador e inicie sesión con su cuenta Segway Navimow. Tras iniciar sesión, el navegador es redirigido a una URL que contiene ?code=....
  4. Copie esa URL de redirección completa y péguela en el campo, luego Validar.
  5. Sus cortacéspedes se importan automáticamente como equipos.

🔑 El código de conexión es de un solo uso y caduca en pocos segundos: genere la URL y pegue la URL de redirección sin demora. Si falla, genere una URL nueva.

Actualizar / añadir cortacéspedes

El botón «Actualizar cortacéspedes» (visible una vez conectada la cuenta) relanza la detección sin volver a autenticarse — útil tras añadir un nuevo cortacésped.

El demonio

JeeNavimow usa un demonio Python que: mantiene la conexión con la nube Navimow (renovación automática del token OAuth); escucha las actualizaciones en tiempo real por MQTT; consulta la API REST cada 30 s como respaldo si MQTT no está disponible; y transmite los comandos (iniciar/parar/pausar/reanudar/base) al cortacésped. El puerto del demonio es configurable (modifíquelo solo en caso de conflicto).

Equipo: comandos

Cada cortacésped importado expone automáticamente comandos.

Información: Estado, código de estado, batería (%), En carga, En línea, Error + mensaje de error, Progreso (%), Superficie cortada (m²), Posición X/Y, Firmware, Actualización disponible, Última sincronización.

Acciones: Iniciar el corte, Parar, Pausar, Reanudar, Volver a la base, Actualizar.

Widget del panel

Un widget dedicado muestra el estado animado del cortacésped, el indicador de batería, el progreso del corte y los botones de control, gestionando los estados sin conexión y de error.

FAQ / Solución de problemas

  • No aparece ningún cortacésped tras conectar → haga clic en Actualizar cortacéspedes. Compruebe que el cortacésped es visible en la app Navimow.
  • La información no se actualiza → asegúrese de que el demonio está iniciado (página Salud) y las dependencias en «OK». Reinicie el demonio tras una actualización del plugin.
  • «Error en el intercambio de token: invalid_grant» → el código OAuth caducó: genere una URL de conexión nueva y pegue una URL de redirección fresca.
  • La instalación de dependencias parece bloqueada → en Debian 11 (Bullseye) el plugin compila Python 3.11: dura de 20 min a 1 h y el registro muestra «Compilation de Python 3.11.9 depuis les sources». Es normal, déjela terminar.
  • La instalación de dependencias falla → se requiere Python 3.11+ (impuesto por navimow-sdk). Compruebe en el registro de instalación que no falte espacio en disco (~1,5 GB) ni acceso a la red.

Changelog

0.2.8

  • Dependencias: si no hay ningún Python ≥ 3.11, el plugin intenta primero apt-get install python3.11 y luego compila Python 3.11 desde las fuentes (make altinstall en /usr/local, sin tocar el python3 del sistema) — Debian 11 (Bullseye) ya se instala sin intervención manual.
  • Integridad del archivo Python verificada (MD5 publicado por python.org), paralelismo de compilación limitado por la RAM disponible y bloqueo que impide dos instalaciones simultáneas.
  • ⏱️ En Debian 11 (Bullseye), la primera instalación de dependencias dura de 20 min a 1 h (compilación de Python 3.11) frente a menos de un minuto en Debian 12; el Python compilado se reutiliza después.

0.2.7

  • Widget: corregido el enlace del nombre del cortacésped (añadido el parámetro m=) — ahora abre correctamente la página de configuración del equipo.

0.2.6

  • Dependencias: detección automática de un Python ≥ 3.11 instalado en paralelo (p. ej. python3.11 en Debian 11 donde python3 = 3.9), en lugar de fallar; mensaje de error mejorado (Debian 11 / Debian 12).

0.2.5

  • Plugin: categoría movida a Nature.

0.2.4

  • Widget: botón Reanudar en verde lima (#9ACD32), diferenciado de Iniciar y Base.

0.2.3

  • Widget: ahora sigue el tema de Jeedom (modo oscuro / claro) en lugar del tema del navegador/SO.

0.2.2

  • Widget: logo del plugin en la cabecera (en lugar del icono de robot) y nombre del cortacésped clicable que abre la configuración del equipo.
  • Widget: botón de donación (café) con tooltip opaco en primer plano; eliminado el botón «Sync» redundante.
  • Widget: icono de casa azul para el botón Base y corrección de iconos faltantes (compatibilidad con Font Awesome 5).
  • Widget: «Base» disponible en pausa, medidor de batería centrado.

0.2.1

  • Nuevo icono de cortacésped en el widget (imagen dedicada), animado durante el corte.

0.2.0

  • MQTT en tiempo real mediante el broker dinámico mqttHost/mqttUrl devuelto por la API (en lugar del hostname mqtt.navimow.com, no resoluble) — conexión WSS + suscripciones a los topics realtime confirmadas.
  • Renovación automática del token OAuth (~1 h): proactiva + ante el código 4005 (CODE_OAUTH_INFO_ILLEGAL), actualización de la autenticación MQTT sin cortar la conexión.
  • Arranque robusto del demonio: bind del puerto con reintentos, PID escrito tras el bind correcto, limpieza de instancias huérfanas (corrige «el demonio no arranca»).
  • Widget autoactualizable: los widgets de panel y móvil se actualizan solos cada 15 s sin recargar la página.
  • Puerto del demonio por defecto 55149 (evita el conflicto con jeewhatsapp).

0.1.0 (beta)

  • Primera versión pública (beta).
  • Autenticación OAuth2 Segway Navimow (flujo por pegado de URL de redirección).
  • Detección automática de los cortacéspedes de la cuenta (+ botón Actualizar cortacéspedes).
  • Información: estado, batería, carga, en línea, error, firmware, última sincronización (y progreso/superficie/posición según la API).
  • Acciones: iniciar, parar, pausar, reanudar, volver a la base, actualizar.
  • Demonio Python: MQTT en tiempo real + respaldo REST (30 s), renovación automática del token.
  • Widget de panel glassmorphism.
  • Documentación multilingüe (FR, EN, DE, ES, RU, ID, IT).