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.
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
| Flag | Beschreibung |
|---|---|
--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.
| Flag | Beschreibung |
|---|---|
--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.
| Subbefehl | Beschreibung |
|---|---|
vehicle lock | Roller abschließen (Wechsel in stand-by) |
vehicle unlock | Roller aufsperren (Wechsel in parked/ready) |
vehicle hibernate | Abschließen und Hibernate anfordern |
vehicle force-lock | stand-by erzwingen, ohne auf physische Schlösser zu warten |
vehicle open | Helmfach-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.
| Subbefehl | Beschreibung |
|---|---|
alarm status | Alarmstatus und -einstellungen anzeigen |
alarm arm | Alarm aktivieren; schärft sich, sobald das Fahrzeug in stand-by geht. --no-block, um die Bestätigung zu überspringen. |
alarm disarm | Alarm 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.
| Subbefehl | Beschreibung |
|---|---|
ota status | Update-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-dbc | Feststeckenden 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).
| Subbefehl | Beschreibung |
|---|---|
settings list | Alle 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:
| Key | Beschreibung | Werte |
|---|---|---|
| Alarm | ||
alarm.enabled | Alarmanlage an-/ausschalten | true / false |
alarm.honk | Hupe während des Alarms aktivieren | true / false |
alarm.duration | Alarmdauer | Sekunden |
alarm.seatbox-trigger | Alarm auslösen, wenn unautorisiert das Helmfach geöffnet wird | true / false |
alarm.hairtrigger | Kurzer Sofort-Alarm bei erster Bewegung | true / false |
alarm.hairtrigger-duration | Dauer des Hair-Trigger-Alarms | Sekunden |
| OTA-Updates | ||
updates.mdb.method | Update-Methode für das MDB | delta / full |
updates.mdb.channel | Release-Kanal für das MDB | stable / testing / nightly |
updates.mdb.check-interval | Abstand zwischen Update-Prüfungen für das MDB | Stunden (0 = aus) |
updates.dbc.method | Update-Methode für das DBC | delta / full |
updates.dbc.channel | Release-Kanal für das DBC | stable / testing / nightly |
updates.dbc.check-interval | Abstand zwischen Update-Prüfungen für das DBC | Stunden (0 = aus) |
| Dashboard | ||
dashboard.theme | UI-Theme | light / dark / auto |
dashboard.mode | Standard-Bildschirmmodus | speedometer / navigation |
dashboard.show-raw-speed | Unkorrigierte Rohgeschwindigkeit der ECU anzeigen | true / false |
dashboard.show-clock | Uhr-Sichtbarkeit | always / never |
dashboard.show-gps | GPS-Indikator-Sichtbarkeit | always / active-or-error / error / never |
dashboard.show-bluetooth | Bluetooth-Indikator-Sichtbarkeit | always / active-or-error / error / never |
dashboard.show-cloud | Cloud-Indikator-Sichtbarkeit | always / active-or-error / error / never |
dashboard.show-internet | Internet-Indikator-Sichtbarkeit | always / active-or-error / error / never |
dashboard.battery-display-mode | Akkuanzeige-Modus | percentage / range |
dashboard.power-display-mode | Leistungsanzeige-Einheit | kw / amps |
dashboard.map.type | Kachelquelle | online / offline |
dashboard.map.render-mode | Karten-Rendering-Modus | vector / raster |
dashboard.valhalla-url | Endpunkt des Valhalla-Routing-Service | URL |
dashboard.blinker-style | Darstellungsstil für den Blinker-Indikator | icon / overlay |
dashboard.language | Sprache des Dashboard-UI | Sprachcode |
| Motor | ||
engine-ecu.boost | Motor-Boost-Modus aktivieren | true / false |
engine-ecu.kers | Rekuperation (KERS) | enabled / disabled |
engine-ecu.kers-power | KERS-Regenerationsstrom | Ampere |
| Sonstiges | ||
cellular.apn | APN-String für Mobilfunk | string |
scooter.battery-ignores-seatbox | Akkus unabhängig vom Helmfach aktiv halten | true / false |
scooter.dual-battery | Zweitbatterie-Modus aktivieren | true / false |
scooter.auto-standby-seconds | Timeout für automatisches Abschließen im Stand | Sekunden (0 = aus) |
scooter.enable-horn | Hupen-Modus | true / false / in-drive |
hibernation-timer | Hibernate-Timeout | Sekunden |
gps
GPS-Tracking und Positionsinformationen.
| Subbefehl | Beschreibung |
|---|---|
gps status | GPS-Zustand und aktuellen Fix anzeigen |
gps watch | GPS-Updates in Echtzeit streamen. --compact für einzeiliges Format. |
keycard
NFC-Keycard-Authentifizierung verwalten.
| Subbefehl | Beschreibung |
|---|---|
keycard list | Autorisierte 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.
| Subbefehl | Beschreibung |
|---|---|
power status | Power-Management-Zustand anzeigen |
power run | Power-State auf „run" setzen |
power suspend | Suspend anfordern |
power hibernate | Hibernate anfordern. --manual oder --timer, um den Modus zu wählen. |
power reboot | System neu starten |
service (Alias: svc)
LibreScoot-systemd-Services inspizieren und verwalten.
| Subbefehl | Beschreibung |
|---|---|
service list | LibreScoot-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).
| Subbefehl | Beschreibung |
|---|---|
usb status | Aktuellen USB-Modus anzeigen |
usb ums | In den USB-Mass-Storage-Modus wechseln |
usb normal | Zurück in den Netzwerkmodus |
locations (Alias: loc)
Gespeicherte Orte für die Navigation verwalten.
| Subbefehl | Beschreibung |
|---|---|
locations list | Gespeicherte 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
| Flag | Beschreibung |
|---|---|
--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.
| Subbefehl | Beschreibung |
|---|---|
diag battery [id...] | Detaillierter Akkustatus (Ladung, Spannung, Temperatur, Gesundheit) |
diag version | Firmware-Versionen von MDB, DBC, ECU und nRF52 |
diag faults | Alle aktiven Fehler anzeigen |
diag events | Fehler-Event-Stream anzeigen (Flags siehe unten) |
diag dashboard [on|off] | DBC-Strom steuern. -f erzwingt Off während Updates. |
diag dashboard status | DBC-Ready-Zustand und -Stromversorgung anzeigen |
diag dashboard ping | Das DBC anpingen, um die Verbindung zu prüfen |
diag dashboard on-wait | DBC einschalten und warten, bis es bereit ist. -t <sec> für Timeout (Standard 60). |
diag dashboard off-wait | DBC 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
| Flag | Beschreibung |
|---|---|
--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, --reverse | Neueste Events zuerst |
-f, --follow | Events 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ürzung | Entspricht |
|---|---|
lsc lock | lsc vehicle lock |
lsc unlock | lsc vehicle unlock |
lsc open | lsc 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 / bat | lsc diag battery |
lsc version / ver | lsc diag version |
lsc faults | lsc diag faults |
lsc events | lsc diag events |
lsc dashboard / dbc / dash | lsc diag dashboard |
lsc engine | lsc diag engine |
lsc blinkers / blink | lsc 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