Aller au contenu

Plugin JeeNavimow

Il plugin JeeNavimow integra i robot rasaerba Segway Navimow in Jeedom: monitoraggio di stato, batteria e firmware, controllo (avvia / ferma / pausa / riprendi / ritorno alla base) e monitoraggio in tempo reale via MQTT (con fallback REST).

⚠️ Plugin non ufficiale, non affiliato a Segway-Ninebot. Utilizza la stessa API cloud dell'integrazione community per Home Assistant (regione Europa / Francoforte).

Compatibilità

  • Jeedom 4.4+
  • Rasaerba Navimow con un account Segway Navimow (app mobile «Navimow») — testato su i210 LiDAR Pro, compatibile con le serie i / H / X collegate al cloud Navimow.
  • Le dipendenze Python vengono installate automaticamente in un ambiente virtuale isolato (richiede Python 3.11+ — installato o compilato automaticamente se assente).

Installazione

  1. Installa il plugin dal Market di Jeedom (categoria Oggetti connessi).
  2. Attiva il plugin.
  3. Nella configurazione del plugin, avvia l'installazione delle dipendenze e attendi lo stato «OK».
  4. Collega il tuo account Navimow (vedi sotto).

⏱️ Durata dell'installazione delle dipendenze — su Debian 11 (Bullseye), python3 è 3.9 e nei repository non esiste alcun pacchetto Python 3.11. Dalla 0.2.8 il plugin compila da sé Python 3.11: prevedi da 20 min a 1 h a seconda della macchina (circa 20 min su un x86 recente, fino a 1 h su Raspberry Pi), contro meno di un minuto su Debian 12 (Bookworm). Questa attesa è una tantum: il Python compilato viene conservato in /usr/local e riutilizzato nelle installazioni successive. Lascia la pagina aperta fino allo stato «OK», non riavviare l'installazione nel frattempo e prevedi circa 1,5 GB di spazio libero su disco.

Collegare il tuo account Navimow

L'autenticazione usa il flusso OAuth2 ufficiale di Segway (pagina di accesso ospitata da Segway). Le tue credenziali non passano mai da Jeedom.

  1. Clicca su «Collega il mio account Navimow».
  2. Passo 1 — clicca su Genera l'URL di accesso.
  3. Passo 2 — apri l'URL nel browser e accedi con il tuo account Segway Navimow. Dopo l'accesso, il browser viene reindirizzato a un URL che contiene ?code=....
  4. Copia quell'URL di reindirizzamento completo e incollalo nel campo, poi Conferma.
  5. I tuoi rasaerba vengono importati automaticamente come dispositivi.

🔑 Il codice di accesso è monouso e scade in pochi secondi: genera l'URL e incolla l'URL di reindirizzamento senza indugio. In caso di errore, genera un nuovo URL.

Aggiornare / aggiungere rasaerba

