Я пытаюсь подключить ThingsBoard Gateway к четырем электрическим c счетчикам, подключенным через Modbus TCP к Modbus RTU шлюз. Устройства появляются в ThingsBoard, и телеметрия приходит ... на некоторое время. В какой-то момент ThingsBoard Gateway зависает, и телеметрия больше не принимается.
Кажется, код зависает в методе ModBus Python _recv (он вызывается, но кажется, что он никогда не возвращается). Я пытаюсь понять, почему / где, но я новичок в Pyhton.
У кого-нибудь есть подобная проблема? Есть ли способ записать значения из библиотеки ModBus Python?
''2020-04-13 21:36:02' - WARNING - modbus_connector - 226 - Before __available_functions'
''2020-04-13 21:36:02' - WARNING - modbus_connector - 230 - After __available_functions'
''2020-04-13 21:36:02' - DEBUG - modbus_connector - 237 - With result ReadRegisterResponse (2)'
''2020-04-13 21:36:02' - DEBUG - modbus_connector - 129 - Checking timeseries for device Compteur électrique solaire'
''2020-04-13 21:36:02' - DEBUG - modbus_connector - 131 - {'timeseries': {'Production solaire': {'data_sent': {'byteOrder': 'BIG', 'tag': 'Production solaire', 'type': 'double', 'functionCode': 4, 'registerCount': 2, 'address': 12, 'deviceName': 'Compteur électrique solaire'}, 'input_data': <pymodbus.register_read_message.ReadInputRegistersResponse object at 0xb409e210>}}, 'attributes': {}}'
''2020-04-13 21:36:02' - DEBUG - bytes_modbus_uplink_converter - 53 - Tag: Production solaire Config: {'byteOrder': 'BIG', 'tag': 'Production solaire', 'type': 'double', 'functionCode': 4, 'registerCount': 2, 'address': 12, 'deviceName': 'Compteur électrique solaire'} registers: [0, 0]'
''2020-04-13 21:36:02' - DEBUG - bytes_modbus_uplink_converter - 70 - datatype: telemetry key: Production solaire value: 0.0'
''2020-04-13 21:36:02' - DEBUG - bytes_modbus_uplink_converter - 72 - {'deviceName': 'Compteur électrique solaire', 'deviceType': 'default', 'telemetry': [{'Production solaire': 0.0}], 'attributes': []}'
''2020-04-13 21:36:02' - WARNING - modbus_connector - 226 - Before __available_functions'
(end of connector.log)