Closed dlaboss closed 3 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.
@dlaboss +1 Do you have an ETA for this to be fixed?
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.
Close this one as streamsx.mqtt should be used directly.
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.