Il pulsante «Aggiorna rasaerba» (visibile una volta collegato l'account) riavvia il rilevamento senza riautenticarsi — utile dopo aver aggiunto un nuovo rasaerba.

Il demone

JeeNavimow usa un demone Python che: mantiene la connessione al cloud Navimow (rinnovo automatico del token OAuth); ascolta gli aggiornamenti in tempo reale via MQTT; interroga l'API REST ogni 30 s come fallback se MQTT non è disponibile; e inoltra i comandi (avvia/ferma/pausa/riprendi/base) al rasaerba. La porta del demone è configurabile (modificala solo in caso di conflitto).

Dispositivo: comandi

Ogni rasaerba importato espone automaticamente dei comandi.

Informazioni: Stato, codice stato, batteria (%), In carica, Online, Errore + messaggio di errore, Avanzamento (%), Superficie tagliata (m²), Posizione X/Y, Firmware, Aggiornamento disponibile, Ultima sincronizzazione.

Azioni: Avvia il taglio, Ferma, Pausa, Riprendi, Ritorno alla base, Aggiorna.

Widget dashboard

Un widget dedicato mostra lo stato animato del rasaerba, l'indicatore della batteria, l'avanzamento del taglio e i pulsanti di controllo, con gestione degli stati offline ed errore.

FAQ / Risoluzione dei problemi

  • Nessun rasaerba appare dopo il collegamento → clicca su Aggiorna rasaerba. Verifica che il rasaerba sia visibile nell'app Navimow.
  • Le informazioni non si aggiornano → assicurati che il demone sia avviato (pagina Salute) e che le dipendenze siano «OK». Riavvia il demone dopo un aggiornamento del plugin.
  • «Scambio del token fallito: invalid_grant» → il codice OAuth è scaduto: genera un nuovo URL di accesso e incolla un URL di reindirizzamento fresco.
  • L'installazione delle dipendenze sembra bloccata → su Debian 11 (Bullseye) il plugin compila Python 3.11: l'operazione dura da 20 min a 1 h e il log mostra «Compilation de Python 3.11.9 depuis les sources». È normale, lasciala terminare.
  • L'installazione delle dipendenze fallisce → è richiesto Python 3.11+ (imposto da navimow-sdk). Controlla nel log di installazione che non manchino spazio su disco (~1,5 GB) o accesso di rete.

Changelog

0.2.9

  • Diagnostica: nuova opzione Cattura MQTT grezza nella configurazione del plugin. Registra così com'è ogni messaggio ricevuto dal cloud Navimow, in un file dedicato, senza portare il demone in debug. Lo script resources/mqtt_report.py ne compila l'inventario dei campi — frequenza, tipo, esempi — segnalando quelli non ancora sfruttati dal plugin. Obiettivo: individuare i campi reali di avanzamento, superficie e posizione, i cui nomi non sono documentati. Vengono catturati anche i comandi inviati (REST sendCommands) e le risposte di stato; i token OAuth e le credenziali MQTT sono mascherati.
  • Documentazione: corretti gli URL di documentazione e changelog (hosting Cloudflare), poiché GitHub Pages non può pubblicare un repository privato.

0.2.8

  • Dipendenze: se non è presente alcun Python ≥ 3.11, il plugin prova prima apt-get install python3.11 e poi compila Python 3.11 dai sorgenti (make altinstall in /usr/local, senza toccare il python3 di sistema) — Debian 11 (Bullseye) ora si installa senza interventi manuali.
  • Integrità dell'archivio Python verificata (MD5 pubblicato da python.org), parallelismo di compilazione limitato dalla RAM disponibile e lock che impedisce due installazioni simultanee.
  • ⏱️ Su Debian 11 (Bullseye) la prima installazione delle dipendenze dura da 20 min a 1 h (compilazione di Python 3.11) contro meno di un minuto su Debian 12; il Python compilato viene poi riutilizzato.

0.2.7

  • Widget: corretto il link sul nome del rasaerba (aggiunto il parametro m=) — ora apre correttamente la pagina di configurazione del dispositivo.

0.2.6

  • Dipendenze: rilevamento automatico di un Python ≥ 3.11 installato in parallelo (es. python3.11 su Debian 11 dove python3 = 3.9), invece di fallire; messaggio di errore migliorato (Debian 11 / Debian 12).

0.2.5

  • Plugin: categoria spostata in Nature.

0.2.4

  • Widget: pulsante Riprendi in verde lime (#9ACD32), distinto da Avvia e Base.

0.2.3

  • Widget: ora segue il tema di Jeedom (modalità scura / chiara) invece del tema del browser/sistema operativo.

0.2.2

  • Widget: logo del plugin nell'intestazione (al posto dell'icona robot) e nome del rasaerba cliccabile che apre la configurazione del dispositivo.
  • Widget: pulsante di donazione (caffè) con tooltip opaco in primo piano; rimosso il pulsante «Sync» ridondante.
  • Widget: icona casa blu per il pulsante Base e correzione di icone mancanti (compatibilità Font Awesome 5).
  • Widget: «Base» disponibile in pausa, indicatore batteria centrato.

0.2.1

  • Nuova icona del rasaerba nel widget (immagine dedicata), animata durante il taglio.

0.2.0

  • MQTT in tempo reale tramite il broker dinamico mqttHost/mqttUrl restituito dall'API (al posto dell'hostname mqtt.navimow.com, non risolvibile) — connessione WSS + sottoscrizioni ai topic realtime confermate.
  • Rinnovo automatico del token OAuth (~1 h): proattivo + al codice 4005 (CODE_OAUTH_INFO_ILLEGAL), aggiornamento dell'autenticazione MQTT senza interrompere la connessione.
  • Avvio robusto del demone: bind della porta con retry, PID scritto dopo il bind riuscito, pulizia delle istanze orfane (corregge «il demone non si avvia»).
  • Widget ad aggiornamento automatico: i widget dashboard e mobile si aggiornano da soli ogni 15 s senza ricaricare la pagina.
  • Porta del demone predefinita 55149 (evita il conflitto con jeewhatsapp).

0.1.0 (beta)

  • Prima versione pubblica (beta).
  • Autenticazione OAuth2 Segway Navimow (flusso con incolla dell'URL di reindirizzamento).
  • Rilevamento automatico dei rasaerba dell'account (+ pulsante Aggiorna rasaerba).
  • Informazioni: stato, batteria, carica, online, errore, firmware, ultima sincronizzazione (e avanzamento/superficie/posizione secondo l'API).
  • Azioni: avvia, ferma, pausa, riprendi, ritorno alla base, aggiorna.
  • Demone Python: MQTT in tempo reale + fallback REST (30 s), rinnovo automatico del token.
  • Widget dashboard glassmorphism.
  • Documentazione multilingue (FR, EN, DE, ES, RU, ID, IT).