mirror of
https://github.com/thingsboard/thingsboard-gateway
synced 2025-10-26 22:31:42 +08:00
Added converter update from shared attr for MQTT Connector
This commit is contained in:
@@ -471,6 +471,7 @@ class TBGatewayService:
|
||||
def __process_attribute_update(self, content):
|
||||
self.__process_remote_logging_update(content.get("RemoteLoggingLevel"))
|
||||
self.__process_remote_configuration(content.get("configuration"))
|
||||
self.__process_remote_converter_configuration_update(content)
|
||||
|
||||
def __process_attributes_response(self, shared_attributes, client_attributes):
|
||||
self.__process_remote_logging_update(shared_attributes.get('RemoteLoggingLevel'))
|
||||
@@ -487,6 +488,27 @@ class TBGatewayService:
|
||||
log.info('Remote logging has being updated. Current logging level is: %s ',
|
||||
remote_logging_level)
|
||||
|
||||
def __process_remote_converter_configuration_update(self, content: dict):
|
||||
try:
|
||||
key = list(content.keys())[0]
|
||||
connector_name, converter_name = key.split(':')
|
||||
log.info('Got remote converter configuration update')
|
||||
if not self.available_connectors.get(connector_name):
|
||||
raise ValueError
|
||||
|
||||
converters = self.available_connectors[connector_name].get_converters()
|
||||
for (_, converter_class_name_list) in converters.items():
|
||||
converter_class_name = converter_class_name_list[0].__class__.__name__
|
||||
converter_obj = converter_class_name_list[0]
|
||||
if converter_class_name == converter_name:
|
||||
converter_obj.config = content[key]
|
||||
log.info('Updated converter configuration for: %s with configuration %s',
|
||||
converter_name, converter_obj.config)
|
||||
# TODO: log correct exception
|
||||
except (ValueError, AttributeError, IndexError) as e:
|
||||
log.exception(e)
|
||||
return
|
||||
|
||||
def __process_deleted_gateway_devices(self, deleted_device_name: str):
|
||||
log.info("Received deleted gateway device notification: %s", deleted_device_name)
|
||||
if deleted_device_name in list(self.__renamed_devices.values()):
|
||||
|
||||
Reference in New Issue
Block a user