This is some documentation I have gathers from a number of different sites on the CLI commands available for MeshCore Repeaters and Room servers. Repeaters abnd Room server use almost all the same CLI command so this is a good reference. For the current offical list of commands, see the Meshcore CLI documentation.
Operational Commands
| Command | Description |
|---|---|
| reboot | Reboots the node |
| clkreboot | Reset the clock and then reboot |
| clock sync | Sync the clock with the remote device |
| clock | Display the current time (in UTC) |
| time <epoch_seconds> | Set the time to a specific timestamp |
| advert | Send a flood advert |
| advert.zerohop | Send a Zero-Hop advert |
| start ota | Start and Over-The-Air (OTA) firmware upgrade. |
| erase | Erase/Factory Reset |
Neighbours and Statistics (Repeater Only)
| Command | Description |
|---|---|
| neighbors | List nearby neighbours |
| neighbor.remove <pubkey_prefix> | Remove a neighbour You can remove all neighbours by using a space for <pubkey_prefix> |
| discover.neighbors | Discover zero hop neighbours |
| clear stats | Clear Stats |
| stats-core | System Stats – Battery, Uptime, Queue Length, Debug Flags |
| stats-radio | Radio Stats – Noise floor, Last RSSI/SNR, Airtime, Received errors |
| stats-packets | Packet Stats – Packet counters, Received, Sent |
Info and Logging
| Command | Description |
|---|---|
| ver | Get the firmware version |
| board | Show the board name |
| log start | Begin capturing of rx log to the node storage. |
| log stop | Stop capturing the rx log. |
| log erase | Erase the captured log |
| log | Print the captured log to the terminal |
Configuration – Radio
| Command | Description |
|---|---|
| get radio | View the node’s radio parameters |
| set radio <freq>,<bw>,<sf>,<cr> | Change the node’s radio parameters freq – in Mhz, bw – in kHz, sf (5-12), cr (5-8) |
| get tx | View the node’s transmit power |
| set tx <dbm> | Set the node’s transmit power dbm – (1-22) |
| get radio.rxgain | View the boosted received gain mode |
| set radio.rxgain <state> | Set the boosted received gain mode <state> – on|off |
| tempradio <freq>,<bw>,<sf>,<cr>,<timeout> | Change the radio parameters for a set duration. freq – in Mhz, bw – in kHz, sf (5-12), cr (5-8) <timeout> – duration in minutes |
| get freq | View the node’s frequency |
| set freq <frequency> | Set the node’s frequency. <frequency> in Mhz. (requires reboot to apply) |
Configuration – System
| Command | Description |
|---|---|
| get name | View the node’s name |
| set name <name> | Change the node’s name |
| get lat | View the node’s latitude |
| set lat <degrees> | Set the node’s latitude <degrees> – Latitude in degrees |
| get lon | View the node’s longitude |
| set lon <degrees> | Set the node’s longitude <degrees> – longitude in degrees |
| get priv.key | View the node’s private key (Mesh ID) |
| set priv.key <private_key> | Set the node’s private key (Mesh ID) <private_key> – key in hex format (requires reboot to apply) |
| password <new_password> | Set the node’s admin password |
| get guest.password | View the node’s guest password |
| set guest.password <password> | Set the node’s guest password |
| get owner.info | View the node’s owner information. |
| set owner.info <text> | Set the node’s owner information. |
| get adc.multiplier | View the node’s battery reading multiplier value. |
| get adc.miltiplier <value> | Fine-tune the battery reading for the node. <value> – (0.0 – 10.0) |
| get public.key | View the mode’s public key |
| get role | View the node’s configured role |
| powersaving | View the node’s power saving flag (Repeater only) |
| powersaving <state> | Set the power saving flag (Repeater Only) <state> – on|off |
Routing
| Command | Description |
|---|---|
| get repeat | View this node’s repeat flag (if it repeats packets) |
| set repeat <state> | Set this node’s repeat flag (if it repeats packets) <state> – on|off |
| get path.hash.mode | View the node’s advert path hash size |
| set path.hash.mode <value> | Set the node’s advert hash size <value> – (0-2) 0 – 1 Byte hash size (256 unique IDs)(64 max flood) 1 – 2 Byte hash size (65.536 unique IDs)(32 max flood) 2 – 3 Byte hash size (16,777,216 unique IDs)(21 max flood) NOTE: anything over 0 requires all repeaters to be at least v1.14 |
| get loop.detect | View the node’s loop detection state |
| set loop.detect <state> | Set the node’s loop detection state. <state> – [off|minimal|moderate|strict] minimal – drop packets if node’s ID appears 4 or more times. moderate – drop packets if node’s ID appears 2 or more times. strict – drop packets if node’s ID appears even 1 time. |
| get txdelay | View the node’s retransmit delay factor for flood traffic |
| set txdelay <value> | Set the mode’s retransmit delay factor for flood traffic. <value> – (0.0-2.0). Default – 0.5 |
| get direct.txdelay | View the node’s retransmit delay factor for direct traffic. |
| set direct.txdelay <value> | Set the mode’s retransmit delay factor for direct traffic. <value> – (0.0 – 2.0). Default – 0.2 |
| get rxdelay | View the node’s processing delay for received traffic. |
| set rxdelay <value> | Set the mode’s processing delay for received traffic. <value> – ( 0.0 – 20.0). Default – 0.0. Note: Experimental |
| get dutycycle | View the node’s duty cycle limit |
| set dutycycle <value> | Set the node’s duty cycle limit. value – 0 – 100 percent |
| get int.thresh | View the local interference threshold |
| set int.thresh <value> | Set the local interference threshold Default = 0.0 |
| get agc.reset.interval | View the node’s AGC reset interval |
| set agc.reset.interval <value> | Set the mode’s AGC reset interval <value> – seconds rounded to multiple of 4. |
| get multi.acks | View if the Node has Multi-Ack support |
| set multi.acks <state> | Set the node’s Multi-Acks support. <state> – 0|1. 0 = disabled 1=enabled |
| get flood.advert.interval | View the node’s flood advert interval (in hours) |
| set flood.advert.interval <hours> | Set the node’s flood advert interval (in hours) <hours> – (3 – 168) |
| get advert.interval | View the zero-hop advert interval (in minutes) |
| set advert.interval <minutes> | Set the zero-hop advert interval (in minutes) <minutes> – (60 – 240) must be multiple of 2 |
| get flood.max | View the maximum flood hop count |
| set flood.max <value> | Set the maximum flood hop count <value> – (0-64) |

