Dies ist eine alte Version des Dokuments!


Kanäle, Regions & Scopes

Mit zunehmender Größe des MeshCore-Netzwerks wird es immer wichtiger, Funkverkehr dort zu halten, wo er tatsächlich benötigt wird.

Eine Nachricht für Wien muss normalerweise nicht durch ganz Österreich weitergeleitet werden. Ein Test aus Niederösterreich muss nicht automatisch ganz Österreich erreichen. Genau dafür verwendet MeshCore Regions bzw. Scopes.

Das Ziel von Scoping ist nicht, Kommunikation einzuschränken, sondern das verfügbare Funknetz effizienter zu nutzen:

  • weniger unnötige Airtime
  • weniger unnötige Weiterleitungen
  • weniger Belastung weit entfernter Repeater
  • bessere Skalierbarkeit bei wachsender Teilnehmerzahl

Die nachfolgenden Befehle beziehen sich ausschließlich auf die Verwendung der CLI (Command Line Interface) eingaben. Hier wird aktuell NICHT das Meshcore-GUI (iOS/Android APP) erklärt.

Die wichtigste Grundregel lautet: So groß wie notwendig, aber so lokal wie sinnvoll.

Für Firmware 1.12 und neuer werden Public Regions in der MeshCore-GUI und in der Repeater-CLI ohne führendes # geschrieben.

Für Neueinsteiger reicht zunächst dieses Modell:

CHANNEL
= In welcher Gruppe schreibe ich?

SCOPE
= Für welches geografische Gebiet soll die Nachricht verteilt werden?

REGION AM REPEATER
= Welche gescopten Nachrichten leitet dieser Repeater weiter?

Beispiel für den österreichweiten Channel:

Channel: #austria
Scope:   at

Auf dem Repeater heißt die dazugehörige Public Region:

at

Damit ergibt sich:

#austria
   |
   +--> Scope: at
            |
            +--> Repeater mit Public Region at

Hashtag-Channels und Public Regions werden bewusst unterschiedlich geschrieben:

Bedeutung Schreibweise auf dieser Seite Beispiel
Hashtag-Channel immer mit # #austria
Scope ohne # at
Public Region in der Repeater-CLI ohne # at
kein Scope / unscoped * *

Wenn wir schreiben:

Channel: #vienna
Scope:   at-w

ist #vienna der Channel. at-w ist zugleich Scope und Name der Public Region auf dem Repeater.

Ein Channel ist die Kommunikationsgruppe.

Beispiele:

#austria
#vienna
#noe
#ooe
#inn-salzach
#english
#test
#bot

Der Scope bestimmt dagegen, in welchem geografischen Bereich eine Nachricht sinnvoll weitergeleitet werden soll.

Beispiel:

#austria
Scope: at

Ein lokaler Wiener Channel verwendet dagegen:

#vienna
Scope: at-w

Eine Region ist eine hierarchisch organisierte geografische Kennzeichnung.

Auf einem Repeater können beispielsweise folgende Public Regions hinterlegt sein:

*
europe
at
at-ost
at-w

Der Repeater entscheidet anhand seiner konfigurierten Regions und Flood-Berechtigungen, welche gescopten Flood-Pakete er weiterleiten darf.

Der Befehl:

region

zeigt die Regions-Hierarchie und deren Flood-Status an.

Beispielsweise:

*^ F
europe F
  at F
    at-ost F
      at-w F

Das F bedeutet, dass Flooding für diese Region erlaubt ist.

Das ist besonders wichtig für die Konfiguration:

Neu mit region put angelegte Regions sind bereits standardmäßig für Flooding freigegeben.

Wenn nach:

region put at-w at-ost

die Antwort:

OK - (flood allowed)

erscheint, ist ein zusätzliches:

nicht notwendig.

Dasselbe gilt für alle weiteren mit region put neu erzeugten Regions.

