N

Netzhandwerker Agent Tools · Telemetry Normalize

by Netzhandwerker Agent Tools

POSTBase

$0.002

per call · USD Coin on Base

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.

Endpoint

POST https://tools.halowerk.com/v1/telemetry/normalize

1

Calls / 30d

1

Unique payers / 30d

Aug 19

Last called

exact

Payment scheme

Call this service

TypeScript · @x402/fetch
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const fetchWithPay = wrapFetchWithPayment(fetch, account);

const res = await fetchWithPay("https://tools.halowerk.com/v1/telemetry/normalize", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "align": true,
    "align_method": "last",
    "format": "senml_json",
    "interval_s": 60,
    "payload": [
      {
        "bn": "urn:dev:ow:10e2073a:",
        "bt": 1786000000,
        "bu": "Cel",
        "n": "temp",
        "v": 21.3
      },
      {
        "n": "temp",
        "t": 60,
        "v": 21.9
      },
      {
        "n": "hum",
        "t": 60,
        "u": "%RH",
        "v": 48
      }
    ]
  }),
});
const data = await res.json();
cURL
curl -X POST \
  "https://tools.halowerk.com/v1/telemetry/normalize" \
  -H "Content-Type: application/json" \
  -d '{"align":true,"align_method":"last","format":"senml_json","interval_s":60,"payload":[{"bn":"urn:dev:ow:10e2073a:","bt":1786000000,"bu":"Cel","n":"temp","v":21.3},{"n":"temp","t":60,"v":21.9},{"n":"hum","t":60,"u":"%RH","v":48}]}' \
  -H "X-PAYMENT: <signed x402 payment>"

Example response

{
  "align_note": null,
  "aligned": {
    "end_unix_s": 1786000060,
    "interval_s": 60,
    "method": "last",
    "point_count": 2,
    "points": [
      {
        "time": "2026-08-06T07:06:40.000Z",
        "time_unix_s": 1786000000,
        "values": {
          "urn:dev:ow:10e2073a:hum": null,
          "urn:dev:ow:10e2073a:temp": 21.3
        }
      },
      {
        "time": "2026-08-06T07:07:40.000Z",
        "time_unix_s": 1786000060,
        "values": {
          "urn:dev:ow:10e2073a:hum": 48,
          "urn:dev:ow:10e2073a:temp": 21.9
        }
      }
    ],
    "series_names": [
      "urn:dev:ow:10e2073a:hum",
      "urn:dev:ow:10e2073a:temp"
    ],
    "start_unix_s": 1786000000,
    "tolerance_s": 0,
    "values_filled": 3,
    "values_missing": 1
  },
  "format": "senml_json",
  "record_count": 3,
  "records": [
    {
      "name": "urn:dev:ow:10e2073a:temp",
      "time": "2026-08-06T07:06:40.000Z",
      "time_unix_s": 1786000000,
      "unit": "Cel",
      "value": 21.3,
      "value_type": "number"
    },
    {
      "name": "urn:dev:ow:10e2073a:temp",
      "time": "2026-08-06T07:07:40.000Z",
      "time_unix_s": 1786000060,
      "unit": "Cel",
      "value": 21.9,
      "value_type": "number"
    },
    {
      "name": "urn:dev:ow:10e2073a:hum",
      "time": "2026-08-06T07:07:40.000Z",
      "time_unix_s": 1786000060,
      "unit": "%RH",
      "value": 48,
      "value_type": "number"
    }
  ],
  "series": [
    {
      "count": 1,
      "first_time_unix_s": 1786000060,
      "last_time_unix_s": 1786000060,
      "max": 48,
      "mean": 48,
      "min": 48,
      "name": "urn:dev:ow:10e2073a:hum",
      "numeric_count": 1,
      "unit": "%RH"
    },
    {
      "count": 2,
      "first_time_unix_s": 1786000000,
      "last_time_unix_s": 1786000060,
      "max": 21.9,
      "mean": 21.6,
      "min": 21.3,
      "name": "urn:dev:ow:10e2073a:temp",
      "numeric_count": 2,
      "unit": "Cel"
    }
  ],
  "stateless": true,
  "warnings": []
}

Payment details

Pay to0x2880edfff13100677bf97a3cbdf3bc34771c4e5e
AssetUSD Coin · 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
NetworksBase
Schemesexact

Is this your API?

Pin it to the top of Developer Tools and the homepage with a featured placement.

Get featured →

More from Netzhandwerker Agent Tools & similar services