diff --git a/MQTT_IMPLEMENTATION.md b/MQTT_IMPLEMENTATION.md index 72fdbfc0..7922f93f 100644 --- a/MQTT_IMPLEMENTATION.md +++ b/MQTT_IMPLEMENTATION.md @@ -529,7 +529,8 @@ These settings apply across all MQTT slots: - `get mqtt.neighbors` - Get periodic neighbors publishing setting (on/off; neighbors-enabled builds) - `get mqtt.neighbors.interval` - Get neighbors publish interval in hours (neighbors-enabled builds) - `get mqtt.ntp` - Get effective NTP server hostname -- `get mqtt.ntp.diag` - Probe every configured NTP server for connectivity (does not change the clock; serial console shows each server's reported time, or why a probe was rejected — `DNS failed`, `unsolicited reply`, `server unsynced`, ... — and LoRa shows a compact ` ok|fail` list) +- `get mqtt.runtime` - Read worker sample age, configuration revisions, and SDK event overflow count. +- `get mqtt.ntp.diag` - Queue a probe and return immediately; repeat for its ID/age/result (cached for 30 seconds). Probe every configured NTP server for connectivity (does not change the clock; serial console shows each server's reported time, or why a probe was rejected — `DNS failed`, `unsolicited reply`, `server unsynced`, ... — and LoRa shows a compact ` ok|fail` list) - `get mqtt.owner` - Get owner public key (serial console only) - `get mqtt.email` - Get owner email address (serial console only) diff --git a/docs/cli_commands.md b/docs/cli_commands.md index 5001f699..b2873ed3 100644 --- a/docs/cli_commands.md +++ b/docs/cli_commands.md @@ -1279,12 +1279,14 @@ region save **Usage:** - `get mqtt.ntp.diag` -**Description:** Probes every configured NTP server (the custom primary, if set, plus the built-in fallbacks) and reports whether each responds. This is a pure connectivity diagnostic — it does **not** change the system clock. +**Description:** Queues a probe of every configured NTP server and returns immediately. Repeat the command to poll. Completed results include the request ID and age and are cached for 30 seconds; a later call queues a new probe. This diagnostic does **not** change the system clock. - **Serial console:** prints a detailed table with each server's reported UTC time (or `FAIL`). - **Over LoRa:** returns a compact ` ok|fail` list, one per line. -Requires WiFi connected and the MQTT bridge running. +Requires a connected network and the MQTT bridge running. + +`get mqtt.runtime` reports the worker sample sequence and age, desired/applied configuration revisions, and lost SDK event count. Applied configuration does not imply a successful broker connection. --- @@ -1374,3 +1376,7 @@ Ethernet support is available on RAK4631 boards with a RAK13800 (W5100S) Etherne - Connect with any TCP client (e.g. `nc`, PuTTY) to access the same CLI available over serial. --- + +### Observer OTA checks + +`ota check` queues a manifest check and returns immediately. Repeat it for the result, which is cached for 60 seconds and includes an ID and age. If `ota update` returns a queued/running check, repeat `ota update` after the check finishes to request flashing. A pending check never starts an update. Actual updates retain the deferred bridge-stop barrier and revalidate the manifest before flashing. diff --git a/webui/index.html b/webui/index.html index daac4f52..a1d608bf 100644 --- a/webui/index.html +++ b/webui/index.html @@ -1506,7 +1506,7 @@ var CLI_VERBS=[ ["powersaving off","Disable power saving"], ["password ","Change the admin password {new-password}"], ["alert test","Send a test alert on the configured channel"], - ["ota check","Check for a newer build (does not flash)"], + ["ota check","Queue update check; repeat for result (does not flash)"], ["ota update","Download and flash the newer build, then reboot"], // `start ota` is absent: it binds port 80, which this portal is already using. ["start webconfig","Start this portal on the LAN"], @@ -1577,7 +1577,7 @@ var CLI_KEYS=[ ["mqtt.owner","Owner public key {64-hex-char-key}",0], ["mqtt.email","Owner email address",0], ["mqtt.ntp","NTP server (none clears it)",0], - ["mqtt.ntp.diag","Last NTP sync result",1], + ["mqtt.ntp.diag","Queue NTP probe; repeat for result and age",1], ["timezone","POSIX timezone string",0], ["timezone.offset","UTC offset in hours {-12 to 14}",0], ["snmp","SNMP agent (restart required)",0,"on|off"],