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: Direct MQTT (recommended)
energiedaten.at sends readings directly to ThingsBoard's built-in MQTT transport — no external broker needed. Works with both Community and Professional Edition.
Steps
- In ThingsBoard: Create a device for each meter.
- Copy the device's Access Token from Manage Credentials.
- 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 |
- Assign meters via routes.
Readings arrive in ThingsBoard's native telemetry format ({ts, values}) — no data converter required. Check Entities → Devices → Latest Telemetry to verify. Values appear under their OBIS code (e.g. 1-1:1.9.0 P.01).
Limitation: Each MQTT connection in energiedaten.at authenticates as one ThingsBoard device. For multiple meters, create a separate connection per meter. This works well for small to medium setups.
Option 2: MQTT via External Broker (Professional Edition)
For larger setups with many meters, ThingsBoard Professional Edition supports MQTT Platform Integrations. energiedaten.at publishes all readings to a shared MQTT broker, and ThingsBoard subscribes — with automatic device provisioning.
Steps
-
Provision an MQTT broker (e.g. Mosquitto) that is reachable by both energiedaten.at and ThingsBoard.
-
Set up an MQTT connection in energiedaten.at → Set up MQTT. Configure the broker host, port, credentials, and set the topic to
energiedaten/{metering_point_number}. -
Assign meters via routes in the connection settings.
-
Create an Uplink Data Converter in ThingsBoard (Data Converters → Add Data Converter → Uplink):
var data = JSON.parse(decodeToString(payload));
var topic = metadata['topic'];
var deviceName = topic.substring(topic.lastIndexOf('/') + 1);
var telemetry = Array.isArray(data) ? data : [data];
return {
deviceName: deviceName,
deviceType: 'smart-meter',
telemetry: telemetry
};
- 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 |
-
Enable debug mode for the initial verification.
-
Check the result: Under Entities → Devices, devices are created automatically. The Latest Telemetry tab shows your OBIS code readings.
Alternative: HTTP Integration (Professional Edition)
If you prefer not to run an MQTT broker but still want automatic device provisioning, ThingsBoard PE also supports HTTP Integrations. energiedaten.at sends readings as a Webhook directly to ThingsBoard's HTTP Integration endpoint — same auto-provisioning benefits, no additional infrastructure.