Operation and development
Foreground service
The service starts after boot by default and keeps control channel, voice, camera and media active. Wi-Fi and CPU locks protect active sessions; after process death the service opens the dashboard again. Desired state converges after network, app, HA or integration restarts; offline actions are discarded. Android backup is disabled. A revoked credential returns to pairing.
Troubleshooting
First check online/last seen, service state and configuration revision against acknowledgement. Repeated disconnects after about 45 seconds indicate missing heartbeats or an old app/integration, so verify the version combination first. For TLS errors compare URL, DNS, expiry and fingerprint and test the direct local HA address. Check voice through microphone permission, pipeline, STT/TTS, VAD and media volume; cameras through facing, permission and sequential access. Provider HTTP 400 requires checking its type, binding and HA credentials. On configuration failure the app retains the last valid revision. HA diagnostics redact credentials and provider secrets.
Build and tests
The app remains Java-based with minSdk 17 and compileSdk 36. Push CI on the Android runner with /opt/android-sdk runs Java tests, lint, debug build and API-17 artifact checks. Documentation CI validates pages, headings, links and JSON fields and builds DE/EN/FR with Zensical --clean --strict. Preview geometry, protocol vectors and fault injection belong to acceptance testing.
Releases
App and integration start at 0.1.0; 1.0.0 is the first jointly stable protocol. Tags determine versionName and reproducible artifacts. Forgejo is authoritative and publishes APK/F-Droid plus documentation. Pairing, reconnect, Assist, camera, media player, sensors, dashboard parity and all three documentation languages must pass before release.