Skip to content

System

NAME · LOCATION · KEYS · PASSWORDS · ROLE

Settings that describe the node itself: name, location, owner, key pair and passwords, plus the battery correction and the repeater's power saving.

Note

Source. This page was verified against the firmware itself: MeshCore v1.17.1, commit d929643, 14 August 2026 — files src/helpers/CommonCLI.cpp, src/helpers/CommonCLI.h, examples/simple_repeater/MyMesh.cpp, examples/simple_repeater/main.cpp, examples/simple_repeater/MyMesh.h, examples/simple_room_server/MyMesh.h, examples/simple_sensor/SensorMesh.h, src/MeshCore.h, 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
get name / set name <name> R repeater · RS Test BBS · S sensor ¹ CommonCLI.cpp r.523, r.837
get lat / set lat <degrees> / get lon / set lon <degrees> 0.0 CommonCLI.cpp r.606, r.610, r.841, r.843
get prv.key / set prv.key <private_key> — get only CommonCLI.cpp r.510, r.832
password <new_password> password CommonCLI.cpp r.256
get guest.password / set guest.password <password> effect: repeater, room server RS ROOM_PASSWORD ¹, otherwise empty CommonCLI.cpp r.506, r.830
get owner.info / set owner.info <text> effect: repeater empty CommonCLI.cpp r.668, r.876
get adc.multiplier / set adc.multiplier <value> 0.0 (board value) CommonCLI.cpp r.766, r.946
get public.key — CommonCLI.cpp r.902
get role — CommonCLI.cpp r.905
powersaving / powersaving on / powersaving off effect: repeater off CommonCLI.cpp r.401–419

Commands

name

The name in the adverts. The field is 32 bytes (CommonCLI.h r.27). The characters [ ] \ : , ? * are not allowed; the reply is then Error, bad chars.

The advert itself has less room. The whole appdata block is 32 bytes (MAX_ADVERT_DATA_SIZE, MeshCore.h r.12), one byte of which goes to the flags and eight to the location when it is included. That leaves 31 bytes of name without location and 23 bytes with location. Whatever does not fit is truncated at a valid UTF-8 code point boundary (AdvertDataHelpers.cpp r.21, UTF8Helpers.h); an emoji or an accented letter takes more than one byte and is therefore dropped as a whole. Up to and including v1.16.0 the name was copied byte by byte until the block was full, which could cut a character in half.

Example:

set name PE1HVH Repeater
  -> OK
get name
  -> > PE1HVH Repeater

¹ Fallback values of ADVERT_NAME; most builds set a name of their own.

lat / lon

Latitude and longitude in decimal degrees, without a range check. get uses the same float formatting as get radio. The location is included in adverts, depending on gps advert.

Example:

set lat 52.5168
  -> OK
get lat
  -> > 52.5167999
set lon 6.083
  -> OK
get lon
  -> > 6.0830001

prv.key

The node's key pair. set expects the private key as 128 hex characters (PRV_KEY_SIZE 64, MeshCore.h r.9), validates it and replies with the new public key; the change takes effect after a restart. get works on the serial console only. The official documentation speaks of 64 hex characters.

Example:

set prv.key 00
  -> Error, bad key

With a valid key the reply is OK, reboot to apply! New pubkey: followed by 64 hex characters.

password

The admin password, at most 15 characters (CommonCLI.h r.29). The reply repeats the new password.

Example:

password Zwolle2026
  -> password now: Zwolle2026

Warning

The default password is known to everyone. As long as it is in place, any client with that password can manage the node.

guest.password

The password for ordinary participants, at most 15 characters (CommonCLI.h r.37). Repeater and room server use it at login (simple_repeater/MyMesh.cpp r.104, simple_room_server/MyMesh.cpp r.348). See Logging In and the ACL.

Example:

set guest.password zwolle
  -> OK
get guest.password
  -> > zwolle

¹ Only if the build sets ROOM_PASSWORD (simple_room_server/MyMesh.cpp r.668–670). The official documentation states empty as the default.

owner.info

Free text about the owner, at most 119 characters (CommonCLI.h r.65). A | is stored as a line break and shown as | again by get. Only the repeater does anything with it (simple_repeater/MyMesh.cpp r.177, r.373).

Example:

set owner.info PE1HVH|Zwolle
  -> OK
get owner.info
  -> > PE1HVH|Zwolle

adc.multiplier

Correction factor for the battery reading. 0 restores the board's own value. If the board does not support it, the reply is Error: unsupported by this board; get gives the same reply when the board has no factor.

Example:

set adc.multiplier 1.05
  -> OK - multiplier set to 1.050
set adc.multiplier 0
  -> OK - using default board multiplier

public.key

The node's public key as 64 hex characters.

Example (example key from tools/dm-example.py):

get public.key
  -> > EA1F69C38A415ABDD55590ECC796DE3D04FE6D80FAEE006A37021432804CBDCC

role

The role the firmware was built for: repeater, room_server or sensor (FIRMWARE_ROLE in the three role files).

Example:

get role
  -> > repeater

powersaving

Lets the repeater sleep when there is nothing to do. Only the repeater's main loop reads the flag (simple_repeater/main.cpp r.198). The reply to powersaving on depends on the platform: on nRF52 on - Immediate effect, on ESP32 on - After 2 minutes, in a build with a bridge Bridge not supported and elsewhere Board not supported. Without an argument the command shows on or off.

Example (nRF52, such as the SenseCap Solar):

powersaving on
  -> on - Immediate effect
powersaving
  -> on

Sources

Translated from Dutch by Anthropic Claude