Design: start-up hook, modes, entity types; add UI-1

D20: requirement UI-1 (status in the main tab). D21: failing start-up
hook prepare() in the platform. D22: modes incl. --desktop with optional
SteamVR, --desktop-novr, --config. D23: one class per HA entity type,
native types preferred, own JSON service only as fallback.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-05 21:05:33 +02:00
co-authored by Claude Opus 5.5
parent f6c5de4fb9
commit 3ec3029af6
3 changed files with 69 additions and 4 deletions
+7
View File
@@ -37,6 +37,12 @@ FrameAssistant.
| CON-4 | When the broker is unreachable, reconnect with backoff; after reconnecting, republish discovery and current state. Nothing is buffered. | M | ✓ | Broker restart → entities return to correct states without restarting the app. |
| CON-5 | Several headsets work side by side with one HA, each as its own device, identified by its configured device name. | M | ✓ | Two devices with different names → two HA devices, no shared entities. |
### Main tab (UI)
| ID | Requirement | Prio | MVP | Acceptance criteria |
|----|-------------|------|-----|---------------------|
| UI-1 | The main dashboard tab shows the connection status: device name, broker, connected or not, last error. | M | ✓ | Broker stopped → tab shows "not connected" and the error; broker back → "connected". |
### Configuration (CFG)
| ID | Requirement | Prio | MVP | Acceptance criteria |
@@ -154,6 +160,7 @@ FrameAssistant.
| D13 | 2026-10-05 | Requirements approved as drafted, priorities included (MVP = Must, other wanted features = Should, SRV-7 and NOT-10 = Could) | End of phase 1 |
| D14 | 2026-10-05 | MQTT client: **libmosquitto** from Debian's package in the build container, shipped in the release package like `libopenvr_api.so` | Not on the Frame; Qt MQTT would need the exact Qt version (Appendix B) |
| D15 | 2026-10-05 | HA MQTT discovery: **own small layer on Qt's JSON classes**, using device-based discovery (one `<prefix>/device/<id>/config` topic with all entities under `cmps`) | No suitable library (Appendix B); HA recommends device-based discovery for multi-entity devices (NFR-7) |
| D20 | 2026-10-05 | New requirement UI-1 (status display in the main tab), MVP | Helps testing on the device; little effort |
Design decisions (D16 onward) are in [DESIGN.md](DESIGN.md).