CLI Command Availability Matrix
This page is the command-by-command companion to CLI Availability by Firmware Build. Each command name links to its detailed documentation.
The tables cover the text administration CLI used by repeater, room-server, sensor, and bridge firmware. Companion firmware uses the companion protocol, KISS firmware uses framed KISS/TNC commands, and terminal-chat firmware has its own interface, so those build roles are not represented here.
Build columns mean:
- Standard - the ordinary non-MQTT artifact, without an explicit
otafilename marker. Safe plaintext-USB roles embed runtime USB logging. - Logging - the legacy
-logging-profile, now represented by the same ordinary artifact and retained as a comparison column only. - LoRa OTA - the explicit
-ota-repeater or repeater-bridge artifact. A legacyno_external_sensorsprofile trims selected optional environmental and ranging drivers; it does not disable the generic I2C bus or unrelated board-integrated peripherals. Reduced RAK3401 and RAK4631 profiles retain INA219/INA226/INA260/INA3221 as voltage/current entries in the optional sensor table. The SSD1306 OLED, supported autodiscovered RTCs, and RAK12500 GPS are separate I2C peripherals in compatible recipes. RAK12501/L76K GPS instead uses UART Serial1. The plain RAK profiles and RAK4631 Serial2 bridge retain the combined GPS provider; the explicit RAK4631 Serial1 bridge omits that provider, including RAK12500, because the bridge owns the RAK12501 UART. - FULL unified - the expanded-partition ESP32 artifact with LoRa OTA, the complete parser, USB packet logging, and direct WiFi MQTT. Its saved output mode can be off, USB, WiFi, or both. MQTT observers use this profile.
- FULL fallback - the expanded-partition ESP32 non-MQTT artifact used only where there is no MQTT sibling. It has the complete parser and a saved USB-logging on/off gate. ESP-NOW bridges use this profile.
The firmware-configured INA3221 and RAK12500 addresses are both 0x42; they
cannot coexist on one bus at those addresses. Leave RAK12500 at 0x42, strap
INA3221 A0 to SCL for 0x43, and use a build with
-DTELEM_INA3221_ADDRESS=0x43 when both are installed.
Cell values mean:
- Yes - the parser includes the command. The Scope column still applies.
- No - the profile does not expose the command.
- Feature - available only when the target compiles the feature or hardware named in Scope.
- Serial - available only from the local serial console.
- Manifest - available only when the MQTT target defines
OTA_MANIFEST_BASE. - Limited - the family exists, but the limitation in Scope applies.
Runtime state can still make an included command fail. Examples include no GPS
fix, no WiFi connection, an inactive bridge, or an nRF52 bootloader without
.mota apply support.
Companion framed CLI
Companion builds are not represented by the role/profile matrices below. Their
local terminal and command 0x42 (CMD_RUN_CLI_COMMAND) expose these settings
over the normal binary USB, BLE, or TCP connection:
| Command | Availability |
|---|---|
board |
Every Companion text terminal and command 0x42 |
version |
Every Companion text terminal and protocol-v14 command 0x42; returns the untruncated build identity |
memory |
ESP32 Full Companion text terminal and command 0x42 |
get/set radio.rxgain |
Companion with a supported radio |
get/set radio.fem.rxgain |
Companion on a board with controllable LoRa FEM LNA |
get/set wifi.powersave |
ESP32 WiFi Companion; active transport constraints still apply |
get/set bluetooth.name |
Companion firmware |
Deprecated binary aliases remain receive-only for older clients; new clients
should use command 0x42. See Companion radio binary protocol.
nRF52
| Area | Command | Scope | Standard | Logging | LoRa OTA |
|---|---|---|---|---|---|
| Operational | reboot |
All text CLI roles | Yes | Yes | Yes |
| Operational | poweroff; shutdown |
Board power-off support | Yes | Yes | Yes |
| Operational | uf2reset |
Local serial; supported UF2 boards | Serial | Serial | Serial |
| Operational | clkreboot |
All text CLI roles | Yes | Yes | Yes |
| Operational | clock sync |
All text CLI roles | Yes | Yes | Yes |
| Operational | clock |
All text CLI roles | Yes | Yes | Yes |
| Operational | time <epoch_seconds> |
Clock only moves forward | Yes | Yes | Yes |
| Operational | advert |
Advert-capable role | Yes | Yes | Yes |
| Operational | advert.zerohop |
Advert-capable role | Yes | Yes | Yes |
| Operational | erase |
Local serial | Serial | Serial | Serial |
| Information | ver |
All text CLI roles | Yes | Yes | Yes |
| Information | board |
All text CLI roles | Yes | Yes | Yes |
| Diagnostics | get storage.layout |
Internal layout and configured QSPI or SD storage | Yes | Yes | Yes |
| Diagnostics | memory |
ESP32 only | No | No | No |
| Diagnostics | sensor |
Hardware wiring summary | Yes | Yes | Yes |
| Diagnostics | powerlog |
Reset, shutdown, and boot-voltage summary | Yes | Yes | Yes |
| Neighbors | neighbors |
Role with a neighbor table | Yes | Yes | Yes |
| Neighbors | neighbor.remove <pubkey_prefix> |
Role with a mutable neighbor table | Yes | Yes | Yes |
| Neighbors | discover.neighbors |
Repeater; some MQTT room servers | Yes | Yes | Yes |
| Neighbors | discover.scopes |
MQTT observer with compiled neighbor support | No | No | No |
| Statistics | clear stats |
All full-parser text CLI roles | Yes | Yes | Yes |
| Statistics | stats-core |
Local serial | Serial | Serial | Serial |
| Statistics | stats-radio |
Local serial | Serial | Serial | Serial |
| Statistics | stats-radio-diag |
Local serial | Serial | Serial | Serial |
| Statistics | stats-packets |
Local serial | Serial | Serial | Serial |
| Statistics | get telemetry.temp/volt/volt.i2c; optional GPS history |
Non-STM32 repeater or room server; I2C command requires a detected voltage monitor; GPS requires a provider; remote access requires administrator | Yes | Yes | Yes |
| Statistics | set telemetry.gps; get/set/send telemetry.tx |
Non-STM32 repeater; GPS setting requires a provider; remote access requires administrator | Yes | Yes | Yes |
| Logging | log start; log stop; log erase |
Storage-backed roles retain data; other roles can return empty data | Yes | Yes | Yes |
| Logging | log |
Local serial | Serial | Serial | Serial |
| Logging | get/set usb.logging; unified FULL get/set logging.output |
Ordinary safe-USB artifacts; CommonCLI USB gate is persistent; unified ESP32 FULL selects off/USB/WiFi/both; nRF52 Full Companion can add a reboot-controlled second CDC | Yes | Yes | No |
| Radio | get radio; set radio ... |
All text CLI roles | Yes | Yes | Yes |
| Radio | get tx; set tx <dbm> |
Board TX-power limits apply | Yes | Yes | Yes |
| Radio | tempradio ...; normalradio |
Full parser | Yes | Yes | Yes |
| Radio | get/set/del radioat; get/set/del tempradioat |
Full parser | Yes | Yes | Yes |
| Radio | get freq; set freq <mhz> |
set is local serial only |
Yes | Yes | Yes |
| Radio | get/set radio.rxgain |
Supported radio | Feature | Feature | Feature |
| Radio | get/set radio.fem.rxgain |
Controllable LoRa FEM | Feature | Feature | Feature |
| Radio | get/set radio.fem.txgain |
Controllable LoRa FEM | Feature | Feature | Feature |
| Radio | get/set radio.rxps; get rxps.wd |
RX power-saving support | Feature | Feature | Feature |
| System | get/set name |
All text CLI roles | Yes | Yes | Yes |
| System | get/set lat |
All text CLI roles | Yes | Yes | Yes |
| System | get/set lon |
All text CLI roles | Yes | Yes | Yes |
| System | get/set prv.key |
get is local serial only |
Yes | Yes | Yes |
| System | password <new_password> |
Administrator | Yes | Yes | Yes |
| System | get/set guest.password |
Role with guest administration | Yes | Yes | Yes |
| System | get/set owner.info |
All text CLI roles | Yes | Yes | Yes |
| System | get/set adc.multiplier |
Board ADC override support | Feature | Feature | Feature |
| System | send text.flood <message> |
Repeater | Yes | Yes | Yes |
| System | host <text>; get host |
Repeater with host bridge; host requires a remote administrator and a USB/MQTT service |
Yes | Yes | Yes |
| System | get/set battery.alert; get battery.alert.region |
Repeater | Yes | Yes | Yes |
| System | get/set battery.alert.low; get/set battery.alert.critical |
Repeater | Yes | Yes | Yes |
| System | get/set rx.watchdog |
Repeater | Yes | Yes | Yes |
| System | get/set system.watchdog |
nRF52 | Yes | Yes | Yes |
| System | get public.key |
All text CLI roles | Yes | Yes | Yes |
| System | get role |
All text CLI roles | Yes | Yes | Yes |
| System | powersaving; powersaving on/off |
Supported repeater board | Feature | Feature | Feature |
| System | get/set reboot.interval |
Full parser | Yes | Yes | Yes |
| Clock sync | get/set clock.sync.*; clock.sync.mesh now |
Repeater, sensor, and room server; clock.sync.internet needs MQTT repeater |
Yes | Yes | Yes |
| Routing | get/set repeat |
Forwarding-capable role | Yes | Yes | Yes |
| Routing | get/set path.hash.mode |
Role that supports path-hash selection | Yes | Yes | Yes |
| Routing | get/set loop.detect |
Repeater | Yes | Yes | Yes |
| Routing | get/set txdelay |
All text CLI roles, including bridges | Yes | Yes | Yes |
| Routing | get/set direct.txdelay |
Full parser | Yes | Yes | Yes |
| Routing | get/set rxdelay |
All text CLI roles, including bridges | Yes | Yes | Yes |
| Routing | get/set dutycycle |
Full parser | Yes | Yes | Yes |
| Routing | get/set af |
Full parser | Yes | Yes | Yes |
| Routing | get/set int.thresh |
All text CLI roles | Yes | Yes | Yes |
| Routing | get/set cad |
Radio CAD support | Feature | Feature | Feature |
| Routing | get/set agc.reset.interval |
All text CLI roles | Yes | Yes | Yes |
| Routing | get/set radio.watchdog |
MQTT observer | No | No | No |
| Routing | get/set multi.acks |
Full parser | Yes | Yes | Yes |
| Routing | get/set flood.advert.interval |
Repeater | Yes | Yes | Yes |
| Routing | get/set advert.interval |
Advert-capable role | Yes | Yes | Yes |
| Routing | get/set flood.max |
Repeater | Yes | Yes | Yes |
| Routing | get/set flood.max.unscoped |
Repeater | Yes | Yes | Yes |
| Routing | get/set flood.max.advert |
Repeater | Yes | Yes | Yes |
| Routing | get/set flood.channel.data; get/set flood.channel.data.hops |
Repeater | Yes | Yes | Yes |
| Routing | get/set/del flood.channel.scope* |
Repeater | Yes | Yes | Yes |
| Routing | get/set/del flood.channel.scope.require* |
Repeater | Yes | Yes | Yes |
| Routing | get/set/del flood.rule*; get/set/del flood.filter*; get/set/del flood.filter.blacklist* |
Repeater; flood.rule/flood.filter also on FULL ESP32 room server (no blacklist) |
Yes | Yes | Yes |
| Routing | get/set/del flood.moderation* |
Repeater | Yes | Yes | Yes |
| Routing | get/set outpath |
Repeater remote-client context | Yes | Yes | Yes |
| Routing | get/set altpath |
Repeater remote-client context | Yes | Yes | Yes |
| ACL | setperm <pubkey> <permissions> |
Repeater, room server, or sensor | Yes | Yes | Yes |
| ACL | get acl |
Local serial | Serial | Serial | Serial |
| ACL | get/set allow.read.only |
Room server | Yes | Yes | No |
| Regions | region load; region save |
Role with region storage | Yes | Yes | Yes |
| Regions | region allowf; region denyf |
Role with region storage | Yes | Yes | Yes |
| Regions | region get; region list; region |
Role with region storage | Yes | Yes | Yes |
| Regions | region home; region default |
Role with region storage | Yes | Yes | Yes |
| Regions | region put; region def; region remove |
Role with region storage | Yes | Yes | Yes |
| Retry | get/set direct.retry; get/set direct.retry.heard |
Role with basic retry support | Yes | Yes | Yes |
| Retry | get/set retry.preset |
Role with retry support | Yes | Yes | Yes |
| Retry | get/set flood.retry.count; get/set flood.retry.path; get/set flood.retry.group.path |
Repeater | Yes | Yes | Yes |
| Retry | get/set flood.retry.advert; get/set flood.retry.prefixes; get/set flood.retry.ignore |
Repeater | Yes | Yes | Yes |
| Retry | get/set flood.retry.bridge; get/set flood.retry.bucket |
Repeater bridge retry support | Feature | Feature | Feature |
| Retry | get/set direct.retry.count; get/set direct.retry.base; get/set direct.retry.step |
Role with retry support | Yes | Yes | Yes |
| Retry | get/set direct.retry.margin; get/set direct.retry.cr |
Role with retry support | Yes | Yes | Yes |
| Retry | get/set/clear recent.repeater; get recent.repeaters |
Repeater | Yes | Yes | Yes |
| GPS | gps; gps on/off |
Compiled GPS | Feature | Feature | Feature |
| GPS | gps sync |
Compiled GPS | Feature | Feature | Feature |
| GPS | gps setloc |
Compiled GPS | Feature | Feature | Feature |
| GPS | gps advert [none/share/prefs] |
Compiled GPS | Feature | Feature | Feature |
| Sensors | get/set telemetry.access |
Sensor-capable role | Feature | Feature | Limited |
| Sensors | sensor list [start] |
Compiled sensor manager; reduced OTA trims target-selected optional environmental/ranging drivers | Feature | Feature | Limited |
| Sensors | sensor get; sensor set |
Compiled sensor setting; reduced OTA trims target-selected optional environmental/ranging drivers | Feature | Feature | Limited |
| Sensors | io [r/s/t]<hex> |
Simple sensor role with board GPIO support | Feature | Feature | No |
| Bridge | get bridge.type |
Compiled bridge | Feature | Feature | Feature |
| Bridge | get/set bridge.enabled; get bridge.running |
Compiled bridge | Feature | Feature | Feature |
| Bridge | get/set bridge.delay |
Compiled bridge | Feature | Feature | Feature |
| Bridge | get/set bridge.source |
Compiled bridge | Feature | Feature | Feature |
| Bridge | get/set bridge.baud |
RS-232 bridge | Feature | Feature | Feature |
| Bridge | get/set bridge.uart |
RS-232 bridge | Feature | Feature | Feature |
| Bridge | get/set bridge.channel |
ESP-NOW is ESP32 only | No | No | No |
| Bridge | get/set bridge.format |
ESP-NOW bridge | No | No | No |
| Bridge | get/set bridge.secret |
ESP-NOW is ESP32 only | No | No | No |
| Board | get bootloader.ver |
nRF52 bootloader metadata | Yes | Yes | Yes |
| Board | get pwrmgt.support; get pwrmgt.source; get pwrmgt.bootreason; get pwrmgt.bootmv |
Board power-management implementation | Feature | Feature | Feature |
| Ethernet | eth.status |
Ethernet target | Feature | Feature | No |
| Browser OTA | start ota [ap]; stop ota |
ESP32 browser uploader | No | No | No |
| WebConfig | start webconfig [ap]; stop webconfig; get/set webui |
ESP32 WebConfig | No | No | No |
| WiFi | get/set wifi.ssid; set wifi.pwd; get wifi.status; get/set wifi.powersave |
ESP32 WiFi | No | No | No |
| WiFi | get/set wifi.cli |
ESP32 WebConfig | No | No | No |
| LoRa OTA | ota help; ota ?; ota h |
LoRa OTA build | No | No | Yes |
| LoRa OTA | ota; ota status; ota st |
LoRa OTA build | No | No | Yes |
| LoRa OTA | ota stats |
LoRa OTA build | No | No | Yes |
| LoRa OTA | ota ls; ota neighbors; ota nbrs; ota updates; ota n |
LoRa OTA build | No | No | Yes |
| LoRa OTA | ota get; ota pull; ota download |
LoRa OTA build; internal-store nRF52 installs in-place deltas, while matched SD/QSPI nRF52 also accepts full images | No | No | Yes |
| LoRa OTA | ota install; ota apply; ota applydelta |
Compatible bootloader and completed update | No | No | Yes |
| LoRa OTA | ota rescue install <base_hash16> |
Legacy internal-flash nRF52 LoRa OTA build with failed app-side EndF validation; shared bootloader-update builds require valid EndF | No | No | Feature |
| LoRa OTA | ota bootloader; ota bootloader install <MID8> <HASH16> |
Allowlisted internal-flash, XIAO-QSPI, or exact MeshTower V2 microSD nRF52 repeater with ABI-3 exact-board OTAFIX | No | No | Feature |
| LoRa OTA | ota cancel; ota drop; ota stop |
LoRa OTA build | No | No | Yes |
| LoRa OTA | ota announce; ota adv |
LoRa OTA build | No | No | Yes |
| LoRa OTA | ota self; ota id |
Firmware with EndF trailer | No | No | Yes |
| LoRa OTA | ota qspi; ota storage |
nRF52 build with raw-QSPI OTA staging | Feature | Feature | Feature |
| LoRa OTA | ota folder; ota fold |
on needs compiled folder transport |
No | No | Feature |
| LoRa OTA | ota config; ota cfg; ota set |
LoRa OTA build | No | No | Yes |
| LoRa OTA | ota key; ota keys |
LoRa OTA build | No | No | Yes |
| LoRa OTA | ota dev ... |
Developer diagnostics | No | No | Yes |
| MQTT | get/set mqttN.preset |
MQTT observer | No | No | No |
| MQTT | get/set mqttN.server; get/set mqttN.port; get/set mqttN.username; get/set mqttN.password |
MQTT observer | No | No | No |
| MQTT | get/set mqttN.token; get/set mqttN.topic; get/set mqttN.audience |
MQTT observer | No | No | No |
| MQTT | get mqttN.diag |
MQTT observer | No | No | No |
| MQTT | get/set mqtt.origin; get/set mqtt.iata; get mqtt.presets |
MQTT observer | No | No | No |
| MQTT | get mqtt.stats |
MQTT observer | No | No | No |
| MQTT | get/set mqtt.status; get/set mqtt.packets; get/set mqtt.raw; get/set mqtt.interval |
MQTT observer | No | No | No |
| MQTT | get/set mqtt.rx; get/set mqtt.tx |
MQTT observer | No | No | No |
| MQTT | get/set mqtt.neighbors; get/set mqtt.neighbors.interval |
MQTT observer with compiled neighbor support | No | No | No |
| MQTT | get/set mqtt.ntp |
MQTT observer | No | No | No |
| MQTT | get mqtt.ntp.diag |
Full MQTT observer | No | No | No |
| MQTT | get/set timezone; get/set timezone.offset |
MQTT observer | No | No | No |
| MQTT | get/set mqtt.analyzer.us; get/set mqtt.analyzer.eu |
Legacy MQTT aliases | No | No | No |
| MQTT | get/set mqtt.owner; get/set mqtt.email |
MQTT observer; get is local serial only |
No | No | No |
| MQTT | get mqtt.config.valid |
MQTT observer | No | No | No |
| SNMP | get/set snmp; get/set snmp.community |
MQTT target compiled with SNMP | No | No | No |
| Alerts | get/set alert; get/set alert.psk; get/set alert.hashtag; get/set alert.region; get/set alert.wifi; get/set alert.mqtt; get/set alert.interval |
MQTT observer | No | No | No |
| Alerts | alert test [message] |
MQTT observer with configured alert channel | No | No | No |
| TLS | tls.bundletest <host> |
MQTT target with embedded certificate bundle | No | No | No |
| Manifest OTA | ota check |
MQTT target with OTA_MANIFEST_BASE |
No | No | No |
| Manifest OTA | ota update |
MQTT target with OTA_MANIFEST_BASE |
No | No | No |
ESP32
| Area | Command | Scope | Standard | Logging | LoRa OTA | FULL unified | FULL fallback |
|---|---|---|---|---|---|---|---|
| Operational | reboot |
All text CLI roles | Yes | Yes | Yes | Yes | Yes |
| Operational | poweroff; shutdown |
Board power-off support | Yes | Yes | Yes | Yes | Yes |
| Operational | uf2reset |
nRF52 only | No | No | No | No | No |
| Operational | clkreboot |
Full parser | Yes | Yes | Yes | Yes | Yes |
| Operational | clock sync |
All text CLI roles | Yes | Yes | Yes | Yes | Yes |
| Operational | clock |
All text CLI roles | Yes | Yes | Yes | Yes | Yes |
| Operational | time <epoch_seconds> |
Clock only moves forward | Yes | Yes | Yes | Yes | Yes |
| Operational | advert |
Advert-capable role | Yes | Yes | Yes | Yes | Yes |
| Operational | advert.zerohop |
Advert-capable role | Yes | Yes | Yes | Yes | Yes |
| Operational | erase |
Local serial | Serial | Serial | Serial | Serial | Serial |
| Display | get/set display.timeout; get/set display.flip |
MQTT observer with display; flip needs a supported driver | No | No | No | Feature | No |
| Information | ver |
All text CLI roles | Yes | Yes | Yes | Yes | Yes |
| Information | board |
All text CLI roles | Yes | Yes | Yes | Yes | Yes |
| Diagnostics | get storage.layout |
Detected flash size and live partition table | Yes | Yes | Yes | Yes | Yes |
| Diagnostics | memory |
ESP32 heap and PSRAM summary | Yes | Yes | Yes | Yes | Yes |
| Diagnostics | sensor |
Hardware wiring summary | Yes | Yes | Yes | Yes | Yes |
| Diagnostics | powerlog |
Reset-reason summary | Yes | Yes | Yes | Yes | Yes |
| Neighbors | neighbors |
Role with a neighbor table | Yes | Yes | Yes | Yes | Yes |
| Neighbors | neighbor.remove <pubkey_prefix> |
Role with a mutable neighbor table | Yes | Yes | Yes | Yes | Yes |
| Neighbors | discover.neighbors |
Repeater; some MQTT room servers | Yes | Yes | Yes | Yes | Yes |
| Neighbors | discover.scopes |
MQTT observer with compiled neighbor support | No | No | No | Feature | No |
| Statistics | clear stats |
Full parser | Yes | Yes | Yes | Yes | Yes |
| Statistics | stats-core |
Local serial | Serial | Serial | Serial | Serial | Serial |
| Statistics | stats-radio |
Local serial | Serial | Serial | Serial | Serial | Serial |
| Statistics | stats-radio-diag |
Local serial | Serial | Serial | Serial | Serial | Serial |
| Statistics | stats-packets |
Local serial | Serial | Serial | Serial | Serial | Serial |
| Statistics | get telemetry.temp/volt/volt.i2c; optional GPS history |
Non-STM32 repeater or room server; I2C command requires a detected voltage monitor; GPS requires a provider; remote access requires administrator | Yes | Yes | Yes | Yes | Yes |
| Statistics | set telemetry.gps; get/set/send telemetry.tx |
Non-STM32 repeater; GPS setting requires a provider; remote access requires administrator | Yes | Yes | Yes | Yes | Yes |
| Logging | log start; log stop; log erase |
Storage-backed roles retain data | Yes | Yes | Yes | Yes | Yes |
| Logging | log |
Local serial | Serial | Serial | Serial | Serial | Serial |
| Logging | get/set usb.logging; unified FULL get/set logging.output |
Ordinary safe-USB artifacts; CommonCLI USB gate is persistent; unified ESP32 FULL selects off/USB/WiFi/both; every ESP32 Full Companion uses an input-capable single-TTY logging terminal with framed USB Companion disabled while logging | Yes | Yes | No | No | Yes |
| Radio | get radio; set radio ... |
All text CLI roles | Yes | Yes | Yes | Yes | Yes |
| Radio | get tx; set tx <dbm> |
Board TX-power limits apply | Yes | Yes | Yes | Yes | Yes |
| Radio | tempradio ...; normalradio |
Full parser | Yes | Yes | Yes | Yes | Yes |
| Radio | get/set/del radioat; get/set/del tempradioat |
Full parser | Yes | Yes | Yes | Yes | Yes |
| Radio | get freq; set freq <mhz> |
set is local serial only |
Yes | Yes | Yes | Yes | Yes |
| Radio | get/set radio.rxgain |
Supported radio | Feature | Feature | Feature | Feature | Feature |
| Radio | get/set espnow.channel |
Primary ESP-NOW mesh radio | Feature | Feature | Feature | Feature | Feature |
| Radio | get/set radio.fem.rxgain |
Controllable LoRa FEM | Feature | Feature | Feature | Feature | Feature |
| Radio | get/set radio.fem.txgain |
Controllable LoRa FEM | Feature | Feature | Feature | Feature | Feature |
| Radio | get/set radio.rxps; get rxps.wd |
Full parser and RX power-saving support | Feature | Feature | Feature | Feature | Feature |
| System | get/set name |
All full-parser text CLI roles | Yes | Yes | Yes | Yes | Yes |
| System | get/set lat |
All full-parser text CLI roles | Yes | Yes | Yes | Yes | Yes |
| System | get/set lon |
All full-parser text CLI roles | Yes | Yes | Yes | Yes | Yes |
| System | get/set prv.key |
get is local serial only |
Yes | Yes | Yes | Yes | Yes |
| System | password <new_password> |
Administrator | Yes | Yes | Yes | Yes | Yes |
| System | get/set guest.password |
Role with guest administration | Yes | Yes | Yes | Yes | Yes |
| System | get/set owner.info |
Full parser | Yes | Yes | Yes | Yes | Yes |
| System | get/set adc.multiplier |
Board ADC override support | Feature | Feature | Feature | Feature | Feature |
| System | send text.flood <message> |
Repeater | Yes | Yes | Yes | Yes | Yes |
| System | host <text>; get host |
Repeater with host bridge; host requires a remote administrator and a USB/MQTT service |
Yes | Yes | Yes | Yes | Yes |
| System | get/set battery.alert; get battery.alert.region |
Repeater | Yes | Yes | Yes | Yes | Yes |
| System | get/set battery.alert.low; get/set battery.alert.critical |
Repeater | Yes | Yes | Yes | Yes | Yes |
| System | get/set rx.watchdog |
Repeater | Yes | Yes | Yes | Yes | Yes |
| System | get/set system.watchdog |
nRF52 only | No | No | No | No | No |
| System | get public.key |
Full parser | Yes | Yes | Yes | Yes | Yes |
| System | get role |
All text CLI roles | Yes | Yes | Yes | Yes | Yes |
| System | powersaving; powersaving on/off |
Supported repeater board | Feature | Feature | Feature | Feature | Feature |
| System | get/set reboot.interval |
Full parser | Yes | Yes | Yes | Yes | Yes |
| Clock sync | get/set clock.sync.*; clock.sync.mesh now |
Repeater, sensor, and room server; clock.sync.internet needs MQTT repeater |
Yes | Yes | Yes | Yes | Yes |
| Routing | get/set repeat |
Forwarding-capable role | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set path.hash.mode |
Full parser | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set loop.detect |
Repeater, full common parser | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set txdelay |
All text CLI roles, including bridges | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set direct.txdelay |
Full parser | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set rxdelay |
All text CLI roles, including bridges | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set dutycycle |
Full parser | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set af |
Full parser | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set int.thresh |
All text CLI roles | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set cad |
Radio CAD support | Feature | Feature | Feature | Feature | Feature |
| Routing | get/set agc.reset.interval |
All text CLI roles | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set radio.watchdog |
MQTT observer | No | No | No | Yes | No |
| Routing | get/set multi.acks |
Full parser | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set flood.advert.interval |
Repeater, full common parser | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set advert.interval |
Full common parser | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set flood.max |
Repeater, full common parser | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set flood.max.unscoped |
Repeater, full common parser | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set flood.max.advert |
Repeater, full common parser | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set flood.channel.data; get/set flood.channel.data.hops |
Repeater, full common parser | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set/del flood.channel.scope* |
Repeater role handler | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set/del flood.channel.scope.require* |
Repeater role handler | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set/del flood.rule*; get/set/del flood.filter*; get/set/del flood.filter.blacklist* |
Repeater role handler; flood.rule/flood.filter also on FULL ESP32 room server (no blacklist) |
Yes | Yes | Yes | Yes | Yes |
| Routing | get/set/del flood.moderation* |
Repeater role handler | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set outpath |
Repeater remote-client context | Yes | Yes | Yes | Yes | Yes |
| Routing | get/set altpath |
Repeater remote-client context | Yes | Yes | Yes | Yes | Yes |
| ACL | setperm <pubkey> <permissions> |
Repeater, room server, or sensor | Yes | Yes | Yes | Yes | Yes |
| ACL | get acl |
Local serial | Serial | Serial | Serial | Serial | Serial |
| ACL | get/set allow.read.only |
Room server | Yes | Yes | No | Yes | Yes |
| Regions | region load; region save |
Role with region storage | Yes | Yes | Yes | Yes | Yes |
| Regions | region allowf; region denyf |
Role with region storage | Yes | Yes | Yes | Yes | Yes |
| Regions | region get; region list; region |
Role with region storage | Yes | Yes | Yes | Yes | Yes |
| Regions | region home; region default |
Role with region storage | Yes | Yes | Yes | Yes | Yes |
| Regions | region put; region def; region remove |
Role with region storage | Yes | Yes | Yes | Yes | Yes |
| Retry | get/set direct.retry; get/set direct.retry.heard |
Role with basic retry support | Yes | Yes | Yes | Yes | Yes |
| Retry | get/set retry.preset |
Role with retry support | Yes | Yes | Yes | Yes | Yes |
| Retry | get/set flood.retry.count; get/set flood.retry.path; get/set flood.retry.group.path |
Repeater | Yes | Yes | Yes | Yes | Yes |
| Retry | get/set flood.retry.advert; get/set flood.retry.prefixes; get/set flood.retry.ignore |
Repeater | Yes | Yes | Yes | Yes | Yes |
| Retry | get/set flood.retry.bridge; get/set flood.retry.bucket |
Repeater bridge retry support | Feature | Feature | Feature | Feature | Feature |
| Retry | get/set direct.retry.count; get/set direct.retry.base; get/set direct.retry.step |
Role with retry support | Yes | Yes | Yes | Yes | Yes |
| Retry | get/set direct.retry.margin; get/set direct.retry.cr |
Role with retry support | Yes | Yes | Yes | Yes | Yes |
| Retry | get/set/clear recent.repeater; get recent.repeaters |
Repeater | Yes | Yes | Yes | Yes | Yes |
| GPS | gps; gps on/off |
Compiled onboard GPS | Feature | Feature | Feature | Feature | Feature |
| GPS | gps sync |
Compiled onboard GPS | Feature | Feature | Feature | Feature | Feature |
| GPS | gps setloc |
Compiled onboard GPS | Feature | Feature | Feature | Feature | Feature |
| GPS | gps advert [none/share/prefs] |
Compiled onboard GPS | Feature | Feature | Feature | Feature | Feature |
| Sensors | get/set telemetry.access |
Sensor-capable full parser | Feature | Feature | Limited | Feature | Feature |
| Sensors | sensor list [start] |
Compiled sensor manager; no_external_sensors trims target-selected environmental/ranging drivers, not generic I2C |
Feature | Feature | Limited | Feature | Feature |
| Sensors | sensor get; sensor set |
Compiled sensor setting; no_external_sensors trims target-selected environmental/ranging drivers, not generic I2C |
Feature | Feature | Limited | Feature | Feature |
| Sensors | io [r/s/t]<hex> |
Simple sensor role with board GPIO support | Feature | Feature | No | No | Feature |
| Bridge | get bridge.type |
Compiled bridge | Feature | Feature | Feature | Yes | Feature |
| Bridge | get/set bridge.enabled; get bridge.running |
Compiled bridge | Feature | Feature | Feature | Yes | Feature |
| Bridge | get/set bridge.delay |
Compiled bridge | Feature | Feature | Feature | Yes | Feature |
| Bridge | get/set bridge.source |
Compiled bridge | Feature | Feature | Feature | Yes | Feature |
| Bridge | get/set bridge.baud |
RS-232 bridge | Feature | Feature | Feature | No | Feature |
| Bridge | get/set bridge.uart |
RS-232 bridge | Feature | Feature | Feature | No | Feature |
| Bridge | get/set bridge.channel |
ESP-NOW bridge | No | No | No | Feature | Feature |
| Bridge | get/set bridge.format |
ESP-NOW bridge | No | No | No | Feature | Feature |
| Bridge | get/set bridge.secret |
ESP-NOW bridge | No | No | No | Feature | Feature |
| Board | get bootloader.ver |
nRF52 only | No | No | No | No | No |
| Board | get pwrmgt.support; get pwrmgt.source; get pwrmgt.bootreason; get pwrmgt.bootmv |
nRF52 only | No | No | No | No | No |
| Ethernet | eth.status |
Ethernet target | Feature | Feature | No | No | Feature |
| Browser OTA | start ota [ap]; stop ota |
Compiled browser uploader | No | No | Yes | Feature | Feature |
| WebConfig | start webconfig [ap]; stop webconfig; get/set webui |
Compiled WebConfig | No | No | No | Feature | Feature |
| WiFi | get/set wifi.ssid; set wifi.pwd; get wifi.status; get/set wifi.powersave |
MQTT WiFi, or standalone FULL WebConfig; standalone has no get wifi.pwd |
No | No | No | Yes | Feature |
| WiFi | get/set wifi.cli |
Compiled WebConfig | No | No | No | Feature | Feature |
| LoRa OTA | ota help; ota ?; ota h |
LoRa OTA build | No | No | Yes | Yes | Yes |
| LoRa OTA | ota; ota status; ota st |
LoRa OTA build | No | No | Yes | Yes | Yes |
| LoRa OTA | ota stats |
LoRa OTA build | No | No | Yes | Yes | Yes |
| LoRa OTA | ota ls; ota neighbors; ota nbrs; ota updates; ota n |
LoRa OTA build | No | No | Yes | Yes | Yes |
| LoRa OTA | ota get; ota pull; ota download |
LoRa OTA build | No | No | Yes | Yes | Yes |
| LoRa OTA | ota install; ota apply; ota applydelta |
Compatible completed update | No | No | Yes | Yes | Yes |
| LoRa OTA | ota rescue install <base_hash16> |
Legacy internal-flash nRF52 LoRa OTA build with failed app-side EndF validation; shared bootloader-update builds require valid EndF | No | No | Feature | No | No |
| LoRa OTA | ota bootloader; ota bootloader install <MID8> <HASH16> |
Allowlisted nRF52 internal/QSPI repeater feature | No | No | No | No | No |
| LoRa OTA | ota cancel; ota drop; ota stop |
LoRa OTA build | No | No | Yes | Yes | Yes |
| LoRa OTA | ota announce; ota adv |
LoRa OTA build | No | No | Yes | Yes | Yes |
| LoRa OTA | ota self; ota id |
Firmware with EndF trailer | No | No | Yes | Yes | Yes |
| LoRa OTA | ota qspi; ota storage |
nRF52 build with raw-QSPI OTA staging | No | No | No | No | No |
| LoRa OTA | ota folder; ota fold |
on needs compiled serial or TCP folder transport |
No | No | Feature | Feature | Feature |
| LoRa OTA | ota config; ota cfg; ota set |
LoRa OTA build | No | No | Yes | Yes | Yes |
| LoRa OTA | ota key; ota keys |
LoRa OTA build | No | No | Yes | Yes | Yes |
| LoRa OTA | ota dev ... |
Developer diagnostics | No | No | Yes | Yes | Yes |
| MQTT | get/set mqttN.preset |
MQTT observer | No | No | No | Yes | No |
| MQTT | get/set mqttN.server; get/set mqttN.port; get/set mqttN.username; get/set mqttN.password |
MQTT observer | No | No | No | Yes | No |
| MQTT | get/set mqttN.token; get/set mqttN.topic; get/set mqttN.audience |
MQTT observer | No | No | No | Yes | No |
| MQTT | get mqttN.diag |
MQTT observer | No | No | No | Yes | No |
| MQTT | get/set mqtt.origin; get/set mqtt.iata; get mqtt.presets |
MQTT observer | No | No | No | Yes | No |
| MQTT | get mqtt.stats |
MQTT observer | No | No | No | Yes | No |
| MQTT | get/set mqtt.status; get/set mqtt.packets; get/set mqtt.raw; get/set mqtt.interval |
MQTT observer | No | No | No | Yes | No |
| MQTT | get/set mqtt.rx; get/set mqtt.tx |
MQTT observer | No | No | No | Yes | No |
| MQTT | get/set mqtt.neighbors; get/set mqtt.neighbors.interval |
MQTT observer with compiled neighbor support | No | No | No | Feature | No |
| MQTT | get/set mqtt.ntp |
MQTT observer | No | No | No | Yes | No |
| MQTT | get mqtt.ntp.diag |
MQTT observer | No | No | No | Yes | No |
| MQTT | get/set timezone; get/set timezone.offset |
MQTT observer | No | No | No | Yes | No |
| MQTT | get/set mqtt.analyzer.us; get/set mqtt.analyzer.eu |
Legacy MQTT aliases | No | No | No | Yes | No |
| MQTT | get/set mqtt.owner; get/set mqtt.email |
MQTT observer; get is local serial only |
No | No | No | Yes | No |
| MQTT | get mqtt.config.valid |
MQTT observer | No | No | No | Yes | No |
| SNMP | get/set snmp; get/set snmp.community |
MQTT target compiled with SNMP | No | No | No | Feature | No |
| Alerts | get/set alert; get/set alert.psk; get/set alert.hashtag; get/set alert.region; get/set alert.wifi; get/set alert.mqtt; get/set alert.interval |
MQTT observer | No | No | No | Yes | No |
| Alerts | alert test [message] |
MQTT observer with configured alert channel | No | No | No | Yes | No |
| TLS | tls.bundletest <host> |
MQTT target with embedded certificate bundle | No | No | No | Feature | No |
| Manifest OTA | ota check |
MQTT target with OTA_MANIFEST_BASE |
No | No | No | Manifest | No |
| Manifest OTA | ota update |
MQTT target with OTA_MANIFEST_BASE |
No | No | No | Manifest | No |
Supplemental command notes
These short entries cover implemented commands that do not yet have their own section in the primary command reference.
memory
ESP32 only. Prints free heap, minimum heap, largest allocation, queue depth, internal heap, and PSRAM totals.
sensor hardware summary
Prints the configured I2C pins and GPS serial pins. This is a wiring/build
diagnostic, distinct from sensor list, sensor get, and sensor set.
powerlog
Prints the last reset reason. nRF52 also prints the captured shutdown reason and boot voltage.
stats-radio-diag
Local-serial diagnostic that prints the extended radio diagnostic counters.
radio.rxps and rxps.wd
get radio.rxps reports RX power-saving state and timing.
set radio.rxps ... changes that configuration. get rxps.wd reports the soft
and hard RX power-saving watchdog counters.
reboot.interval
get reboot.interval shows the scheduled reboot interval. Use
set reboot.interval <hours> for 1-255 hours, or
set reboot.interval 0 to disable it.
Sensor io
The simple-sensor role exposes its board GPIO word as hexadecimal. io reads
it; io <hex> replaces it; and io r<hex>, io s<hex>, or io t<hex>
clear, set, or toggle selected bits.
get mqttN.diag
Prints the runtime diagnostic summary for MQTT slot N, including its connection state and failure history.
get mqtt.stats
Prints the MQTT bridge runtime statistics summary.
get mqtt.config.valid
Reports whether the saved MQTT configuration has the minimum values needed to run.
tls.bundletest
tls.bundletest <host[:port]|url> tests the embedded TLS certificate bundle
against a remote host without changing the MQTT configuration.
Manifest ota check and ota update
On MQTT targets with OTA_MANIFEST_BASE, ota check fetches and checks the
target manifest. ota update downloads and applies the compatible update
selected by that manifest.