What it exposes
| Feature | Property | Values | Control |
|---|---|---|---|
| Climate | preset, local_temperature, occupied_heating_setpoint, local_temperature_calibration, system_mode | preset, room temperature, heating setpoint, local_temperature_calibration, mode | settable |
| Auto mode | auto_mode | off, antifrost, eco, comfort_-2, comfort_-1, comfort | settable |
| Manual mode | manual_mode | off, antifrost, eco, comfort_-2, comfort_-1, comfort | settable |
| Frost protection | frost_protection | — | settable |
| Humidity | humidity | % | read only |
| Child lock | child_lock | — | settable |
| Open window detection | window_detection | — | settable |
| Window opening mode | window_opening_mode | off, antifrost, eco, comfort_-2, comfort_-1, comfort | settable |
| Window opening mode duration | window_opening_mode_duration | min · 1…90 | settable |
| Temperature unit | temperature_unit | celsius, fahrenheit | settable |
| Boost heating | boost_heating | — | settable |
| Boost timeset countdown | boost_timeset_countdown | s · 0…900 | read only |
| Power rating | power_rating | kWh · 10…10000 | settable |
| Energy consumed | energy_consumed | kWh | read only |
| Mode switching | mode_switching | four_modes, six_modes | settable |
| Holiday start stop | holiday_start_stop | — | settable |
| Reset consumption | reset_consumption | — | settable |
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:
{
"local_temperature": 20.5,
"occupied_heating_setpoint": 21,
"system_mode": "heat",
"auto_mode": "off",
"manual_mode": "off",
"frost_protection": false,
"humidity": 46.2,
"child_lock": false,
"window_opening_mode": "off",
"window_opening_mode_duration": 46,
"temperature_unit": "celsius",
"boost_heating": false,
"boost_timeset_countdown": 450,
"power_rating": 5005,
"linkquality": 120
}
Send commands to zigbee2mqtt/my_device/set:
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"occupied_heating_setpoint":21.5}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"system_mode":"heat"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"auto_mode":"antifrost"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"manual_mode":"antifrost"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"frost_protection":true}'
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: "Cooler at night"
mode: single
triggers:
- trigger: time
at: "23:00:00"
actions:
- action: climate.set_temperature
target:
entity_id: climate.my_device
data:
temperature: 18
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.