Dale LaBossiere created EDGENT-376: -------------------------------------- Summary: Support an edge device using both the Edgent API and WIoTP "Managed Device" APIs Key: EDGENT-376 URL: https://issues.apache.org/jira/browse/EDGENT-376 Project: Edgent Issue Type: Improvement Components: Connectors Reporter: Dale LaBossiere
Use case: I need to be able to write an edge device application that uses both the Edgent APIs/programming model for analytics and the IBM Watson IoT Platform "Managed Device" APIs for other capabilities (e.g., to support the WIoTP "reboot the device" protocol). I don't need the Edgent IoT connector to support WIoTP defined "Managed Device" capabilities -- e.g., I don't need my Edgent application to be able to create a TStream of subscribed "WIoTP device management" commands using {{IotDevice.commands(...)}}. Today the [IotpDevice|https://github.com/apache/incubator-edgent/blob/master/connectors/iotp/src/main/java/org/apache/edgent/connectors/iotp/IotpDevice.java] connector precludes this use case. It hides the WIoTP API objects used to connect to WIoTP. The WIoTP {{DeviceClient}} API is for a simple device (used by today's connector); {{ManagedDevice}} is for a "managed device" -- {{ManagedDevice extends DeviceClient}}. I think the best way to enable this use case, and generally add more flexibility in configuring an underlying WIoTP connection, would be to add a {{IotpDevice(DeviceClient)}} constructor, allowing the application to create and use the ManagedDevice object for WIoTP managed device capabilities and intialize the IotpDevice connector with it. -- This message was sent by Atlassian JIRA (v6.3.15#6346)