From 4fb5db9a8463d40d329bbc45e45b1a40460599f5 Mon Sep 17 00:00:00 2001 From: firedog1024 Date: Tue, 22 Jun 2021 20:25:25 -0700 Subject: [PATCH] added rudimentary support for M3 app removal of value wrapping --- src/iotc/__init__.py | 8 +++----- src/iotc/aio/__init__.py | 22 +++++++++++----------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/iotc/__init__.py b/src/iotc/__init__.py index f324f09..38a6353 100644 --- a/src/iotc/__init__.py +++ b/src/iotc/__init__.py @@ -195,11 +195,9 @@ def _sync_twin(self): for desired_prop in desired: if desired_prop == '$version': continue - if '__t' in desired[desired_prop]: # is a component + if str(type(desired[desired_prop])) == "": # is a component desired_prop_component = desired_prop for desired_prop_name in desired[desired_prop_component]: - if desired_prop_name == '__t': - continue has_reported = False try: has_reported = reported[desired_prop_component][desired_prop_name] @@ -268,7 +266,7 @@ def _handle_property_ack( "{}".format(component_name): { "{}".format(property_name): { "ac": 200, - "ad": "Property received", + "ad": "Completed", "av": property_version, "value": property_value, } @@ -281,7 +279,7 @@ def _handle_property_ack( { "{}".format(property_name): { "ac": 200, - "ad": "Property received", + "ad": "Completed", "av": property_version, "value": property_value, } diff --git a/src/iotc/aio/__init__.py b/src/iotc/aio/__init__.py index bb16e54..4d113d3 100644 --- a/src/iotc/aio/__init__.py +++ b/src/iotc/aio/__init__.py @@ -125,12 +125,12 @@ async def _handle_property_ack( await self.send_property( { "{}".format(component_name): { - "{}".format(property_name): { - "ac": 200, - "ad": "Property received", - "av": property_version, - "value": property_value, - } + "value": { + "{}".format(property_name): property_value + }, + "ac": 200, + "ad": "Completed", + "av": property_version, } } ) @@ -140,7 +140,7 @@ async def _handle_property_ack( { "{}".format(property_name): { "ac": 200, - "ad": "Property received", + "ad": "Completed", "av": property_version, "value": property_value, } @@ -159,12 +159,12 @@ async def _update_properties(self, patch, prop_cb): # check if component try: - is_component = patch[prop]["__t"] + is_component = str(type(patch[prop])) == "" except KeyError: pass if is_component: for component_prop in patch[prop]: - if component_prop == "__t": + if str(type(component_prop)) == "": continue await self._logger.debug( 'In component "{}" for property "{}"'.format( @@ -174,13 +174,13 @@ async def _update_properties(self, patch, prop_cb): await self._handle_property_ack( prop_cb, component_prop, - patch[prop][component_prop]["value"], + patch[prop][component_prop], patch["$version"], prop, ) else: await self._handle_property_ack( - prop_cb, prop, patch[prop]["value"], patch["$version"] + prop_cb, prop, patch[prop], patch["$version"] ) async def _on_properties(self):