Die offizielle Aiways Community App
- Java 98.2%
- Dart 1.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
1. Kamera blieb schwarz: mobile_scanner 5.2.3 haengt an CameraX 1.3.3/compileSdk 34 und startet mit targetSdk 36 auf aktuellen Androids nicht mehr -> Bump auf ^7.4.0 (CameraX 1.6.1, compileSdk 36). Zusaetzlich eigener errorBuilder: statt des kommentarlosen weissen Ausrufezeichens jetzt Klartext-Fehler (Freigabe fehlt / keine Kamera / Fehlercode), "Erneut versuchen" (setzt Controller komplett neu auf, noetig wenn die Freigabe erst im Dialog kam) und "Stattdessen Text einfuegen". Dazu Platzhalter waehrend des Starts und ein Sucher-Rahmen in Tuerkis. 2. "Fahrzeug hinzufuegen" raus aus "Mehr", rein unter Mehr > Profil > Fahrzeuge: neuer VehiclesScreen listet die Fahrzeuge des Kontos, waehlt das aktive aus und traegt den Provisionier-Einstieg (am Handy; im Web mit Hinweis). 3. Keine Sackgasse ohne Konto: Login-Screen bekommt "Mit Fahrzeug starten" -> SetupScreen scannt den Head-Unit-QR, uebernimmt die Backend-URL daraus, fragt /auth/config und bietet je nach allowRegistration Anmelden oder Konto anlegen (neu: ApiClient.register / AppState.register), danach direkt weiter ins "Fahrzeug hinzufuegen" mit schon geladenem QR. Verifiziert: flutter analyze clean, 118 Tests gruen (4 neue Smoke-/Regressionstests), flutter build web ok, Android-Debug-APK baut mit mobile_scanner 7.4.0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
| .github/workflows | ||
| android | ||
| assets | ||
| ios | ||
| lib | ||
| reference | ||
| scripts | ||
| test | ||
| tool | ||
| web | ||
| .gitattributes | ||
| .gitignore | ||
| .metadata | ||
| analysis_options.yaml | ||
| pubspec.lock | ||
| pubspec.yaml | ||
| README.md | ||
Aiways App (OpenAiways)
Flutter-App fürs Smartphone, die mit unserem OpenAiways-Backend (aiways/Backend,
https://aiways.it-perspective.de) spricht — Look & Feel inspiriert von der originalen
Aiways-App, dunkles Design, Akzentfarbe Aiways-Türkis #00CFB4.
Teil des OpenAiways-Projekts — Steuerung & Telemetrie des eigenen Aiways U5, nachdem der Hersteller die Cloud abgeschaltet hat.
Features
- Login gegen das Backend (
/auth/login, Token wird lokal gespeichert). - Erstinbetriebnahme — „Mit Fahrzeug starten" direkt auf dem Login-Screen: den
Head-Unit-QR scannen, Backend-URL daraus übernehmen, anmelden (oder Konto anlegen,
falls das Backend
allowRegistrationmeldet) und weiter ins Provisionieren. Später liegt derselbe Weg unter Mehr → Profil → Fahrzeuge → Fahrzeug hinzufügen. - Übersicht — SoC-Ring, Reichweite, Spannung/Strom, Speed, Kilometerstand, Gang, Ladezustand, Standort (GPS). Pull-to-refresh.
- Telemetrie — Zeitreihen-Chart (SoC/Spannung/Strom/Speed/Reichweite) aus
/vehicles/:id/timeseries(fl_chart). - Steuerung — Command-Queue: Befehle (verriegeln/entriegeln/Klima/Hupe/Blinken)
einreihen (
POST /commands) + Status der letzten Befehle. - Einstellungen — Backend-URL umstellbar, Nutzer/Rolle, Logout.
Design-Vorlage
Die Farb-/Icon-Anker stammen aus dem jadx-Decompilat der Original-App unter
reference/original-app-jadx/ — u.a. app_base_color = #00CFB4.
Das Original ist selbst eine Flutter-App; die Dart-Logik ist kompiliert (nicht lesbar),
die Ressourcen dienen als Inspiration.
Entwicklung
flutter pub get
flutter run # auf angeschlossenem Gerät / Emulator
flutter analyze # statische Prüfung (aktuell: keine Issues)
Build (Android-APK)
flutter build apk --release
# Ergebnis: build/app/outputs/flutter-apk/app-release.apk
Projektstruktur
lib/
main.dart App-Einstieg, Provider, Dark-Theme, Auth-Routing
theme.dart Dark-Theme + Aiways-Farben (#00CFB4)
api.dart HTTP-Client fürs Backend
app_state.dart Zustand (Auth-Token, Fahrzeuge) + Persistenz
models.dart Vehicle / Telemetry / Command
widgets/soc_gauge.dart SoC-Ring (CustomPainter)
screens/ Login, Übersicht, Telemetrie, Steuerung, Einstellungen
reference/ jadx-Decompilat der Original-App (Design-Lookup, LFS)
Stack
Flutter (dark-only), http, provider, fl_chart, shared_preferences, intl.