thingsboard-gateway icon indicating copy to clipboard operation
thingsboard-gateway copied to clipboard

[BUG] cannot send all telemetry & attributes data - SNMP Connector

Open ghost opened this issue 1 year ago • 1 comments

Describe the bug Hi! I am using SNMP Connector on IoT Gateway, but only 2 telemetry data is sent and on attribute data only 1 but data is not sent on thingsboard.

Connector name: SNMP Connector SNMP Connector IoT Gateway

Error traceback:

  /var/lib/thingsboard_gateway/.local/lib/python3.10/site-packages/puresnmp_plugins/mpm/v1.py:46: UserWarning: E>
    warn("Experimental SNMPv1 support", UserWarning)
  /var/lib/thingsboard_gateway/.local/lib/python3.10/site-packages/puresnmp_plugins/security/v1.py:36: UserWarni>
    warn("Experimental SNMPv1 support", UserWarning)
  2024-01-12 06:28:23 - |ERROR| - [tb_logger.py] - tb_logger - exception - 97 - Object of type SNMPUplinkConvert>
  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/thingsboard_gateway/gateway/tb_gateway_service.py", line 531, in __init>
      self.__remote_configurator = RemoteConfigurator(self, self.__config)
    File "/usr/lib/python3/dist-packages/thingsboard_gateway/tb_utility/tb_gateway_remote_configurator.py", line>
      self._create_connectors_backup()
    File "/usr/lib/python3/dist-packages/thingsboard_gateway/tb_utility/tb_gateway_remote_configurator.py", line>
      self.create_configuration_file_backup(connector['configurationJson'], connector['configuration'])
    File "/usr/lib/python3/dist-packages/thingsboard_gateway/tb_utility/tb_gateway_remote_configurator.py", line>
      backup_file.writelines(dumps(config_data, indent='  '))
    File "/usr/lib/python3/dist-packages/simplejson/__init__.py", line 412, in dumps
      **kw).encode(obj)
    File "/usr/lib/python3/dist-packages/simplejson/encoder.py", line 298, in encode
      chunks = list(chunks)
    File "/usr/lib/python3/dist-packages/simplejson/encoder.py", line 704, in _iterencode
      for chunk in _iterencode_dict(o, _current_indent_level):
    File "/usr/lib/python3/dist-packages/simplejson/encoder.py", line 658, in _iterencode_dict
      for chunk in chunks:
    File "/usr/lib/python3/dist-packages/simplejson/encoder.py", line 534, in _iterencode_list
      for chunk in chunks:
    File "/usr/lib/python3/dist-packages/simplejson/encoder.py", line 658, in _iterencode_dict
      for chunk in chunks:
    File "/usr/lib/python3/dist-packages/simplejson/encoder.py", line 724, in _iterencode
      o = _default(o)
    File "/usr/lib/python3/dist-packages/simplejson/encoder.py", line 272, in default
      raise TypeError('Object of type %s is not JSON serializable' %
  TypeError: Object of type SNMPUplinkConverter is not JSON serializable /var/lib/thingsboard_gateway/.local/lib/python3.10/site-packages/puresnmp_plugins/mpm/v1.py:70: UserWarning: E>
    warn("Experimental SNMPv1 support", UserWarning)
  /var/lib/thingsboard_gateway/.local/lib/python3.10/site-packages/puresnmp_plugins/security/v1.py:58: UserWarni>
    warn("Experimental SNMPv1 support", UserWarning)
Jan 12 06:28:25 ubuntuserver python3[26079]: 2024-01-12 06:28:25 - |INFO| - [tb_gateway_service.py] - tb_gateway_service - __init__ - 304 - Gateway started.
lines 993-1031/1031 (END)

why the data is still not sent???.

in snmp.json





{
    "name": "SNMP Connector",
    "logLevel": "DEBUG",
    "devices": [
      {
        "deviceName": "Schneider SNMP",
        "deviceType": "snmp",
        "ip": "xxxxxx",
        "port": 161,
        "pollPeriod": 5000,
        "community": "private",
        "attributes": [
          {
            "key": "Current",
            "method": "get",
            "oid": "1.3.6.1.4.1.49314.1.1.1.4.9.7.0",
            "timeout": 6
          }
         ],
        "telemetry": [
          {
            "key": "Frequency",
            "method": "get",
            "oid": "1.3.6.1.4.1.49314.1.1.1.4.9.8.0",
            "timeout": 6
          },
          {
            "key": "A",
            "method": "get",
            "oid": "1.3.6.1.4.1.49314.1.1.1.4.9.9.0",
            "timeout": 6
          },
          {
            "key": "B",
            "method": "get",
            "oid": "1.3.6.1.4.1.49314.1.1.1.4.9.10.0",
            "timeout": 6
        },
        {
          "key": "C",
          "method": "get",
          "oid": "1.3.6.1.4.1.49314.1.1.1.4.9.11.0",
          "timeout": 6
        },
        {
          "key": "D",
          "method": "get",
          "oid": "1.3.6.1.4.1.49314.1.1.1.4.9.12.0",
          "timeout": 6
        }
      ]
     }
   ]
}
  

in ThingsBoard - telemetry *and why only 1 data was sent?? image

in ThingsBoard - attributes image

Versions:

  • OS: [Ubuntu 20.04]
  • Thingsboard IoT Gateway version latest
  • Python version 3.10

ghost avatar Jan 12 '24 03:01 ghost

Hi @Eginaylasofyan,

Thank you for your interest in ThingsBoard IoT gateway. Please try to use a version from the master branch.

imbeacon avatar Feb 20 '24 09:02 imbeacon

Closed due to inactivity, please feel free to open a new issue in case it is still reproducible.

samson0v avatar Jun 14 '24 07:06 samson0v