Hier ein Liste der gebräuchlichsten CLI Befehle, die über die Konsole des Repeaters eingegeben werden können. Die CLI Befehle die nur über die serielle Schnittstelle funktionieren, sind hier nicht aufglistet.
| Befehl | Beispiel | Beschreibung |
|---|---|---|
| reboot | reboot | Erklärt sich von selbst. Es erfolgt keine Rückmeldung des Repeaters |
| poweroff or shutdown |
shutdown | Der Repeater wird ausgeschaltet Es erfolgt keine Rückmeldung des Repeaters |
| clkreboot | clkreboot | Die Uhr des Repeaters wird zurück gesetzt und dann der Repeater neu gestartet |
| clock sync | clock sync | Die Uhr des Repeaters wird mit der Uhr des Clients, also dem PC oder des SmartPhones synchronisiert, |
| clock | clock | Zeigt die aktuelle Uhrzeit des Repeaters in UTC an. Aber Achtung diese kann schnell mal einen Fehler aufweisen wenn nach einem Neustart buw. einem Stromausfall keine Synchronisierung erfolgt. |
| time <epoch_seconds> | time 1710000000 | Setzt die Zeit auf ekinen bestimmten UNIX Timestamp. Im Beispiel auf 1710000000 Sekunden nach dem 1.1.1970 |
| advert | advert | Sendet ein flood Advert‑Paket (Präsenzpaket), damit der Repeater im Netz sichtbar wird. |
| advert.zerohop | advert.zerohop | Sendet ein Advert zu den direkten Nachbarn. Diese leiten das advert nicht weiter. Nur zur lokalen Bekanntgabe. |
| start ota | start ota | Startet den OTA‑Modus (Over‑the‑Air‑Update), um Firmware drahtlos zu übertragen und zu installieren. |
| neighbors | neighbors | Listet die unmittgelbaren Nachbarn des Repeaters auf. Dabei werden die 8 zuletzt hinzugefügten Nachbarn angezeigt. Die Ausgabe sieht wie folgt aus: {pubkey-prefix}:{timestamp}:{snr*4}Beispiel: EB3A42C5:5358:46Timestamp ist die Zeit in Sekunden seit dem letzten advert |
| neighbor.remove <pubkey_prefix> | neighbor.remove EB3A42C5 | Ein Nachbar-Repeater wird aus der Liste gelöscht. Die skann erfolgen in dem der Prefix des Repeaters wie im Beispiel angegeben wird. Aber auch der koplette öffentliche Schlüssel kann angegeben werden.
Wird ein Leerzeichen nach neighbor.remove gesendet, dann wird die komplette Liste gelöscht. |
| discover.neighbors | discover.neighbors | Es wird nach neuen Nachbarn gesucht, per LoRa direkt erreicht werden können. Diese werden aber nicht sofort angezeigt. Die Nachbar-Repeater kann man sich über den Befehl neighbors anzeigen lassen |
| log start
log stop log erase log |
log start
log stop log erase |
Beginne mit der Erfassung des RX .Logs
Stoppe die Erfassung des RX-Logs Lösche das RX-Log Das Log kann logischerweise aufgrund seiner Größe nicht per Lora abgerufen werden sondern nur über die serielle Schnittstelle. |
| ver | ver | Zeigt die aktuelle Firmware Version des Repeaters an |
| board | board | Zeigt den Typ der verwendeten Hardware an. Beispiel: Heltic V3 |
| get radio
set radio <freq>,<bw>,<sf>,<cr> |
get radio
set radio 869.618, 62.5,8,8 |
Zeigt die Radioparameter des Repeaters an. Beispiel: get radio >869.6179808,62.5,8,8 <freq>,<bw>,<sf>,<cr> Wobei: freq: Frequenz in MHz: Bandbreite in kHz: Spreizfaktor (5-12): Codierungsrate (5-8)Die Radio Parameter des Repeaters werden gesetzt. Der Repeater muss neu gestartet werden, damit die Änderungen wirksam werden. |
| get tx
set tx <dbm> |
get tx
set tx 20 |
Zeigt die Sendeleistung des Repeaters an
Setzt die Ausgangsleistung des Repeaters. Hier 20dBm, das sind 100mW. |
| tempradio <freq>,<bw>,<sf>,<cr>,<timeout_mins> | tempradio 869.618, 62.5,8,8,5 | Die Radioparameter des Repeater werden nur tempörär gesetzt. Es sind die gleichen Parameter wie bei set radio. Zusätlich wird als letzter Wert noch die Zeit in Minuten angegeben, für die die Werte gelten sollten. Diese temporären Werte werden sofort für die angegebene Zeit wirksam. Bei einen Reboot werden diese (vorzeitig) gelöscht. |
| get radio.rxgain
set radio.rxgain <state> |
get radio.rxgain
set radio.rxgain on|off |
Zeigt an ob der Empfangsvorstärker eingeschaltet oder ausgeschaltet ist. Diesen Befehl gibt es erst ab Version 1.14. Nicht alle Lora Module bieten diese Funktion.
Mit diesem Befehl wird der Vorverstärker ein oder ausgeschaltet. |
| get name
set name <name> |
get name
set name DE-NW-HSK-Meschede |
Zeigt den Namen des Repeaters an. Beispiel: DE-NW-HSK-MeschedeEs wird ein neuer Name für den Repeter gesetzt. Der Name darf Maximal 23 Byte lang sein. Es dürfen Emojis und Unicode Zeichen verwendet werden. Es ist zu beachten, dass diese auch mehr als ein Byte belegen können Beispiel:📡DE-NW-HSK-Meschede |
| get lat
set lat <degrees> |
get lat
set lat 51.3446807 |
Zeigt den Breitengrad des Knotens an
Setzt den Breitengrad des Knotens auf 51.3446807 |
| get lon
set lon <degrees> |
get lon
set lat 8.2999601 |
Zeigt den Längengrad des Knotens an
Setzt den Längengrad des Knotens auf 8.2999601 |
| get prv.key
set prv.key <private_key> |
get prv.key
set prv.key <private_key> |
Anzeigen des privaten Schüssels
Setzen des privaten Schlüssels. Es ist ein Meustart erforderlich, damit der neue private Schlüssel wirksam wird. |
| password <new_password> | password asdfjklö | Setzen eines neuen Admin Passwortes. Das neue Passwort wird zur Bestätigung ausgegeben. |
| get guest.password
set guest.password <password> |
get guest.password
set guest.password asdfjklö |
Das Gast Passwort abfragen.
Das Gast Passwort auf einen neuen Wert setzen. Der Standartwert ist<blank> |
| get owner.info
set owner.info <text> |
get owner.info
set owner.info > Repeater Stimmstamm DB0HSK |
Zeigt die Eigentümerinfo des Knotens an. Beispiel: > Repeater Stimmstamm DB0HSK
Setzt die Eigentümerinformation des Knotens. | – Zeichen werden in Zeilenumbrüche umgewandelt. |
| get adc.multiplier
set adc.multiplier <value>
|
get adc.multiplier
set adc.multiplier 2
|
gibt den aktuellen aktuellen Korrekturfaktor für die Batterie-Spannungsmessung aus.
setzt den aktuellen aktuellen Korrekturfaktor für die Batterie-Spannungsmessung. Wenn dir dein Repeater oder Node eine falsche Akkuspannung oder einen falschen Prozentsatz anzeigt, kannst du den Wert mit set adc.multiplier <wert> kalibrieren. Falls das Board dies nicht unterstützt, wird eine Fehlermeldung ausgegeben. Wichtig: Dieser Befehl hat keinerlei Auswirkungen auf die tatsächliche Stromversorgung oder das Ladeverhalten des Geräts – er dient rein der korrekten Anzeige des Akkustands. |
| get public.key | get public.key | Öffentlichen Schlüssel des Knotens ausgeben |
| ver | ver | Firmwareversion dieses Knotens anzeigen. Z.B. v1.17.1-d929643 (Build: 14-Aug-2026) |
| get role | get role | Zeigt die rolle des Knotens an.
Z.B.: > repeater |
| powersaving
powersaving on powersaving off
|
powersaving
powersaving on powersaving off
|
Energiesparstatus dieses Knotens anzeigen
Energiesparstatus dieses Knotens ein oder ausschalten Der Mikrocontroller schaltet sich in Phasen, in denen keine Aktivität stattfindet, weitgehend ab. Dadurch sinkt der Stromverbrauch im Leerlauf oft von einigen Dutzend Milliampère auf wenige Mikroampère Ein echter Repeater sollte idealerweise permanent empfangsbereit sein, um durchfliegende Pakete sofort weiterzuleiten. Wenn der Repeater in den Energiesparmodus wechselt, kann es passieren, dass er Nachrichten verpasst, weil er gerade schläft. Hier führt Powersaving oft zu Paketverlusten im Mesh. |
| get repeat
get repeat <state> |
get repeat
set repeat on |
Abfragen ob der Knoten als Repeater arbeitet.
Mit set repeat off machst du aus einem Repeater einen ganz normalen „Client“. Wenn du die Funktion später wieder aktivieren möchtest, reicht ein set repeat on. |
| get path.hash.mode
set path.hash.mode <value> |
get path.hash.mode
set path.hash.mode 0 |
Zeigt an wieviel Byte des öffentlichen Schlüssels eines Knotens bei Adverts übertragen werden. Mögliche Werte 0, 1 oder 2.
Setzt die Zahl der Bytes des öffentlichen Schlüssels eines Knotens die bei Adverts übertragen gesendet werden. Der Sinn dahinter: Kürzere Hashes sparen wertvollen Platz im Funkpaket, während längere Hashes mehr eindeutige Geräte im Netz unterstützen. Um Platz im Funkpaket zu sparen, wird dieser Public Key abgeschnitten – man nimmt je nach eingestelltem Modus einfach das 1. Byte, die ersten 2 Bytes oder die ersten 3 Bytes als kompakte ID. |
| get loop.detect
set loop.detect <state> |
get loop.detect
set loop.detect on |
Fragt ab, ob die Schleifenerkennung aktuell eingeschaltet ist und mit welchem Parameter.
Schaltet lopp.detect ein, dabei gibt es 4 Parameter: off: Schleifenerkennung ist komplett deaktiviert. minimal: Ein Paket wird erst dann als Schleife verworfen, wenn die eigene Node-ID/Hash 4 Mal oder häufiger im Pfad auftaucht. moderate: Ein Paket wird erst dann als Schleife verworfen, wenn die eigene Node-ID/Hash 2 Mal oder häufiger im Pfad auftaucht. strict: Blockiert ein Paket sofort beim ersten Anzeichen dafür, dass es den eigenen Knoten/Pfad bereits passiert hat. In einem vermaschten Funknetz (Mesh) kann es passieren, dass ein Funkpaket im Kreis weitergeleitet wird (weil beispielsweise mehrere Repeater das Paket gegenseitig hin- und herschicken). Das verstopft unnötig den Äther und verschwendet Bandbreite. Die Schleifenerkennung verhindert das, indem sie solche Endlosschleifen (Loops) erkennt und die betroffenen Pakete verwirft. |
| get txdelay
set txdelay <value> |
get txdelay
set txdelay 0.5 |
Zeigt den Wert von txdelay an
Setzt einen Wert für txdelay Wenn mehrere nahe beieinander liegende Repeater dasselbe Flood-Paket empfangen, wartet jeder eine zufällige Zeitspanne, bevor er es erneut sendet, um gleichzeitige Kollisionen zu vermeiden. Dieser Faktor skaliert die Größe dieses zufälligen Zeitfensters. Höhere Werte verringern das Kollisionsrisiko, erhöhen aber die Latenzzeit. Der Wert 0 deaktiviert das Zeitfenster vollständig. Die Werte können zwischen 0 und 2 liegen |
| get direct.txdelay
set direct.txdelay <value> |
get direct.txdelay
set direct.txdelay 0.2 |
Wie txdelay aber für direkte Pakete von Companions die den Knoten erreichen.
Der Standardwert ist niedriger, da bei direkten Paketen deutlich weniger Knoten um die Weiterleitung konkurrieren. |
| get rxdelay
set rxdelay <value>
|
get rxdelay
set rxdelay <value>
|
Zeigt den Wert von rxdelay an
Setzt einen Wert für rxdelay Das Netz sorgt dadurch automatisch dafür, dass sich primär die stabilsten, direktesten Wege durchsetzen, während wackelige Pfade im Hintergrund gehalten werden. |
| get dutycycle
set dutycycle <value> |
get dutycycle
set dutycycle 10 |
Zeigt den Dutycycle in Prozent als maximale Sendezeit in einer Stunde an.
Setzt den Dutycycle in Prozent als maximale Sendezeit in einem Zeitraum von einer Stunde. In der Region der EU ist es gesetzlich vorgeschrieben, dass ein Funksender im LoRa-Band (868 MHz) ununterbrochen maximal 10 % der Zeit innerhalb einer Stunde senden darf, um andere Nutzer nicht zu blockieren. Hier wird ein gleitender Stundenwert zugrunde betrachtet. Wird dieser Wert erreicht, werden alle Aussendungen absolut blockiert bis dieser gleitende Stundenwert wieder unter 10% gesunken ist. |
| get af
set af <value>log |
get af
set af 9 |
Zeigt den Airtimefaktor an.
Setzt den Artimefaktor auf 9 Ein Airtimefaktor von 1 besagt, dass nach jedem gesendeten Paket genau so lange nicht gesendet wird, wie die Aussendung des aktuellen Paketes gedauert hat. Ein Airtimefaktor von 9 besagt, dass nach jedem gesendeten Paket 9x so lange nicht gesendet wird, wie die Aussendung des aktuellen Paketes gedauert hat. Ein AF von 9 passt exakt zum Dutycycle von 10%. Heißt aber, dass nach einer Sekunde Sendezeit immer 9 Sekunden nicht gesendet wird. Dass bedeutet, dass zwischen den einzelnen Pakten immer eine größere Zeitspanne liegt. Dies sorgt aber dafür, dass der Repeater nicht für den Großteil einer Stunde abgeschaltet werden muss um die 10% gesetliche Vorgabe einzuhalten. Heißt: Die AF sorgt dafür wie man die 10% Dutycycle erreichen will. Bei einem wenig frequentierten Repeater kann man die AF runter setzten. Die einzelnen Pakate kommen dann schnell hintereinander. Bei einem Repeater mit viel Verkehr sollte die AF hoch sein, damit der Repeater nicht plötzlich für einen großen Teil einer Stunde abgeschaltet ist. |
| get int.thresh
set int.thresh <value>
|
get int.thresh
set int.thresh 14
|
Zeigt den Schwellwert für lokale Interferenzen in dB an
Setzt den Schwellwert für lokale Interferenzen in dB. Ein Knoten misst kontinuierlich das aktuelle Grundrauschen, also den sogenannten Noise Floor. Wenn ein Paket weitergeleitet werden soll, prüft der Knoten zuerst, ob auf dem Kanal gerade andere Funksignale zu hören sind. Liegt der aktuelle RSSI-Wert (Empfangspegel) über dem Rauschen plus diesem Schwellenwert (int.thresh), stuft der Knoten den Kanal als „beschäftigt“ (busy) ein. Der Knoten verschiebt in dem Fall seine eigene Aussendung (verzögert also das Senden), um nicht genau in den Funkverkehr anderer Stationen hineinzusenden und Kollisionen zu provozieren. Bei einem niedrigen Wert von z.B. 1 wartet der Knoten schon bei schwachen Signalen mit dem Aussenden. Bei großen Werten z.B. 20, wartet der Knoten nur bei starken Fremdsignalen. Mit einem Wert von 0 schaltet man die automatische Erkennung von Fremdsignalen komplett aus. Dies tun die meisten Repeater. |
| get agc.reset.interval
set agc.reset.interval <value>region |
get agc.reset.interval
set agc.reset.interval 16 |
Zeit den Wert des AGC-Zurücksetzungs-Intervalls in Sekunden an.
Setzt den Wert des AGC-Zurücksetzungs-Intervalls in Sekunden. Die AGC regelt die Verstärkung bei starken Signalen herunter. Manchmal „verhakt“ sich der Chip dabei und bleibt zu unempfindlich. Das regelmäßige Zurücksetzen zwingt den Empfänger zur Neueinstellung, damit auch schwache Signale nicht verloren gehen. Dieser Wert sollte mindestens im Bereich von vielen Minuten liegen, um den Knoten nicht zu „schwächen“. Diese Funktion wird aber auch häufig durch eine 0 deaktiviert. |
| get multi.acks
set multi.acks <state> |
get multi.acks
set multi.acks 0 oder 1 |
Abfrage ob Multi-ACKs eingeschaltet ist
Mit diesem Befehl lässt sich Multi-ACKs ein (1) oder ausschalten (0) Der Zielknoten, für den die Nachricht bestimmt ist, schickt natürlich immer ein ACK zurück, damit der Empfänger weißt, dass die Nachricht angekommen ist. Wenn Multi-ACKs eingeschatet ist, bestätigt der Repeater auch für ein Paket, dass er nur weiterleitet, dass es angekommen ist. Die Funktion sparsam einsetzen, sie macht nur zu Testzwecken sinn. Außerdem werden die Netze stark belastet wenn dies viele Repeater machen. |
| get flood.advert.interval
set flood.advert.interval <hours> |
get flood.advert.interval
set flood.advert.interval 24 |
Zeigt das Zeitinterval an, in dem ein flood-Advert gesendet wird.
Setzt das Zeitinterval, in dem ein flood-Advert gesendet wird. |
| get advert.interval
set advert.interval <minutes> |
get advert.interval
set advert.interval 60 |
Zeit das Zeitinterval an, in dem ein Zero-Hop-Advert gesendet wird.
Setzt das Zeitinterval, in dem ein Zero-Hop-Advert gesendet wird. |
| get flood.max
set flood.max <value> |
get flood.max
set flood.max 5 |
Maximal zulässige Hops an einem Knoten abfragen
Maximal zulässige Hops für einem Knoten festlegen. Die Logik funktioniert nun so: Der Companion liefert von der App eine gewünscht Anzahl an Hops mit. Bei jedem Weiterleiten wird dieser Wert um 1 reduziert. Sobald der Wert 0 erreicht wird das Paket verworfen. Sollte bei einem Repeater ein Paket mit einem Hop-Zähler ankommen, die größer ist als der flood-max Wert des Repeaters , dann wird der Hop-Zähler auf den max-Wert des Repeaters heruntergestutzt. Dieses Vorgehen verhindert dass Pakete durch das ganze Netz geleitet werden. |
| get flood.max.unscoped
set flood.max.unscoped <value> |
get flood.max.unscoped
set flood.max.unscoped 5 |
Wie flood.max wird aber nur für Pakete angewendet, die keine Region gesetzt haben.
Hiermit kann man Nachrichten ohne Region auf wenige Hops begrenzen |
| get flood.max.advert
set flood.max.advert <value> |
get flood.max.advert
set flood.max.advert 5 |
Wie flood.max wird aber nur für Pakete von flood-Adverts angewendet.
Hiermit kann man flood-Adverts auf wenige Hops begrenzen |
| setperm <pubkey> <permissions> | setperm <pubkey> <permissions> | Räumt einem Companion mit den öffnetlichen Schlüssen <pubkey> folgende Rechte ein:
0: Guest Welchen <pubkey> welche Rechte zugeteilt wurden, kann nur seriel abgefragt werden. |
| region allowf <name> | region allowf de | Mit diesem Befehl können auch über die Kommandozeile die Regionen gesetzt werden, welche durch den Repeater weitergeleitet werden. Pakete mit Regionen, die nicht in der Liste aufgeführt sind, werden verworfen. Wenn Pakete ohne Region weitergeleietet werden sollen, so nutzt man die Wildcard „*“ Für jede zu setzende Region ist dieser Befehl einmal auszuführen. |
| region denyf <name> | region denyf hsk | Mit diesem Befehl wird erreicht, dass z.B. die Region hsk nicht weitergeleitet sondern verworfen wird.
Bei region denyf * werden Pakte ohne Region verworfen |
| region get <name> | region get de | Für die Region <name> anzeigen lassen ob diese weitergeleitet wird oder nicht. |
| region home
region home <name> |
region home
region home hsk |
Setzt alle Einstellungen zurück. |
| region default
region default <name> region default <null>
|
region default
region default hsk region default <null>
|
Default Region eines Knoten abfragen
Setzt eine Default-Region für einen Knoten Löscht die default-Region Wenn ein Node eine Nachricht bzw. ein Flood-Packet ohne ausdrücklich angegebene Region erzeugt, soll standardmäßig die Region die default Region als Scope verwendet werden. |
| gps
gps <state>
|
gps
gps on | off
|
GPS Statgus abfragen
GPS ein oder ausschalten Funktioniert natgürlich nur bei Modulen mit GPS-Epfänger |
| gps sync | gps sync | Die interne Zeit des Repeaters mit der GPS-Zeit synchronisieren. Funktioniert natgürlich nur bei Modulen mit GPS-Epfänger |
| gps setloc | gps setloc | Standort des Nodes via GPS setzen |
| gps advert
gps advert <policy>
|
gps advert
gps advert <policy>
|
Zeigt die aktuell konfigurierte Richtlinie (Policy) an, wie oder ob GPS-Standortdaten über das Mesh-Netzwerk geteilt werden.
Legt fest, nach welcher Richtlinie der eigene Standort an das Mesh gesendet wird. none: Standort in Adverts nicht teilen |








Du muss angemeldet sein, um einen Kommentar zu veröffentlichen.