Что умеет
| Функция | Свойство | Значения | Управление |
|---|---|---|---|
| Освещённость | illuminance | lx | только чтение |
| Движение | occupancy | — | только чтение |
| Occupancy timeout | pir_o_to_u_delay | s · 15…65535 | можно менять |
| Zone 1 (0m-1m) | enable_occupancy_zone_1 | — | можно менять |
| Zone 2 (1m-1.5m) | enable_occupancy_zone_2 | — | можно менять |
| Zone 3 (1.5m-2m) | enable_occupancy_zone_3 | — | можно менять |
| Zone 4 (2m-2.5m) | enable_occupancy_zone_4 | — | можно менять |
| Zone 5 (2.5m-3m) | enable_occupancy_zone_5 | — | можно менять |
| Zone 6 (3m-3.5m) | enable_occupancy_zone_6 | — | можно менять |
| Zone 7 (3.5m-4m) | enable_occupancy_zone_7 | — | можно менять |
| Illuminance calibration | illuminance_calibration | lx · -1000…1000 | можно менять |
| Fine-tune Sensitivity | radar_sensitivity | -6…6 | можно менять |
| Spatial learning | spatial_learning | start_learning | можно менять |
| Spatial learning state | spatial_learning_state | Clear, Learning, Failed | только чтение |
MQTT: состояние и команды
Zigbee2MQTT публикует состояние устройства в топик zigbee2mqtt/my_device (вместо my_device — имя, которое вы дали устройству). Пример сообщения:
{
"illuminance": 120,
"occupancy": false,
"pir_o_to_u_delay": 32775,
"enable_occupancy_zone_1": false,
"enable_occupancy_zone_2": false,
"enable_occupancy_zone_3": false,
"enable_occupancy_zone_4": false,
"enable_occupancy_zone_5": false,
"enable_occupancy_zone_6": false,
"enable_occupancy_zone_7": false,
"illuminance_calibration": 0,
"radar_sensitivity": 0,
"spatial_learning": "start_learning",
"spatial_learning_state": "Clear",
"linkquality": 120
}
Команды отправляют в zigbee2mqtt/my_device/set:
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"enable_occupancy_zone_1":true}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"enable_occupancy_zone_2":true}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"enable_occupancy_zone_3":true}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"enable_occupancy_zone_4":true}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"enable_occupancy_zone_5":true}'
Проверить топики и сообщения прямо из браузера — MQTT-клиент.
Пример автоматизации Home Assistant
Zigbee2MQTT создаёт объекты Home Assistant по имени устройства. Если назвать его my_device, автоматизация в automations.yaml может выглядеть так:
- alias: "Свет по движению"
mode: single
triggers:
- trigger: state
entity_id: binary_sensor.my_device_occupancy
to: "on"
conditions:
- condition: sun
after: sunset
actions:
- action: light.turn_on
target:
entity_id: light.hallway
Проверить YAML на ошибки — проверка YAML.
Как подключить
- В Zigbee2MQTT нажмите «Разрешить подключение» (Permit join).
- Переведите устройство в режим сопряжения: обычно — долгое нажатие кнопки сброса (5–10 секунд) до мигания индикатора; лампы — включить и выключить питание 5–6 раз подряд.
- Держите устройство рядом с координатором или ретранслятором, пока идёт сопряжение.
- Дайте устройству понятное имя — от него зависят топики MQTT и объекты в Home Assistant.
Точная процедура и особенности модели — страница устройства в документации Zigbee2MQTT. Нет координатора — подбор Zigbee-стика.