IBMStreams / streamsx.iot

(Incubation) Provide the ability to have an IBM Streams application easily interact with IoTF, either in Bluemix (Streaming Analytics Service) or on-premises (IBM Streams).
http://ibmstreams.github.io/streamsx.iot
Apache License 2.0
7 stars 12 forks source link

check/update behavior wrt "d"-less JSON device cmds and events #51

Closed dlaboss closed 3 years ago

dlaboss commented 7 years ago

Check/update streamsx.iot wrt:

The WIoTP iot-java client API's behavior changed from 0.1.5 to 0.2.1. Apparently it was behind the times and was doing this "d"-wrapping in cmds while other client/device APIs were not: iot-java-Issue50.

Now iot-java >= 0.2.1 by default does not generate cmds with "d"-wrapping or "ts" inclusion. Ditto for iot-java generated device event msgs. See migration-from-release-015-to-021. Also see iot-java release info.

NOTE: Apache Edgent 1.0.0 uses iot-java 0.1.5. Furthermore, Edgent 1.0.0's WIoTP connector treats a cmd lacking a "d"-wrapper as having no cmd data. Ugh. (clearly that Edgent version hasn't been used with an application generating "d"-less cmds). The connector is being upgraded to iot-java 0.2.2 and also its handling of "d"-less cmds is being corrected (while still properly handling "d"-wrapped cmds). I expect that update to be in the upcoming Edgent 1.1.0 release. See edgent-pull-283.

streamsx.iot doesn't use the iot-java API but it must be able to interoperate with devices that do. Perhaps streamsx.iot should mirror current iot-java version default behavior and offer a similar capability to have it behave the "old way" if a usage needs it to. Or perhaps streamsx.iot should continue to generate "d"-wrapped cmds by default and/or until someone complains about that.

I haven't looked closely enough at streamsx.iot to know if it will be negatively affected by receiving "d"-less device events.

natashadsilva commented 7 years ago

+1 Please fix this soon because there is a published recipe on developerworks with instructions to connect to the IoT platform using the Java API and it does not work at the moment with Edgent 1.1.

istrate commented 6 years ago

@dlaboss +1 Do you have an ETA for this to be fixed?

rnostream commented 6 years ago

This issue was shifted last year because with the possibility to call your java application (using iot-java API) with -Dcom.ibm.iotf.enableCustomFormat=false will provide the "old" behavior with "d". Issue is now moved up in priority.

rnostream commented 3 years ago

Close this one as streamsx.mqtt should be used directly.