|
15 | 15 | import logging
|
16 | 16 | from copy import deepcopy
|
17 | 17 | from inspect import signature
|
18 |
| -from re import split |
19 | 18 | from time import sleep
|
20 | 19 |
|
21 | 20 | import paho.mqtt.client as paho
|
@@ -777,14 +776,15 @@ def __send_publish_with_limitations(self, kwargs, timeout, device=None, msg_rate
|
777 | 776 | if attributes_format:
|
778 | 777 | split_messages = [{'message': msg_data, 'datapoints': len(msg_data)} for split_message in device_split_messages for msg_data in split_message['data']]
|
779 | 778 | else:
|
780 |
| - split_messages = [{'message': split_message['data'], 'datapoints': split_message['datapoints']} |
781 |
| - for split_message in device_split_messages] |
| 779 | + split_messages = [{'message': split_message['data'], 'datapoints': split_message['datapoints']} for split_message in device_split_messages] |
782 | 780 | else:
|
783 | 781 | device_data = data.get(device)
|
784 | 782 | device_split_messages = self._split_message(device_data, dp_rate_limit.get_minimal_limit(),
|
785 | 783 | self.max_payload_size)
|
786 |
| - split_messages = [ |
787 |
| - {'message': {device: split_message['data']}, 'datapoints': split_message['datapoints']} for split_message in device_split_messages] |
| 784 | + if attributes_format: |
| 785 | + split_messages = [{'message': {device: msg_data}, 'datapoints': len(msg_data)} for split_message in device_split_messages for msg_data in split_message['data']] |
| 786 | + else: |
| 787 | + split_messages = [{'message': {device: split_message['data']}, 'datapoints': split_message['datapoints']} for split_message in device_split_messages] |
788 | 788 | else:
|
789 | 789 | split_messages = [{'message': data, 'datapoints': 0}]
|
790 | 790 |
|
@@ -1063,7 +1063,7 @@ def _split_message(message_pack, datapoints_max_count, max_payload_size):
|
1063 | 1063 | value = values[data_key]
|
1064 | 1064 | data_key_size = len(data_key) + len(str(value))
|
1065 | 1065 |
|
1066 |
| - if len(message_item_values_with_allowed_size) < datapoints_max_count + current_size // 1024 and current_size + data_key_size < max_payload_size: |
| 1066 | + if len(message_item_values_with_allowed_size) < datapoints_max_count and current_size + data_key_size < max_payload_size: |
1067 | 1067 | message_item_values_with_allowed_size[data_key] = value
|
1068 | 1068 | current_size += data_key_size
|
1069 | 1069 |
|
|
0 commit comments