Aller au contenu

JeeNavimow — beta version

This page describes the beta (unstable) version of JeeNavimow: features under test and the roadmap. For stable documentation, see index.md.

⚠️ The beta may contain unfinished features. Back up your Jeedom before installing it.

Beta-news

Under test (current beta)

  • Refinement of MQTT real-time: parsing Navimow state messages (position, progress, area, events) via the mower_sdk SDK.
  • More accurate "charging" detection from MQTT.
  • Robustness of MQTT reconnection and REST fallback.

Roadmap

Planned features, by priority. Items depend on what the Navimow API/MQTT actually exposes.

v0.2 — Full real-time

  • Full parsing of Navimow MQTT messages (Thing status / properties / events) via mower_sdk.
  • Live mowing progress, mowed area and relative position (X/Y).
  • Reliable "charging" state.
  • Jeedom events triggered on state changes (returning, error, mowing finished).

v0.3 — Advanced control (API-dependent)

  • Mowing scheduling (program start/end).
  • Work zone / map selection.
  • Rain delay and auto-resume.
  • Cutting height, child lock, edge mode.
  • Command result tracking (responseCommands) to confirm execution.

v0.4 — Visualization & history

  • Map widget: relative position and mowed area trace.
  • Statistics: mowing time, cumulative area, battery history.
  • Richer error notifications (code → readable message).

v0.5 — Coverage & i18n

  • Multi-account support.
  • Cloud region selection (Europe / US / Asia).
  • Extended translations and documentation.

Beta changelog

0.2.9

  • Diagnostics: new Raw MQTT capture option in the plugin configuration. It records every message received from the Navimow cloud verbatim, in a dedicated file, without switching the daemon to debug. The resources/mqtt_report.py script inventories the fields — frequency, type, samples — flagging those the plugin does not use yet. Purpose: identify the real progress, area and position fields, whose names are undocumented. Outgoing commands (REST sendCommands) and status responses are captured too; OAuth tokens and MQTT credentials are redacted.
  • Documentation: documentation and changelog URLs fixed (Cloudflare hosting), as GitHub Pages cannot publish a private repository.

0.2.8

  • Dependencies: when no Python ≥ 3.11 is available, the plugin first tries apt-get install python3.11, then builds Python 3.11 from source (make altinstall into /usr/local, leaving the system python3 untouched) — Debian 11 (Bullseye) now installs with no manual step.
  • Python tarball integrity verified (MD5 published by python.org), build parallelism capped by available RAM, and a lock preventing two concurrent installs.
  • ⏱️ On Debian 11 (Bullseye), the first dependency installation takes 20 min to 1 h (Python 3.11 build) versus under a minute on Debian 12; the compiled Python is reused afterwards.

0.2.7

  • Widget: fixed the link on the mower name (added the m= parameter) — it now correctly opens the equipment configuration page.

0.2.6

  • Dependencies: automatic detection of a Python ≥ 3.11 installed alongside the system one (e.g. python3.11 on Debian 11 where python3 = 3.9) instead of failing; clearer error message (Debian 11 / Debian 12).

0.2.5

  • Plugin: category moved to Nature.

0.2.4

  • Widget: Resume button in yellow-green (#9ACD32), distinct from Start and Base.

0.2.3

  • Widget: now follows the Jeedom theme (dark / light mode) instead of the browser/OS theme.

0.2.2

  • Widget: plugin logo in the header (instead of the robot icon) and clickable mower name opening the equipment configuration.
  • Widget: donation button (coffee) with an opaque front tooltip; removed the redundant "Sync" button.
  • Widget: blue home icon for the Base button and fixed missing icons (Font Awesome 5 compatibility).
  • Widget: "Base" available while paused, centered battery gauge.

0.2.1

  • New mower icon in the widget (dedicated image), animated while mowing.

0.2.0

  • Real-time MQTT through the dynamic mqttHost/mqttUrl broker returned by the API (instead of the unresolvable mqtt.navimow.com hostname) — WSS connection + realtime topic subscriptions confirmed.
  • Automatic OAuth token refresh (~1 h): proactive refresh + on code 4005 (CODE_OAUTH_INFO_ILLEGAL), MQTT auth updated without dropping the connection.
  • Robust daemon startup: port bind with retry, PID written after successful bind, orphan instance cleanup (fixes "the daemon does not start").
  • Auto-refreshing widget: the dashboard and mobile widgets now update themselves every 15 s without reloading the page.
  • Default daemon port 55149 (avoids conflict with jeewhatsapp).

0.1.0

  • Architecture set up (OAuth, MQTT + REST daemon, widget, i18n).
  • Fixes: OAuth x-www-form-urlencoded encoding, required requestId header, data.payload.devices parsing, battery via capacityRemaining.
  • Added the Refresh mowers button.
  • Command ID displayed on a single line.