Skip to content

Operational

RESTART · CLOCK · ADVERTS · OTA · ERASE

Commands that make the node do something rather than change a setting: restart, power off, set the clock, send an advert, start a firmware update and erase the file system. None of these commands has a default value.

[!NOTE] Source. This page was verified against the firmware itself: MeshCore v1.16.0, commit 03b6ef4, 28 July 2026 — files src/helpers/CommonCLI.cpp, src/MeshCore.h, src/helpers/ESP32Board.cpp, src/helpers/NRF52Board.cpp, and the official docs/cli_commands.md. Line numbers refer to this commit and can be reproduced with tools/cli-commands.py.

Overview

The markers in the Role column are explained in the CLI reference. An empty cell means: works on repeater, room server and sensor.

Command Role Default Serial only Source
reboot CommonCLI.cpp r.218
poweroff / shutdown CommonCLI.cpp r.216
clkreboot CommonCLI.cpp r.220
clock CommonCLI.cpp r.246
clock sync CommonCLI.cpp r.232
time <epoch_seconds> CommonCLI.cpp r.250
advert CommonCLI.cpp r.228
advert.zerohop CommonCLI.cpp r.224
start ota CommonCLI.cpp r.242
erase yes CommonCLI.cpp r.302

Commands

reboot

Restarts the node immediately. There is no reply, because _board->reboot() does not return.

Example:

reboot

poweroff / shutdown

Powers the node off. Both names do the same. Again there is no reply.

Example:

poweroff

clkreboot

Sets the clock to 1715770351 (15 May 2024, 10:52:31 UTC) and restarts. This is the way out when the clock is in the future: time and clock sync refuse a time earlier than the current one. No reply.

Example:

clkreboot

clock

Shows the current time in UTC, in the form hh:mm - d/m/yyyy UTC.

Example (clock at 1785412800):

clock
  -> 12:00 - 30/7/2026 UTC

clock sync

Sets the clock to the sender's time plus one second, but only if that is later than the node's own clock. On the serial console the sender time is always 0, so there the command always fails. It only works remotely, from an app.

Example:

clock sync
  -> ERR: clock cannot go backwards

Remotely, with sender time 1785412800 and a clock that runs behind, the reply is OK - clock set: 12:00 - 30/7/2026 UTC.

time

Sets the clock to a Unix time, but only forwards. A time that is not later than the current one gives (ERR: clock cannot go backwards) — with parentheses, unlike clock sync.

Example:

time 1785412800
  -> OK - clock set: 12:00 - 30/7/2026 UTC

Sends a flood advert, 1500 ms after the reply so that the reply goes out first. The comparison only looks at the first six characters; advert.zerohop is therefore caught earlier.

Example:

advert
  -> OK - Advert sent

advert.zerohop

Sends a zero-hop advert, for direct neighbours only, also after 1500 ms.

Example:

advert.zerohop
  -> OK - zerohop advert sent

start ota

Starts an over-the-air firmware update. What happens depends on the board. On ESP32 a repeater or room server starts a WiFi access point MeshCore-OTA and replies Started: http://<address>/update (ESP32Board.cpp r.13–16), unless the build sets DISABLE_WIFI_OTA. On nRF52 BLE DFU starts and the reply is OK - mac: followed by the BLE address (NRF52Board.cpp r.319–362). Other boards do not support it (MeshCore.h r.66) and reply Error.

Example (board without OTA):

start ota
  -> Error

erase

Formats the file system. Serial console only.

Example:

erase
  -> File system erase: OK

[!WARNING] This erases everything the node has stored, including settings, regions and the ACL. There is no confirmation.

Sources

Translated from Dutch by Anthropic Claude