ZENNER Datahub

ZENNER Datahub is a product of ZENNER and hosted in different regions around the world. Please check out the website of ZENNER to find the best matching instance for the place you want to run your devices. The Datahub does not only allow LoRaWAN to be used but also OMS / wireless M-Bus, you can find the details at the OMS documentation of energy2mqtt.

Details

Currently ZENNER Datahub is not able to export directly to MQTT. That feature is on the roadmap and should be ready in 2026. Until it is please refer to websocket-fwd on our github page for a tool to convert the HTTP Push API of ZENNER Datahub to MQTT. There is a tutorial how to setup the websocket-fwd tool for ZENNER Datahub EU and UAE.

Data structure of ZENNER Datahub

Datahub has the option to export parsed and unparsed data. As energy2mqtt does not contain a way to parse data itself, disable the “send unmapped” option in Datahub. We will filter that out if you missed configuring it, but it will cause unneeded network traffic.

The ZENNER Datahub has different main parts in the resulting JSON, the unmapped part which contains the data parsed from the last received telegram and the meta part which contains information about the way it was transmitted. The next part are the timestamps, like the one when the data was parsed as well when it was received by the gateway.

As Home Assistant handles different device types we need to add some quirks to the data received by the different LoRaWAN Network Servers (LNS). We use device definitions for that, see the documentation.

ZENNER Datahub configuration

To configure data import from ZENNER Datahub you need to know your tenant and create a tenant based forwarding rule in the main configuration interface of ZENNER Datahub. Please refer to the documentation of your instance how to add such forwardings or follow the websocket-fwd tutorial on how to set things up.

MQTT documentation

The MQTT interface is split into two parts, the first one for consuming messages which were handled by the LNS and parsed by the corresponding parser and the second one used to send downlinks to the device.

Both share the tenant name als the base topic in MQTT followed by R/ for messages sent to the client and W/ for downlink messages.

The R path is build like that: {tenant}/R/{protocol}/{DevEUI}/value

protocol is set to “lora” for lorawan messages. the DevEUI is the unique identifier of every LoRaWAN device.

Configuration file part

The ZENNER Datahub implementation in energy2mqtt needs to know the broker host and port. If you require authentication, set username and password for the instance. The base topic is mostly our tenant if you have an extra broker in between than change it to match that configuration.

zenner_datahub:
  - name: "instance 1"
    enabled: true
    broker_host: mqtt.your.datahub.instance
    broker_port: 1883
    broker_user: your user          # optional, defaults to energy2mqtt
    broker_pass: your password      # optional, defaults to energy2mqtt
    base_topic: "mytenant"
    client_name: "e2m_mytenant"     # optional, defaults to energy2mqtt