region allowf wird daher hauptsächlich benötigt, wenn:

  • eine bereits vorhandene Region aktuell gesperrt ist,
  • eine zuvor mit region denyf deaktivierte Region wieder freigegeben werden soll,
  • oder der Wildcard-Eintrag * gezielt für ungescopte Pakete aktiviert werden soll.

Der Scope ist die Region, die für eine Nachricht bzw. einen Channel verwendet wird.

Wenn wir schreiben:

Scope: at-w

meinen wir die öffentliche MeshCore-Region:

at-w

* ist ein Sonderfall.

Der Wildcard-Eintrag:

*

steuert insbesondere den Umgang mit Flood-Paketen ohne Region Transport Code, also mit ungescopten Paketen.

Beispiel:

region allowf *

bedeutet:

Ungescopte Flood-Pakete dürfen weitergeleitet werden.

Dagegen:

region denyf *

bedeutet:

Ungescopte Flood-Pakete werden verworfen.

Wichtig:

Wenn die Ausgabe von:

region

bereits beispielsweise:

*^ F

zeigt, ist auch:

region allowf *

bereits nicht mehr notwendig.

Wir empfehlen daher grundsätzlich:

Zuerst region ansehen und nur Flood-Berechtigungen ändern, die tatsächlich geändert werden müssen.

Ohne Scoping könnte beispielsweise eine lokale Wiener Nachricht über immer weitere Repeater verbreitet werden:

Wien
 |
 +--> Niederösterreich
       |
       +--> Oberösterreich
             |
             +--> Salzburg
                   |
                   +--> Tirol
                         |
                         +--> ...

Für eine lokale Nachricht ist das meistens unnötig.

Mit:

Scope: at-w

kann die Kommunikation auf die dafür vorgesehene Infrastruktur beschränkt werden.

GLOBAL / UNSCOPED
*
|
+-- europe
      |
      +-- at
           |
           +-- at-ost
           |     |
           |     +-- at-w
           |     +-- at-noe
           |     +-- at-bgld
           |
           +-- at-sued
           |     |
           |     +-- at-stmk
           |     +-- at-ktn
           |
           +-- at-west
                 |
                 +-- at-ooe
                 +-- at-sbg
                 +-- at-t
                 +-- at-vbg

Die Public Regions auf dem Repeater lauten:

europe
at

at-ost
at-sued
at-west

at-w
at-noe
at-bgld

at-stmk
at-ktn

at-ooe
at-sbg
at-t
at-vbg
*

Für Flood-Pakete ohne Region Transport Code.

Scope:

europe

Public Region:

europe

Für länderübergreifende Kommunikation.

Scope:

at

Public Region:

at

Für österreichweite Kommunikation.

at-ost
at-sued
at-west

bzw. auf dem Repeater:

at-ost
at-sued
at-west
Gebiet Scope Public Region
Wien at-w at-w
Niederösterreich at-noe at-noe
Burgenland at-bgld at-bgld
Steiermark at-stmk at-stmk
Kärnten at-ktn at-ktn
Oberösterreich at-ooe at-ooe
Salzburg at-sbg at-sbg
Tirol at-t at-t
Vorarlberg at-vbg at-vbg
Channel Verwendung Empfohlener Scope Public Region
Public allgemeiner MeshCore-Standardchannel kein Scope / unscoped *
#austria österreichweite allgemeine Kommunikation at at
#vienna Wien at-w at-w
#noe Niederösterreich at-noe at-noe
#ooe Oberösterreich at-ooe at-ooe
#inn-salzach Innviertel / Salzburg / regionale Kommunikation at-west at-west
#english englischsprachige / internationale Kommunikation europe europe
#slovakia grenzüberschreitende Kommunikation Richtung Slowakei europe europe
#hungary grenzüberschreitende Kommunikation Richtung Ungarn europe europe
#czech grenzüberschreitende Kommunikation Richtung Tschechien europe europe
#ping gezielter Reichweiten-/Erreichbarkeitstest passend zum Testziel passende Public Region
#test allgemeine technische Tests nächsthöhere Großregion z.B. at-ost
#bot Bots und automatisierte Systeme nächsthöhere Großregion z.B. at-ost
#wetter-simmering Wetterdienst Wien / Simmering at-w at-w

