What it exposes
| Feature | Property | Values | Control |
|---|---|---|---|
| Emergency overcurrent | emergency_overcurrent | — | read only |
| Emergency overheat | emergency_overheat | — | read only |
| Emergency no load | emergency_no_load | — | read only |
| Sensor error remote disconnected | sensor_error_remote_disconnected | — | read only |
| Sensor error local disconnected | sensor_error_local_disconnected | — | read only |
| Sensor error short circuit | sensor_error_short_circuit | — | read only |
| Status heat inefficient | status_heat_inefficient | — | read only |
| Status antifrost | status_antifrost | — | read only |
| Status invalid time | status_invalid_time | — | read only |
| Keypad lockout | keypad_lockout | unlock, lock1 | settable |
| Climate | occupied_heating_setpoint, local_temperature, system_mode, local_temperature_calibration, control_sequence_of_operation, running_mode | heating setpoint, room temperature, mode, local_temperature_calibration, control_sequence_of_operation, running_mode, running state | settable |
| Clear weekly schedule | clear_weekly_schedule | Clear | settable |
| Programming operation mode | programming_operation_mode | setpoint, schedule | settable |
| Abs min heat setpoint limit | abs_min_heat_setpoint_limit | °C | read only |
| Abs max heat setpoint limit | abs_max_heat_setpoint_limit | °C | read only |
| Min heat setpoint limit | min_heat_setpoint_limit | °C · 1…35 | settable |
| Max heat setpoint limit | max_heat_setpoint_limit | °C · 5…50 | settable |
| Schedule | weekly_schedule | — | read only |
| Min local temperature limit | min_local_temperature_limit | °C · 1…35 | settable |
| Max local temperature limit | max_local_temperature_limit | °C · 5…50 | settable |
| Heating hysteresis | heating_hysteresis | °C · 1…10 | settable |
| Device temperature | device_temperature | °C | read only |
| Temperature | temperature | °C | read only |
| Voltage | voltage | V | read only |
| Current | current | A | read only |
| Power | power | W | read only |
| Upper current threshold | upper_current_threshold | mA · 100…16000 | settable |
| Temperature threshold | temperature_threshold | °C · -200…200 | settable |
| Sensor type | sensor_type | 4p7K, 6p8K, 10K, 12K, 15K, 33K, 47K | settable |
| Sensor mode | sensor_mode | local, remote, both | settable |
| Remote temperature | remote_temperature | °C · -273.15…327.67 | settable |
| Remote temperature calibration | remote_temperature_calibration | °C · -12.8…12.7 | settable |
| Remote sensor timeout | remote_sensor_timeout | 1…65535 | settable |
| Output mode | output_mode | normal, inverted | settable |
| Brightness operations mode | brightness_operations_mode | 0…1000 | settable |
| Brightness steady mode | brightness_steady_mode | 0…1000 | settable |
| Identify | identify | identify | settable |
| Rtc status | rtc_status | — | read only |
| Serial Number | serial_number | — | read only |
| Resets count | resets_count | — | read only |
| Uptime | uptime | s | read only |
| Button clicks count 1 | button_clicks_count_1 | — | read only |
| Button clicks count 2 | button_clicks_count_2 | — | read only |
| Button clicks count 3 | button_clicks_count_3 | — | read only |
| Relay switches count 1 | relay_switches_count_1 | — | 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:
{
"emergency_overcurrent": false,
"emergency_overheat": false,
"emergency_no_load": false,
"sensor_error_remote_disconnected": false,
"sensor_error_local_disconnected": false,
"sensor_error_short_circuit": false,
"status_heat_inefficient": false,
"status_antifrost": false,
"status_invalid_time": false,
"keypad_lockout": "unlock",
"occupied_heating_setpoint": 21,
"local_temperature": 20.5,
"system_mode": "heat",
"clear_weekly_schedule": "Clear",
"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 '{"keypad_lockout":"lock1"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"programming_operation_mode":"schedule"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"sensor_type":"6p8K"}'
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.