Choose libmosquitto and an own HA discovery layer
D14: libmosquitto from Debian, shipped in the package (Qt MQTT needs the exact Qt version; nothing on the Frame). D15: own device-based discovery layer on Qt's JSON classes. Document the libraries per requirement and what the Frame provides (Qt modules, OpenSSL 3.2.1, glibc 2.39). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+14
-2
@@ -13,8 +13,8 @@ CLAUDE.md ("Working rules").
|
||||
Phase 2 for the MVP scope (D8: MQTT connection + discovery + availability, the MVP sensors, a
|
||||
basic notification). Design topics, proposed order:
|
||||
|
||||
1. Q4: MQTT client library (licence, availability on SteamOS, TLS/login, Qt event-loop
|
||||
integration, deployment).
|
||||
1. ~~Q4: MQTT client library~~: done, libmosquitto (D14). Remaining for the design: Qt
|
||||
event-loop integration, shipping the library in the package (build + `install.sh`).
|
||||
2. Component structure: configuration, MQTT/discovery layer, sensor sources, notification
|
||||
service; how they fit into `Dashboard` (the app class).
|
||||
3. HA entity model: topics, discovery payloads, availability, device grouping (CON-2/3/5,
|
||||
@@ -31,6 +31,18 @@ whether they constrain the MVP architecture.
|
||||
### 2026-10-05: requirements approved
|
||||
|
||||
- User approved REQUIREMENTS.md including the priorities (D13). Phase 2 started.
|
||||
- Q4 decided: libmosquitto, shipped in the package (D14). Qt MQTT ruled out: private Qt API
|
||||
requires the exact Qt version. Checked on the Frame: no MQTT library installed; libssl/
|
||||
libcrypto 3 and libcjson 1 present.
|
||||
- HA discovery: own small layer on QJson, device-based discovery (D15); hacpp and the
|
||||
embedded libraries rejected.
|
||||
- Checked on the Frame which Qt modules, plugins and audio/network tools exist; library list
|
||||
per requirement in REQUIREMENTS.md Appendix C. Notable: Qt WebEngine and Qt WebSockets are
|
||||
present (relevant for Q2/Q3).
|
||||
- libmosquitto ABI check: Debian's 2.0.21 needs at most `OPENSSL_3.0.0`/`GLIBC_2.34`; the
|
||||
Frame has OpenSSL 3.2.1 and glibc 2.39. No libcjson dependency. D14 holds.
|
||||
- Stay with the Debian build container: an Arch container wouldn't match SteamOS's own package
|
||||
versions (private repos, rolling Arch) and has no arm64 multiarch for cross builds.
|
||||
|
||||
### 2026-10-04/05: project set-up and requirements
|
||||
|
||||
|
||||
Reference in New Issue
Block a user