What it exposes
| Feature | Property | Values | Control |
|---|---|---|---|
| Illuminance | illuminance | lx | read only |
| Presence | presence | — | read only |
| Presence sensitivity | presence_sensitivity | % · 0…100 | settable |
| Detection range | detection_range | m · 1.5…4.5 | settable |
| Detection delay | detection_delay | s · 1…600 | settable |
| Illuminance treshold max | illuminance_treshold_max | lx · 0…2000 | settable |
| Illuminance treshold min | illuminance_treshold_min | lx · 0…2000 | settable |
| Presence illuminance switch | presence_illuminance_switch | — | settable |
| Light switch | light_switch | — | read only |
| Light linkage | light_linkage | — | settable |
| Detection method | detection_method | only_move, exist_move | settable |
| Indicator light | indicator_light | presence, off, on | settable |
| Identify | identify | — | 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:
{
"illuminance": 120,
"presence": false,
"presence_sensitivity": 50,
"detection_range": 3,
"detection_delay": 301,
"illuminance_treshold_max": 1000,
"illuminance_treshold_min": 1000,
"presence_illuminance_switch": false,
"light_switch": false,
"light_linkage": false,
"detection_method": "only_move",
"indicator_light": "presence",
"linkquality": 120
}
Send commands to zigbee2mqtt/my_device/set:
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"presence_illuminance_switch":true}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"light_linkage":true}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"detection_method":"exist_move"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"indicator_light":"off"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"identify":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: "Light on motion"
mode: single
triggers:
- trigger: state
entity_id: binary_sensor.my_device_presence
to: "on"
conditions:
- condition: sun
after: sunset
actions:
- action: light.turn_on
target:
entity_id: light.hallway
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.