1. Bulk-Load Region Lists

Load multiple regions and their parent-child relationships interactively.

Commands:

region load
region load <name> [flood_flag]

Parameters:

ParameterDescription
nameName of the region. Use * to represent the wildcard region.
flood_flagOptional F flag to enable flooding for the region.

Notes:

  • Indentation defines parent-child relationships, with a maximum depth of 8 levels.
  • Finish interactive input with a blank line.
  • Running region load without a name starts interactive mode and cannot be used remotely in this form.

Example: Load a Public Region

region load
#Europe F

region save

This creates the #Europe region with flooding enabled.

Example: Load a Wildcard Region with Flooding

region load
* F

region save

This enables flooding for packets without region transport codes.

Example: Load a Wildcard Region Without Flooding

region load
*

region save

This creates a wildcard region without enabling flooding.

Example: Create Nested Regions

region load
#Europe F
  #UK
    #London
    #Manchester
  #France
    #Paris
    #Lyon

region save

This creates a hierarchy of regions, with #London and #Manchester under #UK, and #Paris and #Lyon under #France.

Example: Wildcard with Nested Regions

region load
* F
  #NorthAmerica
    #USA
      #NewYork
      #California
    #Canada
      #Ontario
      #Quebec

region save

This creates a regional hierarchy beneath the wildcard region. The wildcard's flooding setting allows packets without region transport codes to be flooded; it does not automatically mean every region-specific packet will be flooded regardless of its own rules.


2. Save Region Changes

Save changes made to the region configuration since the last reboot.

Command:

region save

Note: Run this command after making changes that you want to persist across reboots.


3. Allow Flooding for a Region

Enable flooding for a specified region.

Command:

region allowf <name>

Parameters:

ParameterDescription
nameRegion name, or * for the wildcard region.

Note: Allowing flooding for the wildcard region (*) permits packets without region transport codes to be flooded.

Example:

region allowf #Europe

4. Block Flooding for a Region

Disable flooding for a specified region.

Command:

region denyf <name>

Parameters:

ParameterDescription
nameRegion name, or * for the wildcard region.

Note: Blocking flooding for the wildcard region (*) drops packets without region transport codes.

Example:

region denyf #Europe

5. View Information for a Region

Display information about a specific region.

Command:

region get <name>

Parameters:

ParameterDescription
nameRegion name, or * for the wildcard region.

Example:

region get #Europe

6. View or Change the Home Region

View or set the home region configured for the node.

Commands:

region home
region home <name>

Parameters:

ParameterDescription
nameName of the region to use as the home region.

Examples:

region home
region home #UK

The first command displays the current home region. The second sets the home region to #UK.


7. View or Change the Default Scope Region

View or configure the default scope region for the node.

Commands:

region default
region default <name>
region default <null>

Parameters:

ParameterDescription
nameName of the region to use as the default scope.
<null>Resets or clears the default scope region.

Examples:

region default
region default #UK
region default <null>

Use the first command to view the current setting, the second to set a region, and the third to clear the default scope.


8. Create a New Region

Create a region and optionally specify its parent.

Command:

region put <name> [parent_name]

Parameters:

ParameterDescription
nameName of the new region.
parent_nameOptional parent region. Defaults to the wildcard region (*) when omitted.

Example:

region put #UK #Europe

This creates #UK as a child of #Europe.


9. Define a Region Hierarchy on One Line

Create or update a region hierarchy using a single command.

Command:

region def <token> [<token> ...]

The command starts with a logical cursor at the wildcard region (*). Each token creates a region beneath the current cursor and moves the cursor to that region.

Token Formats

Token formatBehaviour
nameCreates name as a child of the current cursor, then moves the cursor to name.
`namejump`
name,jumpAlternative syntax for `name

Important: The jump target must already exist on the node or have been created earlier in the same command. The jump target is where the cursor moves next; it does not become the parent of the region just created.

Example: Create a Linear Hierarchy

region def a b c d e
region save

This creates the following hierarchy:

*
└── a
    └── b
        └── c
            └── d
                └── e

Example: Create a Branched Hierarchy

region def a b c d|b e f
region save

This creates the equivalent of the following commands:

region put a
region put b a
region put c b
region put d c
region put e b
region put f e
region save

Example: Create a Flat List

To make each region a direct child of the wildcard region, use |* to return the cursor to the root between regions.

region def a|* b|* c|* d|* e|* f
region save

Example: Handle an Error

region def a b c|nope d

If nope does not exist, the command returns an error similar to:

Err - unknown jump: nope

Regions a, b, and c may already have been created before the error occurs, but d will not be created.

Recovery:

  1. Run region to inspect the current region tree.
  2. Correct the jump target and rerun the command, or repair the hierarchy using region remove and region put.
  3. Run region save when the configuration is correct.

Limits and Behaviour

  • Each command line is limited to 160 characters on a repeater's serial interface.
  • For larger hierarchies, split the definition across multiple region def commands.
  • The cursor resets to * at the start of each command. Use a token such as child|ancestor to reposition it.
  • Each token is split at most once on |. For example, region def a|b|c|d is not a shorthand for a flat list.
  • Newly created regions default to flood-allowed, matching the behaviour of region put.
  • Existing regions are not automatically removed. If a region already exists, its parent is updated to the current cursor.
  • Review the resulting tree before saving changes.

10. Remove a Region

Remove a region from the configuration.

Command:

region remove <name>

Parameters:

ParameterDescription
nameName of the region to remove.

Important: All child regions must be removed before their parent region can be removed.

Example:

region remove #London

11. View All Regions

List the configured regions, optionally filtering by their flooding permission.

Command:

region list <filter>

Parameters:

ParameterDescription
filterUse allowed to list regions allowed to flood or denied to list regions where flooding is blocked.

Availability: Serial only.

Firmware requirement: v1.12 or later.

Examples:

region list allowed
region list denied

12. Dump All Regions and Flood Permissions

Display all defined regions and their flooding permissions.

Command:

region

Availability: Serial only on firmware versions older than v1.12.0.


Important Notes

  • Save changes: Use region save after making changes you want to retain across reboots.
  • Region hierarchy: Indentation in region load and parent relationships in other commands determine how regions are organised.
  • Wildcard region: The * region is used for wildcard/default behaviour, particularly for packets without region transport codes.
  • Flooding permissions: Use region allowf and region denyf to control flooding for individual regions.
  • Firmware compatibility: Some commands and features depend on firmware version. Check the requirements before using them.
  • Review before saving: When using region def, inspect the resulting tree, especially if a command reports an error, because partial changes may remain.