Найти тему

Кнопка Sonoff SNZB-01

Оглавление

Кроме датчика движения Sonoff с Zigbee на борту, мною была куплена кнопка Sonoff SNZB-01 - на пробу, поскольку вешать выключатели не везде есть возможность, а нажимать время от времени есть потребность - не всё же Алисе орать на кухню.

Страница кнопки на сайте производителя: https://www.itead.cc/ru/sonoff-snzb-01-zigbee-wireless-switch.html. Картинка ниже взяла оттуда:

Кнопка Sonoff SNZB-01
Кнопка Sonoff SNZB-01

Кнопка маленькая, квадрат со стороной 43м со скошенными углами. Выгравированный отпечаток пальца на лицевой панели может ввести в заблуждение: нет, кнопка не сенсорная, механическая. Поддерживает одиночное, двойное и долгое нажатие. Очень удобно, можно навесить три разных действия.

Питается кнопка от батарейки формата CR2045. Кнопка сброса и глазок светодиода скрываются под задней крышечкой.

Кнопка под крышкой.
Кнопка под крышкой.

Подключение к Sonoff Zigbee Bridge

Подключение достаточно простое, я уже описывал его в статье про датчик движения:

  1. Запускаем добавление нового устройства для SonoffHub в eWelink
  2. Переводим кнопку в режим сопряжения: зажимаем иголкой кнопочку под задней крышкой на 5 секунд, пока не мигнёт красный светодиод.
  3. Дожидаемся, когда в приложении новое устройство определится и задаём ему имя.
  4. Готово, через некоторое время устройство будет доступно в HomeAssistant и можно навешивать автоматизации. Примеры автоматизаций будут дальше.

Подключение к Conbee II

Можно было бы на этом и успокоиться, но я не для того покупал универсальный стик Conbee II, чтобы зависеть от облаков различных производителей.

К сожалению, несмотря на то, что поддержка SNZB-* была заявлена в Deconz ещё 81-й версии, с наскока у меня не удалось подключить ни датчик движения, ни кнопку. В PhosconApp кнопка определялась, но в HomeAssistant прокидывался только датчик её батарейки. Поэтому какое-то время я пользовался кнопкой, работающей через шлюз.

Уже потом я нагуглил, что это нормальное поведение для кнопки и нажатия надо считывать по-другому. Впрочем, корректная работа всех нажатий была реализована только в 87-й верcии Deconz, поэтому я ничего не потерял.

Но сейчас, после 87й- версии Deconz, наконец-то можно прокинуть кнопку через Conbee, что я и сделал. Итак, что для этого нужно?

Во-первых, конечно же, добавить кнопку в Switches:

Кнопка в PhosconApp
Кнопка в PhosconApp

Для этого нужно в разделе 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, датчики открытия дверей, которых я заказал сразу две штуки под вполне конкретные цели. Но об этом потом, а пока не забывайте подписываться и писать комментарии, всем добра.