Der gemeinsame österreichweite Channel:

#austria

verwendet:

Scope: at

bzw. als Public Region:

at
Channel:       #vienna
Scope:         at-w
Public Region: at-w
Channel:       #noe
Scope:         at-noe
Public Region: at-noe
Channel:       #ooe
Scope:         at-ooe
Public Region: at-ooe

#inn-salzach deckt einen größeren Bereich im Westen Österreichs ab.

Empfehlung:

Channel:       #inn-salzach
Scope:         at-west
Public Region: at-west

Für:

#english
#slovakia
#hungary
#czech

empfehlen wir derzeit:

Scope: europe
Public Region: europe

Sollten künftig abgestimmte nationale oder grenzüberschreitende Regions-Strukturen existieren, kann diese Empfehlung entsprechend angepasst werden.

#test und #bot verwenden bewusst nicht den lokalen Bundesland-Scope, sondern die direkt darüberliegende österreichische Großregion.

Standort Lokaler Scope Scope für #test / #bot Public Region
Wien at-w at-ost at-ost
Niederösterreich at-noe at-ost at-ost
Burgenland at-bgld at-ost at-ost
Steiermark at-stmk at-sued at-sued
Kärnten at-ktn at-sued at-sued
Oberösterreich at-ooe at-west at-west
Salzburg at-sbg at-west at-west
Tirol at-t at-west at-west
Vorarlberg at-vbg at-west at-west

Beispiel Wien:

#vienna
Scope: at-w

#test
Scope: at-ost

#bot
Scope: at-ost

Der Scope von #ping richtet sich danach, welcher Bereich tatsächlich getestet werden soll.

lokal Wien       -> at-w
Ostösterreich    -> at-ost
Österreich       -> at
Channel:       #wetter-simmering
Scope:         at-w
Public Region: at-w
Lokaler / Bundesland-Channel?
        |
        +--> lokaler Scope

#test oder #bot?
        |
        +--> nächsthöhere Großregion

Mehrere Bundesländer einer Großregion?
        |
        +--> at-ost / at-sued / at-west

Ganz Österreich?
        |
        +--> at

Länderübergreifend?
        |
        +--> europe

Für die Konfiguration gibt es zwei relevante Möglichkeiten:

  • lokal über USB und die Console von flasher.meshcore.io
  • nachträglich über die Remote Command Line eines Repeaters

Dieser Punkt ist für eine möglichst einfache Konfiguration besonders wichtig.

Die aktuelle MeshCore-CLI legt neue Regions mit:

region put

standardmäßig bereits als flood-allowed an.

Beispiel:

region put europe

Antwort:

OK - (flood allowed)

Damit ist keine weitere Freigabe erforderlich.

Dasselbe gilt beispielsweise für:

region put at europe
region put at-ost at
region put at-w at-ost

Wenn diese Befehle erfolgreich waren, ist keine zusätzliche Flood-Freigabe notwendig.

Die früher auf dieser Seite gezeigten Konfigurationsblöcke mit region allowf nach jedem region put waren daher unnötig ausführlich.

region allowf bleibt ein wichtiger Befehl.

Er wird aber nur benötigt, wenn eine Region bereits existiert und aktuell nicht für Flooding freigegeben ist.

Beispiel:

region get at-w

zeigt, dass Flooding gesperrt ist. Daran zu erkennen, das nach der jeweiligen Region kein „F“ steht!

Dann:

region allowf at-w
region save

Ein weiterer häufiger Anwendungsfall ist der Wildcard-Eintrag:

*

Wenn:

region

kein F beim Wildcard-Eintrag zeigt und ungescopte Pakete weiterhin erlaubt sein sollen:

region allowf *
region save

Zeigt region dagegen bereits:

*^ F

ist auch dieser Befehl nicht erforderlich.

Repeater per USB verbinden und:

https://flasher.meshcore.io

öffnen.

Danach die Console öffnen und den seriellen Port auswählen.

