lsc-CLI-Referenz

lsc ist die Kommandozeilen-Schnittstelle zum Steuern und Überwachen von LibreScoot. Das Tool läuft auf dem Roller (MDB) und spricht mit den Services über Redis.

Zugriff
Per SSH auf das MDB einloggen und lsc direkt ausführen, oder von deinem Arbeitsrechner aus Befehle per ssh deep-blue voranstellen.
ssh root@<mdb-ip> lsc status

Schnellreferenz

lsc status                     # Gesamt-Dashboard des Fahrzeugs
lsc unlock                     # Roller aufsperren
lsc lock                       # Roller abschließen
lsc open                       # Helmfach öffnen
lsc battery                    # Akku-Diagnose
lsc faults                     # Aktive Fehler anzeigen
lsc ota status                 # OTA-Update-Status
lsc settings list              # Alle Einstellungen anzeigen
lsc set <key> <val>           # Einstellung ändern
lsc alarm arm                  # Bewegungsalarm scharfschalten
lsc alarm disarm               # Alarm entschärfen
lsc service list               # Laufende Services auflisten
lsc logs                       # Log-Bundle exportieren

Befehle

status

Zeigt ein Dashboard der wichtigsten Metriken: Fahrzeugzustand, Geschwindigkeit, Kilometerstand, Akkustände, Konnektivität, GPS.

lsc status

watch

Überwacht Redis-Pub/Sub-Channels. Zeigt Zustandsänderungen in Echtzeit.

lsc watch                   # Alle Channels beobachten
lsc watch vehicle battery:0 # Bestimmte Channels
FlagBeschreibung
--format <fmt>Ausgabeformat: pretty (Standard), json, raw
--filter <regex>Nachrichten per Regex filtern

monitor

Zeichnet Metriken über die Zeit auf, für ein oder mehrere Subsysteme. Schreibt Zeitstempel-Daten in Dateien und packt ein komprimiertes Archiv.

lsc monitor gps battery          # GPS- und Akkudaten aufzeichnen
lsc monitor all                  # Alles aufzeichnen
lsc monitor --duration 5m motor  # Motordaten 5 Minuten aufzeichnen

Subsysteme: gps, battery, vehicle, motor, power, modem, events, all.

FlagBeschreibung
--duration <time>Aufzeichnungsdauer (Standard: 1h). Beispiele: 1m, 5m, 1h, 24h
--interval <time>Poll-Intervall (Standard: 1s). Beispiele: 100ms, 1s, 5s
--format <fmt>Ausgabeformat: jsonl (Standard), csv
--output <dir>Ausgabeordner (automatisch generiert, wenn nicht angegeben)

vehicle

Steuert den Sperr-/Entsperr-Zustand, Hibernate und das Helmfach.

SubbefehlBeschreibung
vehicle lockRoller abschließen (Wechsel in stand-by)
vehicle unlockRoller aufsperren (Wechsel in parked/ready)
vehicle hibernateAbschließen und Hibernate anfordern
vehicle force-lockstand-by erzwingen, ohne auf physische Schlösser zu warten
vehicle openHelmfach-Schloss öffnen

Alle vehicle-Subbefehle akzeptieren --no-block, um direkt zurückzukehren, ohne auf die Bestätigung der Zustandsänderung zu warten.

Top-Level-Abkürzungen: lsc lock, lsc unlock, lsc open.

alarm

Steuert die bewegungsbasierte Alarmanlage.

SubbefehlBeschreibung
alarm statusAlarmstatus und -einstellungen anzeigen
alarm armAlarm aktivieren; schärft sich, sobald das Fahrzeug in stand-by geht. --no-block, um die Bestätigung zu überspringen.
alarm disarmAlarm deaktivieren. --no-block überspringt die Bestätigung.
alarm trigger [duration]Alarm für duration Sekunden manuell auslösen

ota

OTA-Update-Verwaltung für MDB und DBC.

SubbefehlBeschreibung
ota statusUpdate-Status für MDB und DBC anzeigen
ota check [mdb|dbc]Sofortige Update-Prüfung anstoßen (Standard: beide)
ota channel [channel]Aktuelle Kanäle anzeigen oder MDB und DBC auf stable, testing oder nightly setzen
ota install <file-or-url>Ein OTA-Update manuell installieren
ota complete-dbcFeststeckenden DBC-Update-Status löschen. Benutze das, wenn das DBC-Update im Zustand „rebooting" hängt oder nicht abschließt. Setzt den Update-Status zurück, damit das System es neu probieren kann.

settings

Persistente Roller-Einstellungen anzeigen und ändern (in Redis gespeichert).

SubbefehlBeschreibung
settings listAlle Einstellungen mit aktuellen Werten auflisten
settings get <key>Einen oder mehrere Einstellungswerte holen
settings set <key> <value>Einstellung setzen und Änderung publizieren. --force überspringt die Validierung.
settings del <key>Einstellungs-Key löschen

