Architektur
Zuständigkeiten
Das App-Repository enthält Android-Laufzeit, gemeinsame Dokumentation und F-Droid-Repository. Das Integrations-Repository enthält nur custom_components/rustyhama, HACS-Metadaten, Protokoll/Schemas und Tests; seine README verlinkt hierher. HA ist Quelle für Profile, Overrides, Provider, Gerätezuordnung, Entity-Zugriff und gewünschte Zustände. Android rendert nativ und arbeitet offline mit der letzten gültigen Konfiguration.
Konfigurationsfluss
Profilentwurf → Validierung → Veröffentlichung → RFC-7396-Gerätemerge → tab_order → Provider-Bindings → serverseitige Dashboard-Compilation → secret-freie effektive Revision → atomare Android-Aktivierung → ACK. Ein Fehler lässt die vorherige Revision aktiv. HA behält zwanzig Revisionen; Rollback ist eine neue Veröffentlichung.
Laufzeitfluss
Der Foreground-Service besitzt Gerätekanal, Sensorerfassung, Kamera, Medien und Voice. Die Activity besitzt Darstellung und Eingabe. Getrennte Streamkanäle verhindern, dass lange Audio-/Bilddaten Heartbeats oder Befehls-ACKs blockieren. Autostart nach Boot ist standardmäßig aktiv und kann pro Gerät abgeschaltet werden.
API-Vertrag
Endpunkte sind POST /api/rustyhama/v1/pair, /api/rustyhama/v1/device/ws, /api/rustyhama/v1/device/streams/{session_id} und enge Provider-Proxys. schema_version: 1, Protokollversion und gemeinsame Testvektoren bilden den Cross-Repo-Vertrag. Unbekannte Nachrichten oder Fähigkeiten werden versioniert abgelehnt, nicht stillschweigend fehlinterpretiert.