Skip to main content

Capture Object

{
"Tags": {
"Serialnumber": "11111"
},
"Fields": {
"value1": 0,
"value2": 1,
"value3": 2
},
"Timestamp": 1689690810500
}

Will create this:

TimestampSerialnumberVarName_value1VarName_value2VarName_value3
168969081050011111012
Tags is required

A message is read as a Capture Object only when it has both a Tags and a Fields key. Send "Tags": {} when there are no tags. Without Tags, the message is read as plain JSON: every key becomes a field of its own (VarName_Fields_value1, VarName_Timestamp, ...), and the point is stored at the time Capture Edge receives it, whatever its Timestamp says.

Timestamp​

Timestamp is the time of the point as a Unix timestamp in milliseconds (UTC), sent as a number, so 13 digits for any current date: 1689690810500 above is 2023-07-18 14:33:30.500 UTC. A numeric string ("1689690810500") is accepted too. Leave it out, or set it to 0, to use the time Capture Edge receives the message.

This is the same format as the Timestamp of the cloud Data API.

Timestamp is always read as milliseconds: a value in seconds lands in January 1970, where InfluxDB drops the point.

Edge2.3.1+ A value that is no date at all in milliseconds (a value in nanoseconds, for example) is stored at the time Capture Edge receives the message, with a warning in the Collector log that names the variable.


NOTE: In Capture Edge versions before 2.0.9 the field name was not prefixed with the variable name. To revert to this old behavior (to support older dashboards), set this on the custom Connect Settings (cogwheel next to the Connection settings): {"DataParseOptions":{"CaptureObjectParseOptions":{"PrefixFieldNameWithVariableName":false}}}