Skip to content

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 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
  • 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>}
  • 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
Clone this wiki locally