Commit a57cbd0
authored
Publish capabilities via MQTT (#254)
The idea is to have a map of capabilities that make it easy for apps to
check what the mower supports, without having to compare versions.
For simplicity in usage, the capabilities should be represented by a
simple, flat object with the respective capabilities as keys and the
"generation" as value. It starts with 1 when the capability gets added
and increases whenever a significant change was done.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* System capabilities are now published as JSON on connection for
improved discovery.
* **Updates**
* Version publication now includes a JSON payload on an updated topic
path while retaining the existing binary publication.
* Capabilities publication occurs early during connection setup to
ensure consumers receive current state promptly.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->1 parent 12e0e1e commit a57cbd0
2 files changed
Lines changed: 15 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
| 33 | + | |
32 | 34 | | |
33 | 35 | | |
34 | 36 | | |
| |||
74 | 76 | | |
75 | 77 | | |
76 | 78 | | |
| 79 | + | |
77 | 80 | | |
78 | 81 | | |
79 | 82 | | |
| |||
263 | 266 | | |
264 | 267 | | |
265 | 268 | | |
266 | | - | |
| 269 | + | |
267 | 270 | | |
268 | 271 | | |
269 | 272 | | |
270 | 273 | | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
271 | 278 | | |
272 | 279 | | |
273 | 280 | | |
| |||
0 commit comments