Security and behavior changes
- Generic radio commands now require a Home Assistant admin account, including commands run through the CLI button. This prevents non-admin users from exporting the connected radio’s private key or changing its configuration. Caller context is preserved through UI controls. HA’s standard handling of internal calls without a user ID is unchanged. (#350)
- Multi-hub UI messaging must specify
entry_id. Helpers are resolved through the entity registry, so renamed entities work and messages use the selected hub’s channel, contact and radio. Single-hub UI calls can still omitentry_id. (#351)
Features
- Adds an on-demand Refresh firmware version button to each configured repeater. It authenticates, queries the version and updates HA’s saved version and device metadata. Failed queries retain the previous version. This does not install firmware. (#352)
- Adds Retrieve queued incoming messages, enabled by default. Turn it off when another client should consume the companion’s queued messages. HA keeps polling status and telemetry and can still send commands; text replies may remain queued for the other client. (#345)
Fixes and maintenance
- Failed self-telemetry requests now respect the configured interval instead of being retried on every coordinator update. (#335)
- Corrects the outgoing reception automation example: final results arrive on
meshcore_message, whilemeshcore_delivery_updatecarries intermediate updates. (#353) - Fixes the CLI console documentation build and updates CI/test dependencies. Runtime dependency requirements are unchanged.
Notes
- Firmware refresh expects the stock CommonCLI
verresponse format. Saving a changed version triggers the integration’s existing config-entry reload. - Validation: 261 unit tests and 33 real Home Assistant integration tests passed with the code changes combined. No live radio test was performed.
Full changelog: v2.9.0...v2.10.0