What it exposes
| Feature | Property | Values | Control |
|---|---|---|---|
| Water consumed | water_consumed | m³ | read only |
| Month consumption | month_consumption | m³ | read only |
| Daily consumption | daily_consumption | m³ | read only |
| Flow rate | flow_rate | m³/h | read only |
| Reverse water consumed | reverse_water_consumed | m³ | read only |
| Report period | report_period | 1h, 2h, 3h, 4h, 6h, 8h, 12h, 24h | settable |
| Meter id | meter_id | — | read only |
| Temperature | temperature | °C | read only |
| Voltage | voltage | mV | read only |
| Faults | faults | — | read only |
MQTT: state and commands
Zigbee2MQTT publishes the device state to zigbee2mqtt/my_device (my_device is the name you give the device). An example message:
{
"water_consumed": 0,
"month_consumption": 0,
"daily_consumption": 0,
"flow_rate": 0,
"reverse_water_consumed": 0,
"report_period": "1h",
"temperature": 21.6,
"voltage": 230,
"linkquality": 120
}
Send commands to zigbee2mqtt/my_device/set:
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"report_period":"2h"}'
Watch the topics live from the browser: MQTT client.
Home Assistant automation example
Zigbee2MQTT creates Home Assistant entities from the device name. If it is called my_device, an automation in automations.yaml can look like this:
- alias: "Room too warm"
mode: single
triggers:
- trigger: numeric_state
entity_id: sensor.my_device_temperature
above: 26
for: "00:10:00"
actions:
- action: notify.notify
data:
message: "Temperature above 26 °C"
Check the YAML: YAML checker.
How to pair it
- In Zigbee2MQTT click Permit join.
- Put the device in pairing mode: usually a long press of the reset button (5–10 s) until the LED blinks; bulbs: switch the power off and on 5–6 times.
- Keep the device close to the coordinator or a router while pairing.
- Give it a clear name: MQTT topics and Home Assistant entities are built from it.
Exact procedure and model notes: the device page in the Zigbee2MQTT docs. No coordinator yet: coordinator picker.