Connect ThingsBoard

ThingsBoard is an open-source IoT platform for dashboards, device management, and data analysis. The integration is suited for energy service providers, utilities, and facility managers who want to centrally analyse Smart Meter data.

Available from the Growing plan.

Option 1: Professional Edition (recommended)

ThingsBoard Professional Edition supports external MQTT Platform Integrations. This allows energiedaten.at to publish readings to a shared MQTT broker that ThingsBoard subscribes to.

Steps

  1. Provision an MQTT broker (e.g. Mosquitto) that is reachable by both energiedaten.at and ThingsBoard.

  2. Set up an MQTT connection in energiedaten.atSet up MQTT. Configure the broker host, port, credentials, and topic prefix (e.g. energiedaten/).

  3. Assign meters via routes in the connection settings.

  4. Create an Uplink Data Converter in ThingsBoard (Data Converters → Add Data Converter → Uplink):

var data = JSON.parse(decodeToString(payload));
var result = {
    deviceName: data.meter_id,
    deviceType: 'smart-meter',
    attributes: { unit: data.unit },
    telemetry: [{
        ts: new Date(data.timestamp).getTime(),
        values: { value_kwh: data.value_kwh, quality: data.quality }
    }]
};
return result;
  1. Create an Integration → MQTT in ThingsBoard:
Field Value
Host MQTT broker hostname
Port 1883 (or 8883 for TLS)
Topic filter energiedaten/#
QoS 0
Uplink converter Select the converter created above
  1. Enable debug mode for the initial verification.

  2. Check the result: Under Entities → Devices, devices are created automatically. The Latest Telemetry tab shows value_kwh and quality.

Option 2: Community Edition

ThingsBoard Community Edition does not support MQTT Platform Integrations. Instead, energiedaten.at sends directly to ThingsBoard's built-in MQTT transport — with a separate device per meter.

Steps

  1. In ThingsBoard: Create a device for each meter.
  2. Copy the device's Access Token from Manage Credentials.
  3. In energiedaten.at: Set up an MQTT connection with the following values:
Field Value
Broker host Your ThingsBoard instance hostname
Port 1883
Username Access token (no password)
Topic v1/devices/me/telemetry
  1. Assign meters via routes.

CE limitations: No integration-based auto-provisioning, no topic-based device mapping. Each MQTT connection in energiedaten.at points to exactly one ThingsBoard device. For multiple meters, a separate connection per meter is required.

Alternatives

REST API: An external script or a ThingsBoard Rule Engine node can periodically poll the energiedaten.at API and forward readings to ThingsBoard via HTTP. Suitable if you do not want to run your own MQTT broker.

Webhook: energiedaten.at pushes readings as an HTTP POST directly to the ThingsBoard REST API endpoint (/api/v1/{accessToken}/telemetry). No additional broker needed — set up via Webhooks.