ver

Immer zuerst:

region

Das zeigt die bestehende Regions-Hierarchie und den Flood-Status.

Nur ändern, was tatsächlich geändert werden muss.

Beispiel Wien:

*
└── europe
    └── at
        └── at-ost
            └── at-w

Konfiguration:

region def europe at at-ost at-w

Optional bei entsprechender Funkabdeckung:

region put at-noe at-ost

Danach:

region

Die neuen Regions sollten bereits mit F angezeigt werden.

Wenn alles korrekt ist:

region save

Es sind keine zusätzlichen region allowf #…-Befehle erforderlich.

Zuerst:

region

Angenommen vorhanden:

*
└── europe
    └── at
        └── at-ost
            └── at-w

Niederösterreich ergänzen:

region put at-noe at-ost

Danach:

region

und:

region save
region get at
region get at-ost
region get at-w

Nur wenn eine bestehende Region gesperrt ist:

region allowf at-w
region save
region denyf at-w
region save

Serielle CLI, Firmware 1.12+:

region list allowed

bzw.:

region list denied
region remove at-noe
region save

Child-Regions müssen zuerst entfernt werden.

MeshCore besitzt derzeit keinen eigenen:

region reset

oder:

region clear

Befehl.

Soll die Regions-Struktur vollständig neu aufgebaut werden, müssen die bestehenden Regions von unten nach oben entfernt werden.

Beispiel:

europe
└── at
    └── at-ost
        ├── at-w
        └── at-noe

Entfernen:

region remove at-w
region remove at-noe
region remove at-ost
region remove at
region remove europe

Danach:

region

prüfen.

Wenn nur noch * vorhanden ist, kann die neue Struktur angelegt werden.

Am Ende:

region save

Der Befehl:

erase

ist kein Regions-Reset, sondern ein vollständiger Factory Reset des Nodes und sollte dafür nicht verwendet werden.

Der Default Scope ist die Region, mit der der Repeater seine eigenen Flood-Adverts versieht. Mit region default at werden die eigenen Flood-Adverts mit dem Scope at gesendet. Andere Repeater leiten diese Adverts nur weiter, wenn sie diese Region kennen und dafür Flooding erlauben.

Damit bestimmt der Default Scope vor allem, wie weit der Repeater selbst im Mesh sichtbar wird und wo andere Nodes eine Route zu ihm lernen können. Ein engerer Scope hält seine Adverts regional; ein breiterer Scope macht ihn über einen größeren Bereich sichtbar.

Er beeinflusst nicht, welche fremden oder empfangenen Pakete der Repeater weiterleitet. Dafür sind weiterhin die Regions-Hierarchie und die Flood-Berechtigungen zuständig.

Anzeigen:

region default

Setzen:

region default at

Entfernen:

region default null;

Der Default Scope bestimmt nicht, welche fremden Flood-Pakete weitergeleitet werden.

Beispiel: region default at-ost kann sinnvoll sein, damit die Adverts eines Repeaters in ganz Ostösterreich sichtbar sind. Die Wahl hängt von der gewünschten Erreichbarkeit ab, nicht nur vom exakten Standort.

Ein Default Scope ist daher optional. Ohne Default Scope bleiben eigene Flood-Adverts ungescopt. Soll keine Standardregion gesetzt sein, kann der Wert leer bleiben oder mit region default null entfernt werden.

region def definiert eine Regions-Hierarchie in einer Zeile. Jeder Name wird Child der davor aktuellen Region. Mit | wird nach dem Anlegen wieder zu einer bereits vorhandenen Region zurückgesprungen, um einen weiteren Ast anzulegen.

Für einen neuen Wiener Repeater:

region def europe at at-ost at-w
region
region save

Das entspricht diesen vier region put-Befehlen, ist aber kürzer. Neue Regions sind auch bei region def standardmäßig flood-erlaubt. Zusätzliche region allowf #…-Befehle sind daher nicht nötig.

Mehrere Child-Regions in einem Ast:

