-
Notifications
You must be signed in to change notification settings - Fork 9
TODO list
Ashok Gowtham M edited this page Oct 12, 2018
·
3 revisions
- Gracefully handle connection at both side, i.e never panic and wait for both connections
- Ability to handle ota requests even when there is no controller connected
- Ability to restart the node using api
- Manage nodes and the firmwares installed, expose api's
- GET
/nodes
- POST
/nodes
payload
{ "node_id": 1, "node_name": "New switch", "firmware_type": 0, "firmware_version": 0, "desired_firmware_type": 10, "desired_firmware_version": 4, "auto_update": true, "scheduled": true }
- PUT
/nodes
payload
{ "node_id": 1, "node_name": "New switch", "firmware_type": 0, "firmware_version": 0, "desired_firmware_type": 10, "desired_firmware_version": 4, "auto_update": true, "scheduled": true }
- POST
/nodes/{node_id}/reboot
- GET
- Get node's firmware type and version from database and use it for ota request from node
- Handle auto update flag in node
- whenever there is new version for a firmware, it should automatically update all nodes which have auto update as
true
to latest version
- whenever there is new version for a firmware, it should automatically update all nodes which have auto update as
- Manage firmwares type and version, ability to upload newer versions of firmwares, expose apis
- GET
/firmwares
- response[{"firmware_type": 10, "firmware_version": 1, "firmware_name", "Blink"}]
- DELETE
/firmwares/10/1
- POST
/firmwares/10/1?firmware_name=Blink
- multipart payload{"firmware_file": <file>}
- PUT
/firmwares/10/1?firmware_name=Blink
- multipart payload{"firmware_file": <file>}
- GET
- Improve error handling in api's (handling unique constraint in insert, updating unavailable firmwares etc)
- Node name support
- Improve error handling across project (remove unwraps)
- Improve logging (parsed message for OTA request etc)
- Child sensors support
- Parse all the data and expose WoT API's using webthing-rust
Supported sensors:
- Temperature
- Binary
- Dimmer
- Motion
- Add swagger UI for node/firmware management APIs
- Add UI for node/firmware management
- MQTT support
- Store the "states" of each nodes - to make it standalone
- Beats/Telegraph support - to store "telemetri" data
- Listen to the I_DISCOVER_RESPONSE messages and maintain the network topology and make it available as an API