# Conflicts: # examples/simple_repeater/MyMesh.cpp # src/helpers/BaseChatMesh.cpp # src/helpers/CommonCLI.cpp # src/helpers/CommonCLI.h # variants/heltec_t096/T096Board.cpp # variants/heltec_v4/HeltecV4Board.cpp
34 KiB
CLI Commands
This document provides an overview of CLI commands that can be sent to MeshCore Repeaters, Room Servers and Sensors.
Navigation
Operational
Reboot the node
Usage:
reboot
Note: No reply is sent.
Power-off the node
Usage:
poweroff, orshutdown
Note: No reply is sent.
Reset the clock and reboot
Usage:
clkreboot
Note: No reply is sent.
Sync the clock with the remote device
Usage:
clock sync
Display current time in UTC
Usage:
clock
Set the time to a specific timestamp
Usage:
time <epoch_seconds>
Parameters:
epoch_seconds: Unix epoch time
Send a flood advert
Usage:
advert
Send a zero-hop advert
Usage:
advert.zerohop
Start an Over-The-Air (OTA) firmware update
Usage:
start ota
Erase/Factory Reset
Usage:
erase
Serial Only: Yes
Warning: This is destructive!
Neighbors (Repeater Only)
List nearby neighbors
Usage:
neighbors
Note: The output of this command is limited to the 8 most recent adverts.
Note: Each line is encoded as {pubkey-prefix}:{timestamp}:{snr*4}
Remove a neighbor
Usage:
neighbor.remove <pubkey_prefix>
Parameters:
pubkey_prefix: The public key of the node to remove from the neighbors list. This can be a short prefix or the full key. All neighbors matching the provided prefix will be removed.
Note: You can remove all neighbors by sending a space character as the prefix. The space indicates an empty prefix, which matches all existing neighbors.
Discover zero hop neighbors
Usage:
discover.neighbors
Send flood text to #repeaters channel
Usage:
send text.flood <message>
Notes:
- Sends a
PAYLOAD_TYPE_GRP_TXTflood message using the built-in#repeaterschannel key. - Message format is
<node_name>: <message>.
View or change automatic low-battery alerts to #repeaters
Usage:
get battery.alertset battery.alert <state>get battery.alert.lowset battery.alert.low <percent>get battery.alert.criticalset battery.alert.critical <percent>
Parameters:
state:on(enable) oroff(disable)percent: Battery percentage threshold
Default: off
Default thresholds: 20 for battery.alert.low, 10 for battery.alert.critical
Notes:
- When enabled, sends a
#repeatersflood text warning if voltage is above1 Vand the battery estimate is belowbattery.alert.low. - Warnings repeat every
24hours, or every12hours belowbattery.alert.critical. battery.alert.criticalmust be lower thanbattery.alert.low.
Get or set recent repeater prefix/SNR
Usage:
get recent.repeaterget recent.repeater <page>get recent.repeater page <page>set recent.repeater <prefix_hex_6> <snr_db>
Parameters:
prefix_hex_6: Exactly 3 bytes of next-hop prefix in hex (6 chars)snr_db: SNR in dB (supports decimals; stored at x4 precision)page: 1-based page number
Notes:
setstores or updates the prefix in the recent repeater table.- Output rows are
prefix,snrwith optional,lfor locked manual entries. - Rows are sorted by prefix width (3-byte, 2-byte, 1-byte), then SNR descending.
- A full direct retry failure lowers the stored SNR by
0.25 dB. - If a full failure has no row yet, it first seeds the row at the active retry cutoff +
2.5 dB, then applies the0.25 dBpenalty. - Serial CLI page size is fixed at
128rows; choose page withget recent.repeater <page>. - Over LoRa remote CLI, page size is fixed at
7rows; choose page withget recent.repeater <page>. - Repeaters can use adjacent entries in this table to short-circuit non-TRACE direct packets when this node appears later in the direct path.
Statistics
Clear Stats
Usage: clear stats
System Stats - Battery, Uptime, Queue Length and Debug Flags
Usage:
stats-core
Serial Only: Yes
Radio Stats - Noise floor, Last RSSI/SNR, Airtime, Receive errors
Usage: stats-radio
Serial Only: Yes
Packet stats - Packet counters: Received, Sent
Usage: stats-packets
Serial Only: Yes
Logging
Begin capture of rx log to node storage
Usage: log start
End capture of rx log to node storage
Usage: log stop
Erase captured log
Usage: log erase
Print the captured log to the serial terminal
Usage: log
Serial Only: Yes
Info
Get the Version
Usage: ver
Show the hardware name
Usage: board
Configuration
Radio
View or change this node's radio parameters
Usage:
get radioset radio <freq>,<bw>,<sf>,<cr>
Parameters:
freq: Frequency in MHzbw: Bandwidth in kHzsf: Spreading factor (5-12)cr: Coding rate (5-8)
Set by build flag: LORA_FREQ, LORA_BW, LORA_SF, LORA_CR
Default: 869.525,250,11,5
Note: Requires reboot to apply
View or change this node's transmit power
Usage:
get txset tx <dbm>
Parameters:
dbm: Power level in dBm (1-22)
Set by build flag: LORA_TX_POWER
Default: Varies by board
Notes: This setting only controls the power level of the LoRa chip. Some nodes have an additional power amplifier stage which increases the total output. Refer to the node's manual for the correct setting to use. Setting a value too high may violate the laws in your country.
View or change the boosted receive gain mode
Usage:
get radio.rxgainset radio.rxgain <state>
Parameters:
state:on|off
Default: off
Note: Only available on SX1262 and SX1268 based boards.
Change the radio parameters for a set duration
Usage:
tempradio <freq>,<bw>,<sf>,<cr>,<timeout_mins>
Parameters:
freq: Frequency in MHz (300-2500)bw: Bandwidth in kHz (7.8-500)sf: Spreading factor (5-12)cr: Coding rate (5-8)timeout_mins: Duration in minutes (must be > 0)
Note: This is not saved to preferences and will clear on reboot
View or change this node's frequency
Usage:
get freqset freq <frequency>
Parameters:
frequency: Frequency in MHz
Default: 869.525
Note: Requires reboot to apply
Serial Only: set freq <frequency>
View or change this node's rx boosted gain mode (SX12xx only, v1.14.1+)
Usage:
get radio.rxgainset radio.rxgain <state>
Parameters:
state:on|off
Default: on
Temporary Note: If you upgraded from an older version to 1.14.1 without erasing flash, this setting is off because of #2118
View or change the LoRa FEM receive-path gain state on supported boards
Usage:
get radio.fem.rxgainset radio.fem.rxgain <state>
Parameters:
state:on|off
Notes:
- This controls the external LoRa FEM receive-path LNA where the board supports it.
- This is separate from
radio.rxgain, which controls the radio chip receive gain mode.
System
View or change this node's name
Usage:
get nameset name <name>
Parameters:
name: Node name
Set by build flag: ADVERT_NAME
Default: Varies by board
Note: Max length varies. If a location is set, the max length is 24 bytes; 32 otherwise. Emoji and unicode characters may take more than one byte.
View or change this node's latitude
Usage:
get latset lat <degrees>
Set by build flag: ADVERT_LAT
Default: 0
Parameters:
degrees: Latitude in degrees
View or change this node's longitude
Usage:
get lonset lon <degrees>
Set by build flag: ADVERT_LON
Default: 0
Parameters:
degrees: Longitude in degrees
View or change this node's identity (Private Key)
Usage:
get prv.keyset prv.key <private_key>
Parameters:
private_key: Private key in hex format (64 hex characters)
Serial Only:
get prv.key: Yesset prv.key: No
Note: Requires reboot to take effect after setting
Change this node's admin password
Usage:
password <new_password>
Parameters:
new_password: New admin password
Set by build flag: ADMIN_PASSWORD
Default: password
Note: Command reply echoes the updated password for confirmation.
Note: Any node using this password will be added to the admin ACL list.
View or change this node's guest password
Usage:
get guest.passwordset guest.password <password>
Parameters:
password: Guest password
Set by build flag: ROOM_PASSWORD (Room Server only)
Default: <blank>
View or change this node's owner info
Usage:
get owner.infoset owner.info <text>
Parameters:
text: Owner information text
Default: <blank>
Note: | characters are translated to newlines
Note: Requires firmware 1.12.+
Fine-tune the battery reading
Usage:
get adc.multiplierset adc.multiplier <value>
Parameters:
value: ADC multiplier (0.0-10.0)
Default: 0.0 (value defined by board)
Note: Returns "Error: unsupported by this board" if hardware doesn't support it
View this node's public key
Usage: get public.key
View this node's firmware version
Usage: ver
View this node's configured role
Usage: get role
View or change this node's power saving flag (Repeater Only)
Usage:
powersavingpowersaving onpowersaving off
Parameters:
on: enable power savingoff: disable power saving
Default: off
Note: When enabled, device enters sleep mode between radio transmissions
View or set reboot interval (Repeater and room server)
Usage:
get reboot.intervalset reboot.interval <hours>
Parameters:
hours: 0-255. 0 is disabled
Default: 0 (disabled)
Routing
View or change this node's repeat flag
Usage:
get repeatset repeat <state>
Parameters:
state:on|off
Default: on
View or change this node's advert path hash size
Usage:
get path.hash.modeset path.hash.mode <value>
Parameters:
value: Path hash size (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]3: DO NOT USE (Reserved)
Default: 0
Note: the 'path.hash.mode' sets the low-level ID/hash encoding size used when the repeater adverts. This setting has no impact on what packet ID/hash size this repeater forwards, all sizes should be forwarded on firmware >= 1.14. This feature was added in firmware 1.14
Temporary Note: adverts with ID/hash sizes of 2 or 3 bytes may have limited flood propogation in your network while this feature is new as v1.13.0 firmware and older will drop packets with multibyte path ID/hashes as only 1-byte hashes are suppored. Consider your install base of firmware >=1.14 has reached a criticality for effective network flooding before implementing higher ID/hash sizes.
View or change this node's loop detection
Usage:
get loop.detectset loop.detect <state>
Parameters:
state:off: no loop detection is performedminimal: packets are dropped if repeater's ID/hash appears 4 or more times (1-byte), 2 or more (2-byte), 1 or more (3-byte)moderate: packets are dropped if repeater's ID/hash appears 2 or more times (1-byte), 1 or more (2-byte), 1 or more (3-byte)strict: packets are dropped if repeater's ID/hash appears 1 or more times (1-byte), 1 or more (2-byte), 1 or more (3-byte)
Default: off
Note: When it is enabled, repeaters will now reject flood packets which look like they are in a loop. This has been happening recently in some meshes when there is just a single 'bad' repeater firmware out there (prob some forked or custom firmware). If the payload is messed with, then forwarded, the same packet ends up causing a packet storm, repeated up to the max 64 hops. This feature was added in firmware 1.14
Example: If preference is loop.detect minimal, and a 1-byte path size packet is received, the repeater will see if its own ID/hash is already in the path. If it's already encoded 4 times, it will reject the packet. If the packet uses 2-byte path size, and repeater's own ID/hash is already encoded 2 times, it rejects. If the packet uses 3-byte path size, and the repeater's own ID/hash is already encoded 1 time, it rejects.
View or change the retransmit delay factor for flood traffic
Usage:
get txdelayset txdelay <value>
Parameters:
value: Transmit delay factor (0-2)
Default: 0.5
View or change the retransmit delay factor for direct traffic
Usage:
get direct.txdelayset direct.txdelay <value>
Parameters:
value: Direct transmit delay factor (0-2)
Default: 0.3
Note: Direct retry waits include the same airtime-based randomized delay calculation as direct retransmits, so this factor also controls retry echo windows.
View or change whether direct retries use the recent repeater SNR gate
Usage:
get direct.retry.heardset direct.retry.heard <state>
Parameters:
state:on|off
Default: on
Note: When enabled, the recent repeater table is the only direct retry eligibility gate. Prefixes missing from the table are assumed reachable; prefixes in the table below the active SNR gate are blocked. Neighbor data is not used.
View or change adaptive coding rate for direct retry packets
Usage:
get direct.retry.crset direct.retry.cr <cr4_min>,<cr5_min>,<cr7_min>,<cr8_max>set direct.retry.cr off
Parameters:
cr4_min: SNR in dB where retry packets useCR4cr5_min: SNR in dB where retry packets useCR5cr7_min: SNR in dB where retry packets useCR7cr8_max: SNR in dB where retry packets useCR8
Default: 10.0,7.5,2.5,2.5
Note: DM retry packets use the next-hop SNR from a recent repeater table entry to pick a local transmit coding rate; if no recent entry is available, retry packets use CR5. With the default, SNR 10.0 dB and up uses CR4, SNR 7.5 dB and up uses CR5, SNR 2.5 dB and down uses CR8, and the middle band uses CR7. CR6 is never selected. Use set direct.retry.cr off to disable adaptive coding-rate overrides. If adaptive selection chooses CR4, retries after the third attempt use CR5.
View or change the SNR margin used for direct retry eligibility
Usage:
get direct.retry.marginset direct.retry.margin <value>
Parameters:
value: Rooftop preset margin in dB above the SF-specific receive floor (minimum0, maximum40, quarter-dB precision, default5.0)
Default: 5.0
Note: get direct.retry.margin returns the active preset's effective margin. The retry gate uses the active SF floor of SF5=-2.5, SF6=-5, SF7=-7.5, SF8=-10, SF9=-12.5, SF10=-15, SF11=-17.5, SF12=-20, then adds this margin.
View or change the retry preset
Usage:
get retry.presetset retry.preset <value>
Parameters:
value:infra|rooftop|mobileor0|1|2
Default: rooftop (1)
Presets:
infra(0):275 msdirect base wait,4direct retries,150 msadded per direct retry, SNR gate is SF floor +15 dB; flood retry defaults to1retry and path gate1rooftop(1):175 msdirect base wait,15direct retries,100 msadded per direct retry, SNR gate is SF floor +5 dB; flood retry defaults to3retries and path gate2mobile(2):175 msdirect base wait,15direct retries,50 msadded per direct retry, SNR gate is the SF floor; flood retry defaults to3retries and path gate1
Note: Selecting a preset copies those values into the direct retry settings and resets flood retry defaults. You can refine direct.retry.margin, direct.retry.count, direct.retry.base, direct.retry.step, flood.retry.count, or flood.retry.path afterward. Retry delay is direct.txdelay jitter + base wait + packet-length airtime wait + per-attempt step.
View or change the number of direct retry attempts
Usage:
get direct.retry.countset direct.retry.count <value>
Parameters:
value: Maximum retry attempts after initial TX (1-15)
Default: 15
Note: The effective value is capped by total direct path length: paths of 3 hops or less use at most 8 retries, 4 hops use at most 12, and 5+ hops use at most 15. A queued resend is canceled early when the next-hop echo is heard.
View or change the base direct retry wait (milliseconds)
Usage:
get direct.retry.baseset direct.retry.base <value>
Parameters:
value: Base wait in milliseconds (10-5000)
Default: 175
Note: The configured base is added to packet-length airtime and direct.txdelay jitter. Preset defaults are already reduced to account for the added direct.txdelay component.
View or change the direct retry per-attempt add time (milliseconds)
Usage:
get direct.retry.stepset direct.retry.step <value>
Parameters:
value: Milliseconds added per retry attempt (0-5000)
Default: 100
Note: This controls the linear add after the first retry wait. For example, base=300 and step=150 adds 0, 150, 300, ... ms across retry attempts.
[Experimental] View or change the processing delay for received traffic
Usage:
get rxdelayset rxdelay <value>
Parameters:
value: Receive delay base (0-20)
Default: 0.0
View or change the duty cycle limit
Usage:
get dutycycleset dutycycle <value>
Parameters:
value: Duty cycle percentage (1-100)
Default: 50% (equivalent to airtime factor 1.0)
Examples:
set dutycycle 100— no duty cycle limitset dutycycle 50— 50% duty cycle (default)set dutycycle 10— 10% duty cycleset dutycycle 1— 1% duty cycle (strictest EU requirement)
Note: Added in firmware v1.15.0
View or change the airtime factor (duty cycle limit)
Deprecated as of firmware v1.15.0. Use
get/set dutycycleinstead.
Usage:
get afset af <value>
Parameters:
value: Airtime factor (0-9). After each transmission, the repeater enforces a silent period of approximately the on-air transmission time multiplied by the value. This results in a long-term duty cycle of roughly 1 divided by (1 plus the value). For example:af = 1→ ~50% dutyaf = 2→ ~33% dutyaf = 3→ ~25% dutyaf = 9→ ~10% duty You are responsible for choosing a value that is appropriate for your jurisdiction and channel plan (for example EU 868 Mhz 10% duty cycle regulation).
Default: 1.0
View or change the local interference threshold
Usage:
get int.threshset int.thresh <value>
Parameters:
value: Interference threshold value
Default: 0.0
Enable or disable hardware Channel Activity Detection (CAD)
Usage:
get cadset cad <on|off>
Description: When enabled, the radio performs a hardware Channel Activity Detection scan before transmitting and defers if the channel is busy. Runs independently of int.thresh — either, both, or none may be active.
Parameters:
on|off: Enable or disable hardware CAD
Default: off
View or change the AGC Reset Interval
Usage:
get agc.reset.intervalset agc.reset.interval <value>
Parameters:
value: Interval in seconds rounded down to a multiple of 4 (17 becomes 16). 0 to disable.
Default: 0.0
Enable or disable Multi-Acks support
Usage:
get multi.acksset multi.acks <state>
Parameters:
state:0(disable) or1(enable)
Default: 0
View or change the flood advert interval
Usage:
get flood.advert.intervalset flood.advert.interval <hours>
Parameters:
hours: Interval in hours (3-168)
Default: 12 (Repeater) - 0 (Sensor)
View or change the zero-hop advert interval
Usage:
get advert.intervalset advert.interval <minutes>
Parameters:
minutes: Interval in minutes rounded down to the nearest multiple of 2 (61 becomes 60) (60-240)
Default: 0
Limit the number of hops for a flood message
Usage:
get flood.maxset flood.max <value>
Parameters:
value: Maximum flood hop count (0-64)
Default: 64
View or change the number of flood retry attempts
Usage:
get flood.retry.countset flood.retry.count <value>
Parameters:
value: Maximum retry attempts after initial flood TX (0-15)
Default: 3 for rooftop and mobile, 1 for infra
Note: 0 disables flood retry.
View or change the flood retry path gate
Usage:
get flood.retry.pathset flood.retry.path <value>
Parameters:
value: Maximum flood path length eligible for retry (0-63), oroffto disable the gate
Default: 2 for rooftop, 1 for infra and mobile
Note: Prefixes in flood.retry.ignore do not count toward this path length.
View or change whether advert packets are flood-retried
Usage:
get flood.retry.advertset flood.retry.advert <state>
Parameters:
state:onoroff
Default: off
Note: When this is off, node advert packets (PAYLOAD_TYPE_ADVERT, type 4) are not queued for flood retry.
View or change flood retry target prefixes
Usage:
get flood.retry.prefixesset flood.retry.prefixes <prefixes>
Parameters:
prefixes: Comma-separated 3-byte hex prefixes, such asA1B2C3,D4E5F6; usenoneoroffto clear
Default: none
Note: Prefixes are stored as 3 bytes. Flood retry skips packets whose path already contains a matching target prefix. When prefixes are configured, only a downstream echo from one of those target prefixes cancels a queued retry; when no prefixes are configured, any downstream echo cancels it. Matching works with 3-byte, 2-byte, or 1-byte flood paths by comparing the matching leading bytes.
View or change flood retry bridge mode
Usage:
get flood.retry.bridgeset flood.retry.bridge <state>
Parameters:
state:onoroff
Default: off
Note: Bridge mode uses bucket definitions instead of the single flood.retry.prefixes target list. It also has an implicit unconfigured catch-all bucket. If a flood comes from one fresh configured bucket, retry continues until every other fresh configured bucket plus the catch-all bucket has been heard or flood.retry.count is exhausted. If a flood comes from an unconfigured or pathless source, retry targets every fresh configured bucket. This means one configured bucket bridges between that bucket and everything else. Prefixes in flood.retry.ignore never count as heard bridge targets.
View or change flood retry bridge buckets
Usage:
get flood.retry.bucket.<bucket>set flood.retry.bucket <bucket> <prefixes>
Parameters:
bucket: Bucket number (1-6)prefixes: Up to 17 comma-separated 3-byte hex prefixes, such asAABBCC,223344; usenoneoroffto clear
Default: all buckets empty
Note: Prefixes are stored as 3 bytes but match 3-byte, 2-byte, and 1-byte flood paths by comparing leading bytes. Bucket prefixes are included in bridge retry logic only if they were heard in the recent repeater table within the last hour.
View or change flood retry ignored prefixes
Usage:
get flood.retry.ignoreset flood.retry.ignore <prefixes>
Parameters:
prefixes: Up to 8 comma-separated 3-byte hex prefixes, such asAABBCC,223344; usenoneoroffto clear
Default: empty
Note: In non-bridge retry, an echo whose last hop matches an ignored prefix does not cancel a queued retry as successful. In bridge mode, ignored prefixes do not count as a heard bridge bucket or as the implicit catch-all bucket when bridge retry decides whether every target has repeated the flood.
Limit the number of hops for an advert flood message
Usage:
get flood.max.advertset flood.max.advert <value>
Parameters:
value: Maximum flood hop count (0-64) for an advert packet
Default: 8
ACL
Add, update or remove permissions for a companion
Usage:
setperm <pubkey> <permissions>
Parameters:
pubkey: Companion public keypermissions:0: Guest1: Read-only2: Read-write3: Admin
Note: Removes the entry when permissions is omitted
View the current ACL
Usage:
get acl
Serial Only: Yes
View or set direct path overrides for the current remote client
Usage:
get outpathset outpath <hop1_hex,hop2_hex,...>set outpath directset outpath clearset outpath floodget altpathset altpath <hop1_hex,hop2_hex,...>set altpath clear
Parameters:
hopN_hex: Hop hash,2,4, or6hex characters. All hops must use the same width.
Notes:
- These commands require remote client context; they target the caller's ACL entry.
- The path hash size is inferred from the hop hash width.
outpathoverrides the primary direct route used for replies to the caller.directsets a zero-hop direct route for a caller reachable without repeaters.clearforgets the current direct path and allows normal path discovery to repopulate it.floodforces replies to use flood packets until the client logs in again.altpathis an optional second direct route used for duplicate response attempts.set altpath clearremoves the duplicate route so only one reply is sent.
View or change this room server's 'read-only' flag
Usage:
get allow.read.onlyset allow.read.only <state>
Parameters:
state:on(enable) oroff(disable)
Default: off
Region Management (v1.10.+)
Bulk-load region lists
Usage:
region loadregion load <name> [flood_flag]
Parameters:
name: A name of a region.*represents the wildcard region
Note: flood_flag: Optional F to allow flooding
Note: Indentation creates parent-child relationships (max 8 levels)
Note: region load with an empty name will not work remotely (it's interactive)
Save any changes to regions made since reboot
Usage:
region save
Allow a region
Usage:
region allowf <name>
Parameters:
name: Region name (or*for wildcard)
Note: Setting on wildcard * allows packets without region transport codes
Block a region
Usage:
region denyf <name>
Parameters:
name: Region name (or*for wildcard)
Note: Setting on wildcard * drops packets without region transport codes
Show information for a region
Usage:
region get <name>
Parameters:
name: Region name (or*for wildcard)
View or change the home region for this node
Usage:
region homeregion home <name>
Parameters:
name: Region name
View or change the default scope region for this node
Usage:
region defaultregion default {name|<null>}
Parameters:
name: Region name, or to reset/clear
View or set the direct path override for the current remote client
Usage:
get outpathset outpath <hop1_hex,hop2_hex,...>set outpath directset outpath clearset outpath flood
Parameters:
hopN_hex: Hop hash,2,4, or6hex characters. All hops must use the same width.
Notes:
- These commands require remote client context (they target the caller's ACL entry).
- The path hash size is inferred from the hop hash width.
outpathoverrides the primary direct route used for replies to the caller.directsets a zero-hop direct route for a caller reachable without repeaters.clearforgets the current direct path and allows normal path discovery to repopulate it.floodforces replies to use flood packets until the client logs in again.
Create a new region
Usage:
region put <name> [parent_name]
Parameters:
name: Region nameparent_name: Parent region name (optional, defaults to wildcard)
Remove a region
Usage:
region remove <name>
Parameters:
name: Region name
Note: Must remove all child regions before the region can be removed
View all regions
Usage:
region list <filter>
Serial Only: Yes
Parameters:
filter:allowed|denied
Note: Requires firmware 1.12.+
Dump all defined regions and flood permissions
Usage:
region
Serial Only: For firmware older than 1.12.0
Region Examples
Example 1: Using F Flag with Named Public Region
region load
#Europe F
<blank line to end region load>
region save
Explanation:
- Creates a region named
#Europewith flooding enabled - Packets from this region will be flooded to other nodes
Example 2: Using Wildcard with F Flag
region load
* F
<blank line to end region load>
region save
Explanation:
- Creates a wildcard region
*with flooding enabled - Enables flooding for all regions automatically
- Applies only to packets without transport codes
Example 3: Using Wildcard Without F Flag
region load
*
<blank line to end region load>
region save
Explanation:
- Creates a wildcard region
*without flooding - This region exists but doesn't affect packet distribution
- Used as a default/empty region
Example 4: Nested Public Region with F Flag
region load
#Europe F
#UK
#London
#Manchester
#France
#Paris
#Lyon
<blank line to end region load>
region save
Explanation:
- Creates
#Europeregion with flooding enabled - Adds nested child regions (
#UK,#France) - All nested regions inherit the flooding flag from parent
Example 5: Wildcard with Nested Public Regions
region load
* F
#NorthAmerica
#USA
#NewYork
#California
#Canada
#Ontario
#Quebec
<blank line to end region load>
region save
Explanation:
- Creates wildcard region
*with flooding enabled - Adds nested
#NorthAmericahierarchy - Enables flooding for all child regions automatically
- Useful for global networks with specific regional rules
GPS (When GPS support is compiled in)
View or change GPS state
Usage:
gpsgps <state>
Parameters:
state:on|off
Default: off
Note: Output format:
offwhen the GPS hardware is disabledon, {active|deactivated}, {fix|no fix}, {sat count} satswhen the GPS hardware is enabled
Sync this node's clock with GPS time
Usage:
gps sync
Set this node's location based on the GPS coordinates
Usage:
gps setloc
View or change the GPS advert policy
Usage:
gps advertgps advert <policy>
Parameters:
policy:none|share|prefsnone: don't include location in advertsshare: share gps location (from SensorManager)prefs: location stored in node's lat and lon settings
Default: prefs
Sensors (When sensor support is compiled in)
View the list of sensors on this node
Usage: sensor list [start]
Parameters:
start: Optional starting index (defaults to 0)
Note: Output format: <var_name>=<value>\n
View or change thevalue of a sensor
Usage:
sensor get <key>sensor set <key> <value>
Parameters:
key: Sensor setting namevalue: The value to set the sensor to
Bridge (When bridge support is compiled in)
View the compiled bridge type
Usage: get bridge.type
View or change the bridge enabled flag
Usage:
get bridge.enabledset bridge.enabled <state>
Parameters:
state:on|off
Default: off
Add a delay to packets routed through this bridge
Usage:
get bridge.delayset bridge.delay <ms>
Parameters:
ms: Delay in milliseconds (0-10000)
Default: 500
View or change the source of packets bridged to the external interface
Usage:
get bridge.sourceset bridge.source <source>
Parameters:
source:logRx: bridges received packetslogTx: bridges transmitted packets
Default: logTx
View or change the speed of the bridge (RS-232 only)
Usage:
get bridge.baudset bridge.baud <rate>
Parameters:
rate: Baud rate (9600,19200,38400,57600, or115200)
Default: 115200
View or change the channel used for bridging (ESPNow only)
Usage:
get bridge.channelset bridge.channel <channel>
Parameters:
channel: Channel number (1-14)
Set the ESP-Now secret
Usage:
get bridge.secretset bridge.secret <secret>
Parameters:
secret: ESP-NOW bridge secret, up to 15 characters
Default: Varies by board
View the bootloader version (nRF52 only)
Usage: get bootloader.ver
View power management support
Usage: get pwrmgt.support
View the current power source
Usage: get pwrmgt.source
Note: Returns an error on boards without power management support.
View the boot reset and shutdown reasons
Usage: get pwrmgt.bootreason
Note: Returns an error on boards without power management support.
View the boot voltage
Usage: get pwrmgt.bootmv
Note: Returns an error on boards without power management support.