Кроме датчика движения Sonoff с Zigbee на борту, мною была куплена кнопка Sonoff SNZB-01 - на пробу, поскольку вешать выключатели не везде есть возможность, а нажимать время от времени есть потребность - не всё же Алисе орать на кухню.
Страница кнопки на сайте производителя: https://www.itead.cc/ru/sonoff-snzb-01-zigbee-wireless-switch.html. Картинка ниже взяла оттуда:
Кнопка маленькая, квадрат со стороной 43м со скошенными углами. Выгравированный отпечаток пальца на лицевой панели может ввести в заблуждение: нет, кнопка не сенсорная, механическая. Поддерживает одиночное, двойное и долгое нажатие. Очень удобно, можно навесить три разных действия.
Питается кнопка от батарейки формата CR2045. Кнопка сброса и глазок светодиода скрываются под задней крышечкой.
Подключение к Sonoff Zigbee Bridge
Подключение достаточно простое, я уже описывал его в статье про датчик движения:
- Запускаем добавление нового устройства для SonoffHub в eWelink
- Переводим кнопку в режим сопряжения: зажимаем иголкой кнопочку под задней крышкой на 5 секунд, пока не мигнёт красный светодиод.
- Дожидаемся, когда в приложении новое устройство определится и задаём ему имя.
- Готово, через некоторое время устройство будет доступно в HomeAssistant и можно навешивать автоматизации. Примеры автоматизаций будут дальше.
Подключение к Conbee II
Можно было бы на этом и успокоиться, но я не для того покупал универсальный стик Conbee II, чтобы зависеть от облаков различных производителей.
К сожалению, несмотря на то, что поддержка SNZB-* была заявлена в Deconz ещё 81-й версии, с наскока у меня не удалось подключить ни датчик движения, ни кнопку. В PhosconApp кнопка определялась, но в HomeAssistant прокидывался только датчик её батарейки. Поэтому какое-то время я пользовался кнопкой, работающей через шлюз.
Уже потом я нагуглил, что это нормальное поведение для кнопки и нажатия надо считывать по-другому. Впрочем, корректная работа всех нажатий была реализована только в 87-й верcии Deconz, поэтому я ничего не потерял.
Но сейчас, после 87й- версии Deconz, наконец-то можно прокинуть кнопку через Conbee, что я и сделал. Итак, что для этого нужно?
Во-первых, конечно же, добавить кнопку в Switches:
Для этого нужно в разделе Switches нажать кнопку Add new Switch и пока идёт сканирование перевести кнопку в режим сопряжения (5 секунд иголкой), после чего понажимать кнопку, пока в PhosconApp не станет активной кнопка Ready.
Через некоторое время состояние батареи прокинется в HomeAssistant и можно начинать отлавливать события, чтобы узнать идентификатор кнопки и коды для одиночного, двойного и долгого нажатий. Если кнопка одна, то по умолчанию идентификатор "switch_mini". Коды нажатий (начиная с 87-й версии Deconz):
1002 - одиночное нажатие
1003 - долгое нажатие
1004 - двойное нажатие
Если кнопок Sonoff SNZB-01 больше одной, да и вообще в целях проверки и отладки, лучше всё-таки просканировать события и записать идентификаторы в панели разработчика: вводим deconz_event в наименование события и нажимаем "Подписаться", после чего нажимаем на кнопку:
Когда событие поймано и работоспособность кнопки проверена, можно навешивать автоматизации.
Автоматизации в HomeAssistant
Моя первая кнопка уехала в спальню к кровати и сейчас выполняет две функции: выключение телевизора и выключение всего света в квартире.
Автоматизация для выключения телевизора (одиночное нажатие кнопки):
- id: Sonoff Double Tap
alias: Кнопка Sonoff tap
trigger:
platform: event
event_type: deconz_event
event_data:
id: switch_mini
event: 1002
action:
- service: script.turn_off_tv
mode: single
Выключение света (долгое нажатие):
- alias: Кнопка Sonoff hold
trigger:
platform: event
event_type: deconz_event
event_data:
id: switch_mini
event: 1003
action:
- service: light.turn_off
entity_id: group.sonoff
mode: single
Что навесить на двойной тап я пока ещё не придумал, но уже подумываю о том, что таких кнопок надо прикупить ещё парочку - им найдётся применение.
А дальше на очереди Sonoff SNZB-04, датчики открытия дверей, которых я заказал сразу две штуки под вполне конкретные цели. Но об этом потом, а пока не забывайте подписываться и писать комментарии, всем добра.