region def europe at at-ost at-w|at-ost at-noe|at-ost at-bgld
region
region save

Dabei wird at-w unter at-ost angelegt, mit |at-ost wieder dorthin zurückgesprungen und anschließend at-noe bzw. at-bgld angelegt.

Wichtig bei bestehenden Regions: region def löscht keinen vorhandenen Tree. Existiert ein Name bereits, kann dessen Parent aktualisiert werden. Bei einem Fehler bleiben die bis dahin verarbeiteten Änderungen bestehen. Daher immer zuerst region prüfen, nach region def nochmals region kontrollieren und erst dann region save ausführen.

Eine Repeater-Zeile ist auf 160 Zeichen begrenzt. Für größere Bäume mehrere region def-Zeilen verwenden. Jede neue Zeile beginnt wieder bei *; den gemeinsamen Pfad daher erneut ausschreiben.

Für größere Strukturen existiert:

region load

Beispiel:

region load
europe F
  at
    at-ost
      at-w

**Leerzeile** beendet die Eingabe!

region save

Bei region load kann das F explizit gesetzt werden. Child-Regions können die Flood-Einstellung des Parents übernehmen.

Der interaktive Aufruf von region load ohne Argument funktioniert nicht sinnvoll über die Remote-CLI.

Wenn Remote Administration eingerichtet ist:

  • Repeater auswählen
  • Remote Administration öffnen
  • Command Line öffnen

Zuerst:

ver
region

Dann nur die notwendigen Änderungen durchführen.

Beispiel Wien:

region put europe
region put at europe
region put at-ost at
region put at-w at-ost

Optional:

region put at-noe at-ost

Danach:

region

prüfen.

Wenn die neuen Regions mit F angezeigt werden:

region save

Mehr ist nicht notwendig.

region put at-noe at-ost
region
region save

Nur wenn erforderlich:

region allowf at-noe
region save
region denyf at-noe
region save
region remove at-noe
region save

region denyf * verwirft ungescopte Flood-Pakete.

Vorher sicherstellen:

  • benötigte Public Regions sind vorhanden
  • Parent-Child-Struktur ist korrekt
  • benötigte Regions sind flood-allowed
  • angrenzende Repeater unterstützen die benötigten Regions
  • gewünschte Kommunikation funktioniert
  • Remote-Zugriff funktioniert weiterhin

Wenn:

region

bereits:

*^ F

zeigt, muss region allowf * nicht erneut gesetzt werden.

Aktuellen Wert anzeigen:

get flood.max.unscoped

Beispielsweise:

set flood.max.unscoped 3

Damit können ungescopte Nachrichten noch lokal weiterlaufen, ohne unnötig weit geflutet zu werden.

Die folgenden Beispiele sind bewusst minimal gehalten.

Da region put neue Regions bereits flood-allowed anlegt, werden keine redundanten region allowf #…-Befehle mehr verwendet.

Nach jedem Aufbau sollte mit:

region

geprüft werden, ob die benötigten Einträge ein F besitzen.

region put europe
region put at europe
region put at-ost at
region put at-w at-ost

region default at

region
region save

Optional Niederösterreich & Burgenland:

region def europe at at-ost at-noe|at-ost at-bgld
region
region save
region def europe at at-ost at-noe

region default at

region
region save

Optional Wien & Burgenland:

region def europe at at-ost at-w|at-ost at-bgld
region
region save
region def europe at at-ost at-bgld

region default at

region
region save

Optional Niederösterreich & Wien:

region def europe at at-ost at-noe|at-ost at-w
region
region save
region def europe at at-sued at-stmk

region default at

region
region save
region def europe at at-sued at-ktn

region default at

region
region save
region def europe at at-west at-ooe

region default at

region
region save
region def europe at at-west at-sbg

region default at

region
region save
region def europe at at-west at-t

region default at

region
region save
region def europe at at-west at-vbg

region default at

region
region save

Nein.

Ein Repeater soll jene Regions kennen, die aufgrund seines Standortes und seiner Funkabdeckung sinnvoll sind.

