Cloud . stable . von uns gebaut . seit 2024

Sunshine

Cloud-Service für den unu Scooter Pro. Ersetzt die mit der Insolvenz abgeschaltete Originalcloud und ergänzt Funktionen, die unu nie ausgeliefert hat.

Status
live
Stack
Rails . PostgreSQL/PostGIS . MQTT . WebSocket
Fahrzeug
unu Scooter Pro
Lizenz
AGPL-3.0

Was Sunshine bietet

Sunshine übernimmt die Aufgaben der ursprünglichen unu-Cloud: Telemetrie in Echtzeit, Fahrtenbuch, Sharing, Fernsteuerung über den Browser, Statistiken und Software-Updates für den Roller. Hinzu kommen Funktionen, die in der Originalsoftware nicht enthalten waren: eine konfigurierbare Alarmanlage, Achievements und Leaderboards. Eine eigene App ist nicht erforderlich; die Bedienung erfolgt vollständig im Browser, auch auf dem Smartphone.

Funktionsumfang im Alltag

Sperren, entsperren, lokalisieren. Der Roller lässt sich aus der Ferne sperren und entsperren. Die Funktion “Find my scooter” gibt einen kurzen Signalton aus und aktiviert die Warnblinkanlage. Einzelne Blinker, Warnblinker und das Öffnen der Sitzbox stehen ebenfalls zur Verfügung.

Alarmanlage. Ein Bewegungssensor erkennt zwei Stufen: leichte Bewegung löst die Warnblinker aus, anhaltende Bewegung zusätzlich die Hupe. Lautstärke, Dauer und das automatische Scharfschalten beim Sperren sind einstellbar. Bei unautorisierter Bewegung wird eine E-Mail mit Standort und Karte gesendet.

Standortdaten und Wetter. Auf der Karte erscheinen die letzte bekannte Position, die zugehörige Adresse sowie aktuelle Wetterdaten und eine Vorhersage. Letztere stammen vom Deutschen Wetterdienst und werden über die BrightSky-API bezogen. Es werden keine Drittanbieter angesprochen, ein API-Key ist nicht erforderlich.

Akkudaten. Pro Akku werden Ladestand, Gesundheit und Ladezyklen angezeigt. Die Erfassung erfolgt anhand der Seriennummer, nicht des Steckplatzes; ein Wechsel der Akkus während einer Fahrt wird daher korrekt erkannt.

Fahrtenbuch. Jede Fahrt wird automatisch erkannt und aufgezeichnet. Die Fahrtansicht zeigt die Strecke auf der Karte mit farbcodiertem Geschwindigkeitsverlauf, Höhenprofil, Energieverbrauch sowie Durchschnitts- und Höchstgeschwindigkeit.

Statistiken. Auswertungen über 7 Tage, 30 Tage, 3 oder 6 Monate, ein Jahr, das laufende Jahr oder die gesamte Laufzeit. Erfasst werden Strecke, Fahrtzeit, Energieverbrauch (Wh/km), Geschwindigkeitsverteilung und Effizienz. Die Diagramme können nach Stunde, Tag, Woche oder Monat aufgelöst werden.

Achievements und Leaderboards. Über dreissig öffentliche Achievements (Streckenstufen, Fahrtenanzahl, Höchstgeschwindigkeit, Saisonen, Mitgliedschaftsdauer) sowie zusätzliche, pro Server konfigurierbare Secret Achievements. Die Teilnahme am Leaderboard ist ausdrücklich Opt-in.

Sharing. Der Roller kann mit Familie oder Freunden geteilt werden, mit individuell einstellbaren Berechtigungen pro Person. Die Einladung erfolgt per E-Mail über einen Link, der vom Empfänger bestätigt wird.

Hardware-Erfassung. Akkus, MDB, DBC und ECU werden automatisch über die Telemetrie identifiziert. Wechsel und Umbauten werden mit Zeitstempel protokolliert.

Voraussetzungen

Einrichtung

  1. SIM-Adapter einlöten, ursprüngliche unu-SIM entfernen, Nano-SIM einsetzen
  2. Konto auf sunshine.rescoot.org anlegen (Einladungslink im Discord)
  3. VIN und einen Namen für den Roller eingeben
  4. Den von Sunshine generierten Installationsbefehl in einer SSH-Sitzung am Roller ausführen
  5. Fertig

Die Installation erkennt automatisch, ob der Roller mit der Originalfirmware oder mit librescoot betrieben wird, und installiert die jeweils passende Variante des Telemetrie-Clients (radio-gaga).

Schnittstellen für Entwicklung

API. OAuth 2.0 mit drei Scopes (read, write, scooter_control), inklusive PKCE-Unterstützung für mobile Anwendungen. Klassische Bearer-Tokens sind weiterhin verfügbar.

MCP. Sunshine implementiert das Model Context Protocol. Ein MCP-fähiger Client kann den Roller direkt ansteuern: Sperren, Entsperren, Hupe, Navigation, Statusabfragen, Auflistung von Fahrten.

Stack. Rails 8.1, PostgreSQL 17 mit PostGIS, SolidQueue für Hintergrundjobs, Hotwire/Turbo im Frontend, Tailwind 4. Die Roller verbinden sich parallel über MQTT (ältere Firmware-Versionen) und einen WebSocket-Uplink (neuere). Quellcode unter github.com/rescoot/sunshine, Lizenz AGPL-3.0.

Aktueller Stand

Sunshine läuft seit Dezember 2024 produktiv. Die Migration von SQLite auf PostgreSQL mit PostGIS ist abgeschlossen, das Achievement-System wurde substanziell erweitert. In Arbeit: Synchronisation gespeicherter Ziele zwischen Browser und Roller, einheitliche Quittierung über beide Transportwege, Bereitstellung eines Stable-Channels für Roller-Updates.

Fehlerberichte und Funktionswünsche über GitHub oder im Discord.