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¶
- Instale el plugin desde el Market de Jeedom (categoría Objetos conectados).
- Active el plugin.
- En la configuración del plugin, ejecute la instalación de dependencias y espere el estado «OK».
- Conecte su cuenta Navimow (ver abajo).
⏱️ Duración de la instalación de dependencias — en Debian 11 (Bullseye),
python3es 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/localy 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.
- Haga clic en «Conectar mi cuenta Navimow».
- Paso 1 — haga clic en Generar la URL de conexión.
- 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=.... - Copie esa URL de redirección completa y péguela en el campo, luego Validar.
- 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.9¶
- Diagnóstico: nueva opción Captura MQTT en bruto en la configuración del plugin. Registra tal cual cada mensaje recibido de la nube Navimow, en un archivo dedicado, sin pasar el demonio a depuración. El script
resources/mqtt_report.pyelabora el inventario de los campos —frecuencia, tipo, ejemplos— señalando los que el plugin aún no aprovecha. Objetivo: identificar los campos reales de progreso, superficie y posición, cuyos nombres no están documentados. También se capturan los comandos enviados (RESTsendCommands) y las respuestas de estado; los tokens OAuth y las credenciales MQTT se enmascaran. - Documentación: corregidas las URLs de documentación y de changelog (alojamiento Cloudflare), ya que GitHub Pages no puede publicar un repositorio privado.
0.2.8¶
- Dependencias: si no hay ningún Python ≥ 3.11, el plugin intenta primero
apt-get install python3.11y luego compila Python 3.11 desde las fuentes (make altinstallen/usr/local, sin tocar elpython3del 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.11en Debian 11 dondepython3= 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/mqttUrldevuelto por la API (en lugar del hostnamemqtt.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).