Agent Tools
telemetry / normalize
Turns SenML (JSON or CBOR) and LwM2M TLV into one record shape: resolved name, unit, absolute timestamp, typed value. Optionally puts every series on a shared time axis with a chosen interval and fill rule (last value, bucket mean, linear). Works only on the payload you pass: no device is contacted, nothing is stored, the same request returns the same bytes. TLV carries no type on the wire; unmapped resource ids come back as opaque base64 with a warning instead of a guess.
POST https://tools.halowerk.com/v1/telemetry/normalizeEingaben
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| format | string | Ja | Wire format of payload. senml_cbor and lwm2m_tlv expect base64. |
| payload | Siehe Schema | Ja | SenML records as a JSON array (or a JSON string holding one), or base64 for senml_cbor and lwm2m_tlv. At most 1000000 bytes after decoding; the service caps the whole request body at 256 KB. |
| base_name | string | Nein | Prefix put in front of every resolved record name. For lwm2m_tlv this is where the device identity goes. |
| base_time_unix_s | number | Nein | Anchor in seconds since 1970 for records that carry no absolute time. SenML calls times below 2^28 relative to now; this endpoint is stateless and will not invent a now. |
| value_types | object | Nein | lwm2m_tlv only: resource id as key, one of integer, float, boolean, string, time, opaque as value. Ids left out come back as opaque base64 with a warning instead of a guessed type. |
| align | boolean | Nein | Also return every numeric series on one shared time grid. |
| interval_s | number | Nein | Grid spacing in seconds. The grid may not exceed 10000 points. |
| align_method | string | Nein | How a grid point is filled: last value at or before the point, mean over the bucket, or linear interpolation between neighbours. |
| tolerance_s | number | Nein | align_method=last only: how stale the carried value may be before the grid point is left empty. 0 means no limit. |
| max_records | integer | Nein | Upper bound on records taken from the payload. |
Vollständiges Eingabeschema anzeigen
{
"type": "object",
"required": [
"format",
"payload"
],
"properties": {
"format": {
"type": "string",
"enum": [
"senml_json",
"senml_cbor",
"lwm2m_tlv"
],
"description": "Wire format of payload. senml_cbor and lwm2m_tlv expect base64."
},
"payload": {
"description": "SenML records as a JSON array (or a JSON string holding one), or base64 for senml_cbor and lwm2m_tlv. At most 1000000 bytes after decoding; the service caps the whole request body at 256 KB."
},
"base_name": {
"type": "string",
"maxLength": 200,
"description": "Prefix put in front of every resolved record name. For lwm2m_tlv this is where the device identity goes."
},
"base_time_unix_s": {
"type": "number",
"description": "Anchor in seconds since 1970 for records that carry no absolute time. SenML calls times below 2^28 relative to now; this endpoint is stateless and will not invent a now."
},
"value_types": {
"type": "object",
"description": "lwm2m_tlv only: resource id as key, one of integer, float, boolean, string, time, opaque as value. Ids left out come back as opaque base64 with a warning instead of a guessed type."
},
"align": {
"type": "boolean",
"default": false,
"description": "Also return every numeric series on one shared time grid."
},
"interval_s": {
"type": "number",
"minimum": 0.001,
"maximum": 86400,
"default": 60,
"description": "Grid spacing in seconds. The grid may not exceed 10000 points."
},
"align_method": {
"type": "string",
"enum": [
"last",
"mean",
"linear"
],
"default": "last",
"description": "How a grid point is filled: last value at or before the point, mean over the bucket, or linear interpolation between neighbours."
},
"tolerance_s": {
"type": "number",
"minimum": 0,
"maximum": 86400,
"default": 0,
"description": "align_method=last only: how stale the carried value may be before the grid point is left empty. 0 means no limit."
},
"max_records": {
"type": "integer",
"minimum": 1,
"maximum": 20000,
"default": 5000,
"description": "Upper bound on records taken from the payload."
}
}
}Veröffentlichtes Eingabebeispiel
{
"format": "senml_json",
"payload": [
{
"bn": "urn:dev:ow:10e2073a:",
"bt": 1786000000,
"bu": "Cel",
"n": "temp",
"v": 21.3
},
{
"n": "temp",
"t": 60,
"v": 21.9
},
{
"n": "hum",
"u": "%RH",
"t": 60,
"v": 48
}
],
"align": true,
"interval_s": 60,
"align_method": "last"
}Ergebnis & Dokumentation
Maschinenlesbare Dokumentation dieses Hubs
Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-01, 15:19 UTC.
Weitere Endpunkte dieses Hubs
- Agent Tools0,002 USDC
abtest / evaluate
POSThttps://tools.halowerk.com/v1/abtest/evaluateReads one conversion experiment two ways at once. Frequentist: two-proportion test, p value, confidence interval on the absolute lift, and the sample size the requested minimum detectable effect needs at the requested power. Bayesian: Beta-
- Agent Tools0,002 USDC
address / validate
POSThttps://tools.halowerk.com/v1/address/validateParse, validate and normalize a supplied postal address. See the linked schema for inputs, coverage and limitations.
- Agent Tools0,004 USDC
agent / access
POSThttps://tools.halowerk.com/v1/agent/accessInspect published access rules for software agents on a web page. See the linked schema for inputs, coverage and limitations.