Aller au contenu

JeeNavimow — version bêta

Cette page décrit la version bêta (instable) du plugin JeeNavimow : nouveautés en test et feuille de route. Pour la documentation stable, voir index.md.

⚠️ La bêta peut contenir des fonctions inachevées. Sauvegardez votre Jeedom avant de l'installer.

Beta-nouveautes

En test (bêta courante)

  • Temps réel MQTT opérationnel : connexion WSS au broker dynamique (mqttHost/mqttUrl renvoyés par l'API, ex. mqtt-fra.navimow.com) via le SDK mower_sdk, avec abonnement aux topics /downlink/vehicle/<id>/realtimeDate/{state,event,attributes}. Corrige l'usage de l'ancien hostname mqtt.navimow.com (non résolvable).
  • Mise à jour de l'auth MQTT sans coupure à chaque rotation horaire du token OAuth.
  • Repli REST (30 s) conservé si MQTT indisponible.
  • En cours d'affinage : mapping fin de la position / progression / surface selon les charges utiles MQTT réelles, et remontée des événements en événements Jeedom.

Roadmap

Fonctionnalités envisagées, par ordre de priorité. Les éléments dépendent de ce que l'API/MQTT Navimow expose réellement.

v0.2 — Temps réel complet

  • Parsing complet des messages MQTT Navimow (Thing status / properties / events) via mower_sdk.
  • Remontée de la progression de tonte, de la surface tondue et de la position relative (X/Y) en direct.
  • État « en charge » fiable.
  • Événements Jeedom déclenchés sur changement d'état (retour base, erreur, tonte terminée).

v0.3 — Contrôle avancé (selon API)

  • Planification des tontes (programmer début/fin).
  • Sélection des zones de travail / cartes.
  • Délai pluie (rain delay) et reprise auto.
  • Hauteur de coupe, verrouillage enfant, mode bordure.
  • Suivi du résultat des commandes (responseCommands) pour confirmer l'exécution.

v0.4 — Visualisation & historique

  • Widget carte : tracé de la position relative et de la zone tondue.
  • Statistiques : temps de tonte, surface cumulée, historique batterie.
  • Notifications d'erreur enrichies (code → message lisible).

v0.5 — Couverture & i18n

  • Support multi-comptes Navimow.
  • Sélection de la région cloud (Europe / US / Asie).
  • Extension des traductions et de la documentation.

Changelog bêta

0.2.9

  • Diagnostic : nouvelle option Capture MQTT brute dans la configuration du plugin. Elle enregistre tel quel chaque message reçu du cloud Navimow, dans un fichier dédié, sans basculer le démon en debug. Le script resources/mqtt_report.py en dresse l'inventaire des champs — fréquence, type, exemples — en signalant ceux que le plugin n'exploite pas encore. Objectif : identifier les champs réels de progression, de surface et de position, dont les noms ne sont pas documentés. Les commandes envoyées (REST sendCommands) et les réponses d'état sont capturées elles aussi ; jetons OAuth et identifiants MQTT y sont masqués.
  • Documentation : URLs de documentation et de changelog corrigées (hébergement Cloudflare), GitHub Pages ne pouvant pas publier un dépôt privé.

0.2.8

  • Dépendances : si aucun Python ≥ 3.11 n'est présent, le plugin tente d'abord apt-get install python3.11, puis compile Python 3.11 depuis les sources (make altinstall dans /usr/local, sans toucher au python3 du système) — Debian 11 (Bullseye) s'installe désormais sans intervention manuelle.
  • Intégrité de l'archive Python vérifiée (MD5 publié par python.org), parallélisme de compilation borné par la RAM disponible, et verrou empêchant deux installations simultanées.
  • ⏱️ Sur Debian 11 (Bullseye), la première installation des dépendances dure 20 min à 1 h (compilation de Python 3.11) contre moins d'une minute sur Debian 12 ; le Python compilé est ensuite réutilisé.

0.2.7

  • Widget : correction du lien sur le nom de la tondeuse (ajout du paramètre m=) — il ouvre désormais bien la page de configuration de l'équipement.

0.2.6

  • Dépendances : détection automatique d'un Python ≥ 3.11 installé en parallèle (ex. python3.11 sur Debian 11 où python3 = 3.9), au lieu d'échouer ; message d'erreur enrichi (Debian 11 / Debian 12).

0.2.5

  • Plugin : catégorie déplacée vers Nature.

0.2.4

  • Widget : bouton Reprendre en vert-tilleul (#9ACD32), distinct de Démarrer et de Base.

0.2.3

  • Widget : suit désormais le thème de Jeedom (mode sombre / clair) au lieu du thème du navigateur/OS.

0.2.2

  • Widget : logo du plugin dans l'en-tête (à la place de l'icône robot) et nom de la tondeuse cliquable ouvrant la configuration de l'équipement.
  • Widget : bouton de don (café) avec info-bulle opaque au premier plan ; retrait du bouton « Sync » redondant.
  • Widget : icône maison bleue pour le bouton Base et correction des icônes manquantes (compatibilité Font Awesome 5).
  • Widget : « Base » accessible en pause, jauge de batterie centrée.

0.2.1

  • Nouvelle icône de tondeuse dans le widget (image dédiée), animée pendant la tonte.

0.2.0

  • MQTT temps réel via le broker dynamique mqttHost/mqttUrl de l'API (au lieu du hostname mqtt.navimow.com non résolvable) — connexion WSS + abonnement aux topics realtime confirmés.
  • Widget dashboard auto-rafraîchi : l'affichage (statut, batterie, progression, badges, synchro) se met à jour tout seul toutes les 15 s, sans recharger la page (lecture des commandes info via jeedom.cmd.execute). Les valeurs côté serveur étaient déjà fraîches (démon MQTT + REST 30 s) ; c'est l'affichage qui ne se rafraîchissait pas.
  • Rafraîchissement automatique du token OAuth (~1 h) : refresh proactif + sur code 4005 (CODE_OAUTH_INFO_ILLEGAL), et mise à jour de l'auth MQTT sans couper la connexion.
  • Démarrage du démon robuste : bind du port avec retry, PID écrit après le bind réussi, nettoyage des instances orphelines (corrige « le démon ne démarre pas »).
  • Port du démon par défaut 55149 (évite le conflit avec jeewhatsapp).

0.1.0

  • Mise en place de l'architecture (OAuth, démon MQTT + REST, widget, i18n).
  • Correctifs : encodage OAuth x-www-form-urlencoded, en-tête requestId obligatoire, parsing data.payload.devices, batterie via capacityRemaining.
  • Ajout du bouton Rafraîchir les tondeuses.
  • Affichage de l'ID de commande sur une seule ligne.