Что умеет
| Функция | Свойство | Значения | Управление |
|---|---|---|---|
| Light | state, brightness | вкл / выкл, яркость | можно менять |
| Level config | level_config | — | только чтение |
| Мощность | power | W | только чтение |
| Энергия | energy | kWh | только чтение |
| Ballast minimum level | ballast_minimum_level | 1…254 | можно менять |
| Ballast maximum level | ballast_maximum_level | 1…254 | можно менять |
| Minimum on level | minimum_on_level | 0…255 | можно менять |
| Capabilities forward phase control | capabilities_forward_phase_control | — | можно менять |
| Capabilities reverse phase control | capabilities_reverse_phase_control | — | можно менять |
| Capabilities reactance discriminator | capabilities_reactance_discriminator | — | можно менять |
| Capabilities configurable curve | capabilities_configurable_curve | — | можно менять |
| Capabilities overload detection | capabilities_overload_detection | — | можно менять |
| Status forward phase control | status_forward_phase_control | — | можно менять |
| Status reverse phase control | status_reverse_phase_control | — | можно менять |
| Status overload | status_overload | — | можно менять |
| Status capacitive load | status_capacitive_load | — | можно менять |
| Status inductive load | status_inductive_load | — | можно менять |
| Mode phase control | mode_phase_control | automatic, forward, reverse | можно менять |
| Identify (default) | identify_default | identify | можно менять |
| Действие (нажатие кнопки) | action | toggle_s1, toggle_s2, on_s1, on_s2, off_s1, off_s2, recall_*_s1, recal_*_s2 … | только чтение |
MQTT: состояние и команды
Zigbee2MQTT публикует состояние устройства в топик zigbee2mqtt/my_device (вместо my_device — имя, которое вы дали устройству). Пример сообщения:
{
"state": "ON",
"brightness": 180,
"power": 12.4,
"energy": 3.21,
"ballast_minimum_level": 128,
"ballast_maximum_level": 128,
"minimum_on_level": 128,
"capabilities_forward_phase_control": false,
"capabilities_reverse_phase_control": false,
"capabilities_reactance_discriminator": false,
"capabilities_configurable_curve": false,
"capabilities_overload_detection": false,
"status_forward_phase_control": false,
"status_reverse_phase_control": false,
"linkquality": 120
}
Команды отправляют в zigbee2mqtt/my_device/set:
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"state":"ON","brightness":180}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"state":"OFF","transition":2}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"capabilities_forward_phase_control":true}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"capabilities_reverse_phase_control":true}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"capabilities_reactance_discriminator":true}'
Проверить топики и сообщения прямо из браузера — MQTT-клиент.
Пример автоматизации Home Assistant
Zigbee2MQTT создаёт объекты Home Assistant по имени устройства. Если назвать его my_device, автоматизация в automations.yaml может выглядеть так:
- alias: "Свет на закате"
mode: single
triggers:
- trigger: sun
event: sunset
offset: "-00:15:00"
actions:
- action: light.turn_on
target:
entity_id: light.my_device
data:
brightness_pct: 70
Проверить YAML на ошибки — проверка YAML.
Как подключить
- В Zigbee2MQTT нажмите «Разрешить подключение» (Permit join).
- Переведите устройство в режим сопряжения: обычно — долгое нажатие кнопки сброса (5–10 секунд) до мигания индикатора; лампы — включить и выключить питание 5–6 раз подряд.
- Держите устройство рядом с координатором или ретранслятором, пока идёт сопряжение.
- Дайте устройству понятное имя — от него зависят топики MQTT и объекты в Home Assistant.
Точная процедура и особенности модели — страница устройства в документации Zigbee2MQTT. Нет координатора — подбор Zigbee-стика.