Что умеет
| Функция | Свойство | Значения | Управление |
|---|---|---|---|
| Вкл / выкл | state | absence, presence, disabled | только чтение |
| Присутствие | presence | — | только чтение |
| Current status | current_status | approaching, departing, clear | только чтение |
| Освещённость | illuminance | lx | только чтение |
| Hold delay time | hold_delay_time | s · 0…300 | можно менять |
| Чувствительность | sensitivity | low, medium, high | можно менять |
| Trigger distance | trigger_distance | m · 0.5…4 | можно менять |
| Forbidden area | forbidden_area | m · 0…1.8 | можно менять |
| AI environment self-learning | ai_self_learning | AI self-learning | можно менять |
| Fast setting | fast_setting | small, medium, large | можно менять |
| LED indicator | indicator | — | можно менять |
| Sensor mode | sensor_mode | presence, motion | можно менять |
| Single mode | single_mode | — | можно менять |
| Absence circling report | absence_circling_report | — | можно менять |
| Absence circling interval | absence_circling_interval | min · 2…30 | можно менять |
| Find device | find_device | — | можно менять |
| Enable sensor | enable_sensor | — | можно менять |
| Factory reset | factory_reset | factory reset | можно менять |
| Lux mode | lux_mode | threshold, report | можно менять |
| Daylight threshold | daylight_threshold | lux · 1…3000 | можно менять |
| Lux report mode | lux_report_mode | timed, difference | можно менять |
| Lux timed interval | lux_timed_interval | s · 5…3600 | можно менять |
| Lux difference threshold | lux_difference_threshold | lux · 1…2000 | можно менять |
| Lux difference value | lux_difference_value | — | только чтение |
| Interference positions | interference_positions | — | только чтение |
| Home environment | home_environment | normal, slight, strong, severe | только чтение |
MQTT: состояние и команды
Zigbee2MQTT публикует состояние устройства в топик zigbee2mqtt/my_device (вместо my_device — имя, которое вы дали устройству). Пример сообщения:
{
"state": "absence",
"presence": false,
"current_status": "approaching",
"illuminance": 120,
"hold_delay_time": 150,
"sensitivity": "low",
"trigger_distance": 2,
"forbidden_area": 1,
"ai_self_learning": "AI self-learning",
"fast_setting": "small",
"indicator": false,
"sensor_mode": "presence",
"single_mode": false,
"absence_circling_report": false,
"linkquality": 120
}
Команды отправляют в zigbee2mqtt/my_device/set:
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"sensitivity":"medium"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"fast_setting":"medium"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"indicator":true}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"sensor_mode":"motion"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"single_mode":true}'
Проверить топики и сообщения прямо из браузера — MQTT-клиент.
Пример автоматизации Home Assistant
Zigbee2MQTT создаёт объекты Home Assistant по имени устройства. Если назвать его my_device, автоматизация в automations.yaml может выглядеть так:
- alias: "Свет по движению"
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
Проверить YAML на ошибки — проверка YAML.
Как подключить
- В Zigbee2MQTT нажмите «Разрешить подключение» (Permit join).
- Переведите устройство в режим сопряжения: обычно — долгое нажатие кнопки сброса (5–10 секунд) до мигания индикатора; лампы — включить и выключить питание 5–6 раз подряд.
- Держите устройство рядом с координатором или ретранслятором, пока идёт сопряжение.
- Дайте устройству понятное имя — от него зависят топики MQTT и объекты в Home Assistant.
Точная процедура и особенности модели — страница устройства в документации Zigbee2MQTT. Нет координатора — подбор Zigbee-стика.