Top-Level-Abkürzungen: lsc get <key>, lsc set <key> <value>, lsc del <key>.

Du kannst mehrere Key-Value-Paare in einem Befehl setzen: lsc set alarm.enabled true alarm.honk false.

Häufig genutzte Einstellungen:

KeyBeschreibungWerte
Alarm
alarm.enabledAlarmanlage an-/ausschaltentrue / false
alarm.honkHupe während des Alarms aktivierentrue / false
alarm.durationAlarmdauerSekunden
alarm.seatbox-triggerAlarm auslösen, wenn unautorisiert das Helmfach geöffnet wirdtrue / false
alarm.hairtriggerKurzer Sofort-Alarm bei erster Bewegungtrue / false
alarm.hairtrigger-durationDauer des Hair-Trigger-AlarmsSekunden
OTA-Updates
updates.mdb.methodUpdate-Methode für das MDBdelta / full
updates.mdb.channelRelease-Kanal für das MDBstable / testing / nightly
updates.mdb.check-intervalAbstand zwischen Update-Prüfungen für das MDBStunden (0 = aus)
updates.dbc.methodUpdate-Methode für das DBCdelta / full
updates.dbc.channelRelease-Kanal für das DBCstable / testing / nightly
updates.dbc.check-intervalAbstand zwischen Update-Prüfungen für das DBCStunden (0 = aus)
Dashboard
dashboard.themeUI-Themelight / dark / auto
dashboard.modeStandard-Bildschirmmodusspeedometer / navigation
dashboard.show-raw-speedUnkorrigierte Rohgeschwindigkeit der ECU anzeigentrue / false
dashboard.show-clockUhr-Sichtbarkeitalways / never
dashboard.show-gpsGPS-Indikator-Sichtbarkeitalways / active-or-error / error / never
dashboard.show-bluetoothBluetooth-Indikator-Sichtbarkeitalways / active-or-error / error / never
dashboard.show-cloudCloud-Indikator-Sichtbarkeitalways / active-or-error / error / never
dashboard.show-internetInternet-Indikator-Sichtbarkeitalways / active-or-error / error / never
dashboard.battery-display-modeAkkuanzeige-Moduspercentage / range
dashboard.power-display-modeLeistungsanzeige-Einheitkw / amps
dashboard.map.typeKachelquelleonline / offline
dashboard.map.render-modeKarten-Rendering-Modusvector / raster
dashboard.valhalla-urlEndpunkt des Valhalla-Routing-ServiceURL
dashboard.blinker-styleDarstellungsstil für den Blinker-Indikatoricon / overlay
dashboard.languageSprache des Dashboard-UISprachcode
Motor
engine-ecu.boostMotor-Boost-Modus aktivierentrue / false
engine-ecu.kersRekuperation (KERS)enabled / disabled
engine-ecu.kers-powerKERS-RegenerationsstromAmpere
Sonstiges
cellular.apnAPN-String für Mobilfunkstring
scooter.battery-ignores-seatboxAkkus unabhängig vom Helmfach aktiv haltentrue / false
scooter.dual-batteryZweitbatterie-Modus aktivierentrue / false
scooter.auto-standby-secondsTimeout für automatisches Abschließen im StandSekunden (0 = aus)
scooter.enable-hornHupen-Modustrue / false / in-drive
hibernation-timerHibernate-TimeoutSekunden

gps

GPS-Tracking und Positionsinformationen.

SubbefehlBeschreibung
gps statusGPS-Zustand und aktuellen Fix anzeigen
gps watchGPS-Updates in Echtzeit streamen. --compact für einzeiliges Format.

keycard

NFC-Keycard-Authentifizierung verwalten.

SubbefehlBeschreibung
keycard listAutorisierte Keycard-UIDs auflisten
keycard add <uid>Keycard zur Liste hinzufügen
keycard remove <uid>Keycard entfernen
keycard add-master <uid>...Eine oder mehrere Master-Keycards hinzufügen
keycard remove-master <uid>...Eine oder mehrere Master-Keycards entfernen
keycard export <file>Keycard-Liste in Datei exportieren
keycard import <file>Keycard-Liste aus Datei importieren

UIDs gehen in jedem Hex-Format: 042A3D6A0D6580, 04:2A:3D:6A:0D:65:80 oder 04 2A 3D 6A 0D 65 80.

power

Power-Management-Befehle.

SubbefehlBeschreibung
power statusPower-Management-Zustand anzeigen
power runPower-State auf „run" setzen
power suspendSuspend anfordern
power hibernateHibernate anfordern. --manual oder --timer, um den Modus zu wählen.
power rebootSystem neu starten

service (Alias: svc)

LibreScoot-systemd-Services inspizieren und verwalten.

