What it exposes
| Feature | Property | Values | Control |
|---|---|---|---|
| Ac connected | ac_connected | disconnected, invalid_data_recieved, connected_with_issues, connected | read only |
| On / off | state | — | settable |
| Current temperature | current_temperature | °C | read only |
| Target temperature | target_temperature | °C · 16…32 | settable |
| Mode | system_mode | off, auto, cool, heat, fan_only, dry | settable |
| Mode | mode | heat, cool, auto, dry, fan_only | settable |
| Allow the use of an external temperature sensor | allow_the_use_of_an_external_temperature_sensor | No, Yes | settable |
| External air temperature | external_air_temperature | °C · -50…50 | settable |
| External temperature sensor validity period | external_temperature_sensor_validity_period | 0…100 | settable |
| Outdoor air temperature | outdoor_air_temperature | °C | read only |
| Zb fan speed | zb_fan_speed | 1…5 | settable |
| Vertical vanes | vertical_vanes | 0…4 | settable |
| Horizontal vanes | horizontal_vanes | 0…7 | settable |
| Fan speed | fan_speed | 0…5 | settable |
| Smart fan speed | smart_fan_speed | 0…7 | settable |
| Vanes swing | vanes_swing | 0…3 | settable |
| Status led | status_led | normal_mode, disabled_if_no_errors, disabled_untill_reboot, always_disabled, green_untill_reboot, red_untill_reboot | settable |
| Quiet mode | quiet_mode | — | settable |
| Eco mode | eco_mode | — | settable |
| Turbo mode | turbo_mode | — | settable |
| Sleep mode | sleep_mode | — | settable |
| Smart sleep mode | smart_sleep_mode | disabled, ordinary, for_old, for_young, for_kids | settable |
| Ionization | ionization | — | settable |
| Smart eye | smart_eye | disabled, to_person, from_person | settable |
| Screen light | screen_light | — | settable |
| Beeper | beeper | — | settable |
| Current compressor power | current_compressor_power | 0…100 | read only |
| Target compressor power | target_compressor_power | 0…100 | read only |
| Indoor heat exchanger temperature | indoor_heat_exchanger_temperature | °C · 0…100 | read only |
| Outdoor heat exchanger temperature | outdoor_heat_exchanger_temperature | °C · 0…100 | 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:
{
"ac_connected": "disconnected",
"state": "ON",
"current_temperature": 0,
"target_temperature": 24,
"system_mode": "off",
"mode": "heat",
"allow_the_use_of_an_external_temperature_sensor": "No",
"external_air_temperature": 0,
"external_temperature_sensor_validity_period": 50,
"outdoor_air_temperature": 0,
"zb_fan_speed": 3,
"vertical_vanes": 2,
"horizontal_vanes": 4,
"fan_speed": 3,
"linkquality": 120
}
Send commands to zigbee2mqtt/my_device/set:
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"state":"TOGGLE"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"system_mode":"auto"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"mode":"cool"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"allow_the_use_of_an_external_temperature_sensor":"Yes"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"status_led":"disabled_if_no_errors"}'
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: "Off at night"
mode: single
triggers:
- trigger: time
at: "23:30:00"
actions:
- action: switch.turn_off
target:
entity_id: switch.my_device
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.