Capture Object
{
"Tags": {
"Serialnumber": "11111"
},
"Fields": {
"value1": 0,
"value2": 1,
"value3": 2
},
"Timestamp": 1689690810500
}
Will create this:
| Timestamp | Serialnumber | VarName_value1 | VarName_value2 | VarName_value3 |
|---|---|---|---|---|
| 1689690810500 | 11111 | 0 | 1 | 2 |
Tags is requiredA 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}}}