Grenzrepeater können mehrere benachbarte lokale Regions besitzen.

Beispiel Wien / Niederösterreich:

at-w
at-noe

gemeinsamer Parent:

at-ost

Firmware:

ver

Regions-Hierarchie:

region

Neue Region:

region put #NAME #PARENT

Wichtig:

region put

legt neue Regions bereits flood-allowed an.

Einzelne Region:

region get #NAME

Bestehende gesperrte Region wieder erlauben:

region allowf #NAME

Region sperren:

region denyf #NAME

Ungescopte Pakete erlauben, falls noch nicht erlaubt:

region allowf *

Region entfernen:

region remove #NAME

Default Scope:

region default #NAME

Default Scope löschen:

region default null

Hierarchie kompakt anlegen:

region def europe at at-ost at-w

Speichern:

region save
1. ver

2. region

3. benötigte Regions mit region put anlegen

4. region

5. prüfen, ob die neuen Regions mit F markiert sind

6. nur falls nötig:
   region allowf ...

7. Default Scope setzen

8. region

9. region save
1. region

2. bestehende Struktur verstehen

3. nur fehlende Regions mit region put ergänzen

4. region

5. nur gesperrte benötigte Regions mit region allowf aktivieren

6. nicht mehr benötigte Regions bei Bedarf entfernen

7. region

8. region save
  • erase ist kein Regions-Reset, sondern ein Factory Reset des gesamten Nodes. AUFPASSEN

Companion:

  • #austria ist ein Channel (Companion).
  • at schreiben wir auf dieser Seite als Scope (Companion).
  • daher ist der Kanal #austria mit dem Scope at in Verwendung (Companion).
  • Normale lokale Channels verwenden den lokalen Scope (Companion).
  • #test und #bot verwenden die nächsthöhere Großregion (Companion).
  • #ping verwendet den Scope des tatsächlich getesteten Gebiets (Companion).

Repeater bzw. Repeater Admin Konfiguration im Companion Remote, oder über Serial:

  • Die Public Region dazu heißt at.
  • Die region-Ausgabe kann Public Regions je nach Firmware ohne führendes # anzeigen.
  • F bedeutet, dass Flooding für die betreffende Region erlaubt ist.
  • region put legt neue Regions bereits standardmäßig flood-allowed an, selbiges bei region def.
  • Deshalb sind zusätzliche region allowf #…-Befehle nach erfolgreichen region put-Befehlen normalerweise überflüssig.
  • region allowf ist vor allem für bereits vorhandene, gesperrte Regions oder für * relevant.
  • Auch region allowf * ist nur erforderlich, wenn * nicht bereits mit F angezeigt wird.
  • * steuert ungescopte Flood-Pakete und bedeutet nicht einfach „alle Regions“.
  • Nicht jeder Repeater benötigt alle österreichischen Regions.
  • Vor jeder Änderung zuerst region ausführen.
  • Nach Änderungen erneut region prüfen.
  • Erst danach region save verwenden.
  • Es gibt keinen eigenen region reset-Befehl; für einen Neuaufbau werden Regions von unten nach oben mit region remove entfernt.
  • region load ohne Argument ist interaktiv und nicht für Remote-CLI geeignet.
ÖSTERREICHWEIT

#austria
Scope: at
LOKAL WIEN

#vienna
Scope: at-w
TEST / BOT AUS WIEN

#test / #bot
Scope: at-ost

Und für die Repeater-Konfiguration:

region put europe
region put at europe
region put at-ost at
region put at-w at-ost

region
region save

Wenn region danach:

europe F
  at F
    at-ost F
      at-w F

zeigt, ist alles bereits für Flooding freigegeben.

Zusätzliche Flood-Freigaben sind dann nicht notwendig.

So bleibt die Konfiguration einfacher, verständlicher und näher am tatsächlichen Verhalten der MeshCore-CLI.

  • regionen_und_scopes.1786899850.txt.gz
  • Zuletzt geändert: 2026/08/16 17:04
  • von bmke-a-2345-tdeck