Что умеет
| Функция | Свойство | Значения | Управление |
|---|---|---|---|
| Motion state | motion_state | none, move, Micro-move, static | только чтение |
| Вибрация | vibration | — | только чтение |
| Освещённость | illuminance | lx | только чтение |
| Температура | temperature | °C | только чтение |
| Влажность | humidity | % | только чтение |
| Temperature unit | temperature_unit | celsius, fahrenheit | можно менять |
| Battery state | battery_state | low, middle, high | только чтение |
| Pir sensitivity | pir_sensitivity | low, middle, high | можно менять |
| Pir delay | pir_delay | s · 30…120 | можно менять |
| Light sensor time | light_sensor_time | 1…60 | можно менять |
| Detection distance | detection_distance | cm · 1…500 | можно менять |
| Static sensitivity | static_sensitivity | 1…10 | можно менять |
| Detection sensitivity | detection_sensitivity | 1…10 | можно менять |
| Motion detection mode | motion_detection_mode | pir_and_radar, pir_or_radar, only_radar | можно менять |
| Indicator | indicator | — | можно менять |
| Temperature calibration | temperature_calibration | °C · -4…4 | можно менять |
| Humidity calibration | humidity_calibration | % · -10…10 | можно менять |
| Vibration sensitivity | vibration_sensitivity | 1…100 | можно менять |
| Vibration delay | vibration_delay | s · 1…1440 | можно менять |
| Движение | occupancy | — | только чтение |
| Заряд батареи | battery | % · 0…100 | только чтение |
MQTT: состояние и команды
Zigbee2MQTT публикует состояние устройства в топик zigbee2mqtt/my_device (вместо my_device — имя, которое вы дали устройству). Пример сообщения:
{
"motion_state": "none",
"vibration": false,
"illuminance": 120,
"temperature": 21.6,
"humidity": 46.2,
"temperature_unit": "celsius",
"battery_state": "low",
"pir_sensitivity": "low",
"pir_delay": 75,
"light_sensor_time": 31,
"detection_distance": 251,
"static_sensitivity": 6,
"detection_sensitivity": 6,
"motion_detection_mode": "pir_and_radar",
"linkquality": 120
}
Команды отправляют в zigbee2mqtt/my_device/set:
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"temperature_unit":"fahrenheit"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"pir_sensitivity":"middle"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"motion_detection_mode":"pir_or_radar"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"indicator":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-стика.