This repository included a iot connector template.
The iot connector created by this template will be able to connect ExoHome devices to ExoSense and ExoHome simultaneously without changing any firmware code.
- Convert ExoHome data-in to ExoSense data-in, so users can have dashboard in ExoSense for the device.
- Convert ExoHome channel data to ExoSense config_io (locked, can not modify in ExoSense UI.)
- Able to control device from ExoSense ControlPanel.
- Only support channels data_type is number. (Because current ExoHome real cases are only use number type)
- Create an iot connector from this template.
- Link the iot connector to ExoHome solution.
- Link the iot connector to ExoSense solution.
- Add ExoHome device to the iot connector, and claim the device in ExoSense.
- The ExoHome device should report "fields" resource, then ExoSense will see the config_io automatically. (Dynamically generated while ExoSense call Device2.listIdentities and other related APIs)
- Create assets and dashboards in the ExoSense from the device.
- When the device report data (with ExoHome protocol), the ExoHome & ExoSense should see same reported value.
- services/device2/event.lua : handle data-in and simulate ExoSense resources.
- services/device2.yaml : default resources.
- modules/configIO.lua : the logic for converting config_io
- modules/interfaceOverload.lua : the Device2 API overloaded function body. The entry points are in
services/interface/*.lua