Overview
Implement a dynamic device registry similar to Aeolus that can manage 100+ downstream devices with persistent storage.
Description
The Aeolus Zephyr agent includes a comprehensive device manager that:
- Maintains a registry of downstream devices (BLE, Zigbee/Thread, I2C, UART/Modbus)
- Supports dynamic provisioning via API
- Routes commands to the correct interface
- Persists device registry to NVS
Requirements
-
Device Registry
- Store device metadata (ID, type, interface, config)
- Support 100+ concurrent devices
- Persistent storage (file-based for Linux)
- CRUD operations via HTTP API
-
Dynamic Provisioning
- REST API for adding/removing devices
- Webhook support for device lifecycle events
- Device authentication/authorization
-
Interface Routing
- Route commands to specific device interfaces
- Handle device responses
- Support for multiple protocol adapters
-
Storage
- Persistent JSON file or SQLite database
- Backup/restore functionality
- Migration support
Reference
See Aeolus implementation:
src/device/device_manager.c
src/device/device_registry.c
docs/provisioning.md
Acceptance Criteria
Priority
High
Overview
Implement a dynamic device registry similar to Aeolus that can manage 100+ downstream devices with persistent storage.
Description
The Aeolus Zephyr agent includes a comprehensive device manager that:
Requirements
Device Registry
Dynamic Provisioning
Interface Routing
Storage
Reference
See Aeolus implementation:
src/device/device_manager.csrc/device/device_registry.cdocs/provisioning.mdAcceptance Criteria
Priority
High