Skip to content

Latest commit

 

History

History
35 lines (23 loc) · 1.58 KB

Readme.md

File metadata and controls

35 lines (23 loc) · 1.58 KB

ExoHome Pro IoT Connector Template

What it is

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.

Supported features

  • 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.

Limitations / Todos

  • Only support channels data_type is number. (Because current ExoHome real cases are only use number type)

How to use

  1. Create an iot connector from this template.
  2. Link the iot connector to ExoHome solution.
  3. Link the iot connector to ExoSense solution.
  4. Add ExoHome device to the iot connector, and claim the device in ExoSense.
  5. 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)
  6. Create assets and dashboards in the ExoSense from the device.
  7. When the device report data (with ExoHome protocol), the ExoHome & ExoSense should see same reported value.

Important codes:

  • 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