Что умеет
| Функция | Свойство | Значения | Управление |
|---|---|---|---|
| Заряд батареи | battery | % · 0…100 | только чтение |
| Действие (нажатие кнопки) | action | *_single, *_double, *_triple, *_quadruple, *_release | только чтение |
| Switch type (button_1) | switch_type_button_1 | toggle, momentary, multifunction | можно менять |
| Switch actions (button_1) | switch_actions_button_1 | on, off, toggle | можно менять |
| Switch type (button_2) | switch_type_button_2 | toggle, momentary, multifunction | можно менять |
| Switch actions (button_2) | switch_actions_button_2 | on, off, toggle | можно менять |
| Switch type (button_3) | switch_type_button_3 | toggle, momentary, multifunction | можно менять |
| Switch actions (button_3) | switch_actions_button_3 | on, off, toggle | можно менять |
| Switch type (button_4) | switch_type_button_4 | toggle, momentary, multifunction | можно менять |
| Switch actions (button_4) | switch_actions_button_4 | on, off, toggle | можно менять |
| Switch type (button_5) | switch_type_button_5 | toggle, momentary, multifunction | можно менять |
| Switch actions (button_5) | switch_actions_button_5 | on, off, toggle | можно менять |
| Switch type (button_6) | switch_type_button_6 | toggle, momentary, multifunction | можно менять |
| Switch actions (button_6) | switch_actions_button_6 | on, off, toggle | можно менять |
| Switch type (button_7) | switch_type_button_7 | toggle, momentary, multifunction | можно менять |
| Switch actions (button_7) | switch_actions_button_7 | on, off, toggle | можно менять |
| Switch type (button_8) | switch_type_button_8 | toggle, momentary, multifunction | можно менять |
| Switch actions (button_8) | switch_actions_button_8 | on, off, toggle | можно менять |
MQTT: состояние и команды
Zigbee2MQTT публикует состояние устройства в топик zigbee2mqtt/my_device (вместо my_device — имя, которое вы дали устройству). Пример сообщения:
{
"battery": 87,
"switch_type_button_1": "toggle",
"switch_actions_button_1": "on",
"switch_type_button_2": "toggle",
"switch_actions_button_2": "on",
"switch_type_button_3": "toggle",
"switch_actions_button_3": "on",
"switch_type_button_4": "toggle",
"switch_actions_button_4": "on",
"switch_type_button_5": "toggle",
"switch_actions_button_5": "on",
"switch_type_button_6": "toggle",
"switch_actions_button_6": "on",
"switch_type_button_7": "toggle",
"linkquality": 120
}
Команды отправляют в zigbee2mqtt/my_device/set:
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"switch_type_button_1":"momentary"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"switch_actions_button_1":"off"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"switch_type_button_2":"momentary"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"switch_actions_button_2":"off"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"switch_type_button_3":"momentary"}'
Проверить топики и сообщения прямо из браузера — MQTT-клиент.
Пример автоматизации Home Assistant
Zigbee2MQTT создаёт объекты Home Assistant по имени устройства. Если назвать его my_device, автоматизация в automations.yaml может выглядеть так:
- alias: "Кнопка"
mode: single
triggers:
- trigger: mqtt
topic: zigbee2mqtt/my_device
value_template: "{{ value_json.action }}"
payload: "*_single"
actions:
- action: light.toggle
target:
entity_id: light.living_room
Проверить YAML на ошибки — проверка YAML.
Как подключить
- В Zigbee2MQTT нажмите «Разрешить подключение» (Permit join).
- Переведите устройство в режим сопряжения: обычно — долгое нажатие кнопки сброса (5–10 секунд) до мигания индикатора; лампы — включить и выключить питание 5–6 раз подряд.
- Держите устройство рядом с координатором или ретранслятором, пока идёт сопряжение.
- Дайте устройству понятное имя — от него зависят топики MQTT и объекты в Home Assistant.
Точная процедура и особенности модели — страница устройства в документации Zigbee2MQTT. Нет координатора — подбор Zigbee-стика.