Soflow App Reverse Engineering und mehr

Weiß eigentlich jemand was es mit der App 2.7 auf sich hat die bei GitHub kursiert!?
 
Ist nicht von Simcraft! Wurde von einem anderen Entwickler im Roller-Plausch-Forum programmiert. Simcraft hat sich später nur beim Entwickler im Thread gemeldet und ihm seine Hilfe angeboten
 
Ich habe Codex sich die App ansehen lassen (das betrachte ich nicht als KI-Slop, weil für solche Dinge ist das echt zu gebrauchen und viel schneller, als ich mich da durcharbeiten könnte):

Ja. Aus dem Quellcode lässt sich eine recht belastbare Matrix erstellen. Wichtig: „implementiert“ bedeutet hier, dass ein Kommando bzw. Parser im Code vorhanden ist – nicht, dass es mit jedem realen Gerät erfolgreich getestet wurde.

Funktionsmatrix​

Modell/ProfilFahrmodiGeschwindigkeitslimitSperrenAdvanced-ModusTelemetrieZusatzbefehle
SO4 Pro Gen 2ECO/Normal/Sport/Dev1–65 km/h✓1–254umfangreich–
SO4 Pro Gen 3ECO/Normal/Sport/Dev1–65 km/h✓1–254umfangreich, AES–
SO4 Pro Legacy TestECO/Normal/Sport/Dev1–65 km/h✓1–254nur Geschwindigkeit/Licht–
SO4ECO/Normal/Sport/Dev1–65 km/h✓1–254umfangreich, D7 v1–
SO4 5.1ECO/Normal/Sport/Dev1–65 km/h✓1–254umfangreich, D7 v5.1+–
SO4 5.2ECO/Normal/Sport/Dev1–65 km/h✓1–254umfangreich, AES–
SO myTIERECO/Normal/Sport/Dev1–65 km/h✓fehltumfangreich, AES–
SO1ECO/Normal/Sport/Dev*1–65 km/h*✓*fehltdynamisches D7-Protokoll–
SO1 A0 TestECO/Normal/Sport/Dev*1–65 km/h*✓*fehltdynamisches D7-ProtokollTestprofil
SO2 AirECO/Normal/Sport/Dev*1–65 km/h*✓*fehltdynamisches D7-Protokoll–
SO2 Air A0 TestECO/Normal/Sport/Dev*1–65 km/h*✓*fehltdynamisches D7-ProtokollTestprofil
SO3ECO/Normal/Sport/Dev*1–65 km/h*✓*1–254dynamisches D7-Protokoll–
SO4 ULfehltfehlt✓, TokenfehltZwei-Byte-ProtokollLicht, Lock-Status, Fahrdaten, Speed-Limit
SO6fehltfehlt✓, TokenfehltZwei-Byte-Protokoll, AESLicht, Lock-Status, Fahrdaten, Speed-Limit
Die zugrunde liegenden Modellprofile und Kommandos stehen im ScooterCommandCatalog. Die Geschwindigkeitsbefehle sind im Code grundsätzlich von 1 bis 65 km/h angelegt; die normale Oberfläche begrenzt den Bereich auf 8–30 km/h, sofern „More Speed“ nicht aktiviert wird. (MainViewModel)

* Bei SO1/SO2/SO3 werden Fahr-, Lock- und Speed-Kommandos erst aus einem dynamischen Geheimwert erzeugt, der zuvor aus Telemetriedaten berechnet werden muss. Die Dev-Kommandos sind dort teilweise identisch mit Sport und daher nicht unbedingt ein eigenständiger Modus.

Telemetrie im Detail​

ProtokollfamilieErkannte Daten
LEGACY_STATUSGeschwindigkeit und Lichtstatus
SO4_PRO / D7_SO4_V1 / D7_SO4_V51_PLUSGeschwindigkeit, Strom, Spannung, Akku, Reichweite, Fahrstrecke, Gesamtkilometer, Sperrstatus, Fahrmodus und Firmware-/Versionsdaten
DYNAMIC_D7Echtzeitdaten plus Standby-Daten wie Fehler, Akku, Reichweite, Kilometer, Durchschnittswerte, Ladezyklen und dynamisches Secret
TWO_BYTEGeschwindigkeit, Strom, Spannung, Reichweite, Akku, Ladezustand, Sperrstatus, Fehler sowie separate Fahrdaten
Das ergibt sich direkt aus dem ScooterTelemetryParser. Lichtsteuerung ist im Katalog nur für SO4 UL und SO6 als expliziter Zusatzbefehl vorhanden; bei älteren Profilen wird Licht teilweise lediglich aus Telemetrie gelesen.

Zusätzlich existiert für alle ausgewählten Profile eine globale Funktion zum Senden beliebiger Hex-Kommandos, sobald die erweiterten Optionen aktiviert sind. Das ist kein modellvalidierter Funktionsumfang, sondern eine rohe BLE-Schnittstelle.

Teststatus​

Das README unterscheidet sinnvoll zwischen „implementiert“ und „getestet“:

  • ausdrücklich getestet: SO1 und SO4 Pro Gen 2
  • als implementiert aufgeführt: weitere SO1/SO2/SO3/SO4-, myTIER-, SO4-UL- und SO6-Profile
  • nicht unterstützt: unter anderem SO ONE, SO ONE Lite, SO4 Pro GT, SO4 Pro MAX und SO5.xx
(Projekt-README)

Mein Fazit: Die stärkste Unterstützung im Code haben die verschiedenen SO4-Profile. SO4 UL und SO6 besitzen dagegen gute Diagnose- und Lichtbefehle, aber keine allgemeinen Fahrmodus- oder Geschwindigkeitskommandos. Die SO1/SO2/SO3-Profile sind funktional vorhanden, aber wegen des dynamischen Protokolls stärker von korrekter Telemetrie und passender Firmware abhängig.
 
Îch kann die App übrigens uneingeschränkt empfehlen.. Läuft gut und zuverlässig auf meinem So4 Pro Gen2
 
Weis jemand, ob das auch am SO2 Air Max funktioniert?
 
Zurück
Oben