Details
-
New Feature
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Use case: I want to be able to dynamically control the settings/behavior of my Edgent application via the IoT hub by changing the values of its control properties/preferences. E.g., I have an application preference that can be used to control a Valve, or a preference to control the period that my periodic-source is using, etc. I want a standard Edgent service that exposes controlling my settings.
IotProvider already includes a java.util.Preferences service that my application can use for its preferences. Preferences includes the ability to listen for change events. So my application can listen for a change to its boolean "xyz.valveOpen" preference and its listener can call Valve.setOpen(boolean) to change its state.
I should be able to continue to use that throughout my application for its preferences. But I don't think an application should be required to use it to support the ability to receive requests to set or reset the value of some "attribute".
I believe this new service should be controllable via an "edgentControl" command request - see IotProvider.
In the event that the IoT hub has existing infrastructure for device attributes the new service should integrate with it.