SubbefehlBeschreibung
service listLibreScoot-Services und ihren Status auflisten
service status <name>Detaillierten Status eines Services anzeigen
service start <name>Service starten
service stop <name>Service stoppen
service restart <name>Service neu starten
service enable <name>Service beim Boot aktivieren
service disable <name>Service beim Boot deaktivieren
service logs <name>Aktuelle Logs anzeigen. -f zum Mitverfolgen, -n <N> für Zeilenanzahl (Standard 50).

usb

USB-Port-Modus steuern (Netzwerk vs. Mass Storage).

SubbefehlBeschreibung
usb statusAktuellen USB-Modus anzeigen
usb umsIn den USB-Mass-Storage-Modus wechseln
usb normalZurück in den Netzwerkmodus

locations (Alias: loc)

Gespeicherte Orte für die Navigation verwalten.

SubbefehlBeschreibung
locations listGespeicherte Orte auflisten
locations show <id>Details eines gespeicherten Orts anzeigen
locations add <lat> <lon> <label>Neuen Ort speichern
locations edit <id> <field> <value>Gespeicherten Ort bearbeiten
locations delete <id>Gespeicherten Ort löschen
locations touch <id>Zuletzt-Verwendet-Zeitstempel aktualisieren

led

LED-Indikatoren steuern (für Entwicklung/Tests).

lsc led cue <index|name>       # Cue-Sequenz auslösen
lsc led fade <channel> <index|name>  # Fade-Animation auslösen

Cue-Namen: all-off, standby-to-parked-brake-off, parked-to-drive, brake-off-to-brake-on, brake-on-to-brake-off, drive-to-parked, blink-left, blink-right, blink-both, blink-none.

Channels: headlight, front-ring, brake, blinker-front-left, blinker-front-right, number-plates, blinker-rear-left, blinker-rear-right (oder numerisch 0–7).

logs

Service-Logs und Redis-State-Snapshots als komprimiertes Bundle exportieren (praktisch für Bugreports).

lsc logs                         # Alle Services, letzte 24h
lsc logs vehicle battery         # Nur bestimmte Services
lsc logs --since 1h              # Nur letzte Stunde
lsc logs --priority err          # Nur Fehler
FlagBeschreibung
--since <time>Startzeit (Standard: 24h). Beispiele: 1h, 24h, 1d, "2025-10-25 10:00"
--until <time>Endzeit (Standard: jetzt)
--priority <level>Log-Level-Filter: err, warning, info, debug
--output <dir>Ausgabeordner (automatisch generiert, wenn nicht angegeben)

diag

Diagnosebefehle zur Hardware-Inspektion und -Steuerung.

SubbefehlBeschreibung
diag battery [id...]Detaillierter Akkustatus (Ladung, Spannung, Temperatur, Gesundheit)
diag versionFirmware-Versionen von MDB, DBC, ECU und nRF52
diag faultsAlle aktiven Fehler anzeigen
diag eventsFehler-Event-Stream anzeigen (Flags siehe unten)
diag dashboard [on|off]DBC-Strom steuern. -f erzwingt Off während Updates.
diag dashboard statusDBC-Ready-Zustand und -Stromversorgung anzeigen
diag dashboard pingDas DBC anpingen, um die Verbindung zu prüfen
diag dashboard on-waitDBC einschalten und warten, bis es bereit ist. -t <sec> für Timeout (Standard 60).
diag dashboard off-waitDBC ausschalten und warten, bis es nicht mehr erreichbar ist. -t <sec> für Timeout (Standard 60).
diag engine [on|off]Motorstrom steuern
diag blinkers [off|left|right|both]Blinkerzustand setzen
diag horn [on|off]Hupe steuern
diag handlebar [lock|unlock]Lenkschloss steuern

Flags für diag events

FlagBeschreibung
--since <duration>Events ab der angegebenen Zeitspanne zurück anzeigen (z.B. 1h, 24h, 7d, 1w)
--until <duration>Events bis zur angegebenen Zeitspanne zurück anzeigen
-n, --lines <N>Maximale Anzahl Events (Standard 50)
-r, --reverseNeueste Events zuerst
-f, --followEvents in Echtzeit mitverfolgen (wie tail -f)
--filter <regex>Events per Regex filtern

Abkürzungen

Häufige Befehle gibt es als Top-Level-Abkürzungen:

AbkürzungEntspricht
lsc locklsc vehicle lock
lsc unlocklsc vehicle unlock
lsc openlsc vehicle open
lsc get <key>lsc settings get <key>
lsc set <key> <val>lsc settings set <key> <val>
lsc del <key>lsc settings del <key>
lsc battery / batlsc diag battery
lsc version / verlsc diag version
lsc faultslsc diag faults
lsc eventslsc diag events
lsc dashboard / dbc / dashlsc diag dashboard
lsc enginelsc diag engine
lsc blinkers / blinklsc diag blinkers

Globale Flags

--json              Ausgabe als JSON (für Skripte)
--redis-addr        Redis-Serveradresse (Standard: 192.168.7.1:6379)
-v, --verbose       Ausführliches Logging

Quellcode

github.com/librescoot/lsc →

← Services Mitmachen →