Обнаружение множественных кликов с помощью Home Assistant с интеграцией по умолчанию для Shelly 2.5

Если вы строите умный дом, скорее всего, вы уже знакомы с реле Shelly 2.5.

Shelly 2.5 — одно из самых популярных реле для управления электрическими рольставнями по WiFi.

Один досадный минус этого реле в том, что оно не распознает разные типы щелчков коробки.

В этой статье я описываю, как обнаруживать множественные щелчки с помощью Home Assistant с интеграцией по умолчанию для Shelly 2.5 (с использованием типа устройства CoIoT и Roller Shutter).

вступление

Я пользуюсь Shely больше года, и в основном они работают хорошо.

"В основном", потому что иногда беспричинно отключается Wi-Fi.

Углубившись в этот вопрос, я обнаружил, что причина может быть в протоколе MQTT, а не в рекомендованном CoIoT.

Я решил попробовать CoIoT, и с тех пор, как я включил его, я не заметил, чтобы Shelly отключал Wi-Fi, что приятно.

Еще одна проблема возникла, когда я переключился на стандартную интеграцию Home Assistant для Shelly с CoIoT…

Мой вариант использования Shelly 2.5 — управление электрическими рольставнями с помощью переключателя мгновенного действия:

  • однократное нажатие перемещает затвор до тех пор, пока нажат переключатель, затем он останавливается,
  • долгое нажатие переводит его в полностью открытое или закрытое состояние.

Проблема в том, что Shelly 2.5 не отправляет события кликов, если выбран тип устройства Roller Shutter, поэтому невозможно обнаружить разные типы кликов.

Решение

Решение состоит в том, чтобы определить бинарные датчики на основе изменений состояния Шелли. Бинарные датчики обнаруживают нажатие кнопки открыть или закрыть.

Чтобы сделать код более организованным, я добавил приведенный ниже фрагмент в configuration.yaml и определил датчики в новом файле binary_sensors.yaml: