Skip to content

[BUG] Request connector JSON converter: tsField only works at first level #1991

@albham

Description

@albham

Connector name (If bug in the some connector):
REQUEST Connector

Describe the bug
When the tsField expression points to a field in the first level of the JSON the time value is correctly read, however when it refers to a second level field, its value is not taken into account.

Steps to Reproduce
If my API returns

{
  "device": "pruReq1",
  "D1234": {
    "temperatura": 20.1,
    "pw": 33.5
  },
  "fecha": "2025-10-20T11:49:46.481Z",
  "estado": "OK"
}

The date is read correctly as data timestamp if I use the configuration

        "telemetry": [
          {
            "key": "temp",
            "type": "float",
            "value": "${D1234.temperatura}",
            "tsField": "${fecha}"
          },

on the other hand, if my API returns

{
  "device": "pruReq1",
  "D1234": {
    "temperatura": 20.200000000000003,
    "pw": 33.5,
    "fecha": "2025-10-20T11:53:37.637Z"
  },
  "estado": "OK"
}

and with the configuration

        "telemetry": [
          {
            "key": "temp",
            "type": "float",
            "value": "${D1234.temperatura}",
            "tsField": "${D1234.fecha}"
          },

timestamp corresponds to the time of access and not the date shown in the tsField field

Versions (please complete the following information):

  • OS: Ubuntu 24.04
  • Thingsboard IoT Gateway version: Docker last release (3.7.8)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions