Skip to content

Zigbee2MQTT ​

Zigbee2MQTT is an open-source Zigbee bridge. As the name says, it converts Zigbee traffic into MQTT messages, which lets ZiggyMeter feed anything that speaks MQTT — Home Assistant, Node-RED, or your own software.

Requirements ​

  • A Zigbee coordinator supported by Zigbee2MQTT
  • Zigbee2MQTT running and connected to an MQTT broker
  • ZiggyMeter powered on with Zigbee enabled

Pair the device ​

  1. Open the Zigbee2MQTT frontend and enable Permit join (bottom of the left menu).

    Permit join

  2. Put ZiggyMeter into joining mode:

    • Button — click 3 times, or 4 times if the device is asleep.
    • Web interface — Zigbee → ZIGBEE RESET.
  3. Wait for the device to appear in the Devices list.

    New device

  4. Optionally give it a friendly name. That name becomes part of the MQTT topic, so choose it before you write automations against it.

WARNING

"Not supported" is not an error. It means ZiggyMeter is not in the Zigbee2MQTT device database, not that it fails to work. All clusters are standard and the data flows normally. You can safely ignore the message.

Device details ​

Selecting the device shows its details, including the MQTT topic.

Device details

Useful sub-tabs:

TabWhat it gives you
ExposesMeasurements — power, energy, temperature, battery
ClustersThe raw Zigbee clusters the device exposes
Dev consoleRead and write attributes directly — the tool to reach for when a value looks wrong

Receiving data ​

Zigbee2MQTT publishes measurements as MQTT messages.

  • Default topic pattern: zigbee2mqtt/<friendly_name>
  • The base topic (zigbee2mqtt) is configurable in Zigbee2MQTT settings

Subscribe with any MQTT client:

bash
mosquitto_sub -t 'zigbee2mqtt/<friendly_name>' -v

A message looks like this:

bash
zigbee2mqtt/0x404ccafffe478674 {"current_2":null,"energy_2":129496,"linkquality":204,"power_2":null,"produced_energy_2":67296,"state_1":"OFF","state_2":"OFF","temperature":36.59,"voltage_2":null}

The _1 and _2 suffixes are the Zigbee endpoints — _1 is the device, _2 is the meter. See Zigbee reference.

INFO

A null field means the meter did not provide that value, not that the Zigbee link failed. Which fields are populated depends entirely on your meter.

Firmware updates ​

Zigbee2MQTT can upgrade ZiggyMeter automatically. Follow the Zigbee2MQTT guide for OTA updates, and use this remote OTA index URL:

text
https://fw.ziggymeter.com/z2m_index.json

WARNING

Zigbee OTA is slow. Keep the device powered and in range for the whole transfer — expect hours, not minutes. See Firmware upgrade → Zigbee OTA.

Troubleshooting ​

SymptomCheck
Device does not joinPermit join is open; run a Zigbee reset (3 clicks, 4 if asleep); move the device closer to the coordinator
No MQTT messagesZigbee2MQTT is connected to the broker; you are subscribed to the right base topic and friendly name
Fields are nullThe meter does not report those values — check the readout in the ZiggyMeter web interface
Values never changeNothing is triggering readouts. Check the schedule