Кнопки
Простая настройка¶
Достаточно просто можно настроить кнопки, у которых имеется объект, в состоянии которого появляется текст (событие) при нажатии на кнопку.
Поддерживаемые события: single
, click
, double
, double_click
, long
, long_click
, long_click_press
, hold
Такие кнопки обычно создают интеграции:
- AlexxIT/Xiaomi Gateway 3
- Zigbee2MQTT с включенным
legacy
режимом - Zigbee2MQTT с включенной настройкой
experimental_event_entities
Для подключения подобных кнопок:
- Узнайте ID объекта, в котором появляется текст при нажатии на кнопку (в примере используется
sensor.button_action
) - Добавьте объект в список объектов для передачи и обновите список устройств в УДЯ
-
Если кнопка не появилась в УДЯ - добавьте в YAML конфигурацию:
Сложная настройка¶
Позволяет сделать "виртуальную" кнопку из любого события в Home Assistant.
В качестве примера будем использовать переключатель IKEA Tradfri, подключенный через Zigbee2MQTT (с отключенным Home Assistant legacy triggers
).
Как можно заметить, в этой кнопке нет никаких объектов, только уровень заряда:
Шаг 1¶
На странице Настройки
→ Устройства и службы
→ Вспомогательное
создайте вспомогательный элемент типа Текст с любым названием.
Из этого вспомогательного элемента будет создана кнопка в УДЯ.
Шаг 2¶
На странице устройства нажмите иконку в блоке Автоматизации
и выберите действие из Сделать что-то, когда...
, которое будет считаться нажатием на нашу виртуальную кнопку.
Если в этом блоке нет некоторых возможностей кнопки - выполните эти действие с кнопкой, так Home Assistant сможет о них узнать
Шаг 3 (интерфейс)¶
После выбора действия откроется страница с созданием автоматизации, которая при нажатии на реальную кнопку будет записывать действие в виртуальную кнопку.
На странице уже заполнен триггер, вам остаётся только придумать название и добавить два действия:
-
Тип действия:
Вызвать службу
Служба:
input_text.set_value
Цели: Вспомогательный элемент из Шага 1
Значение: событие в УДЯ, на выбор:
click
(одиночное нажатие),double_click
- двойное нажатие,long_press
- долгое нажатие -
Тип действия:
Вызвать службу
Служба:
input_text.set_value
Цели: Вспомогательный элемент из Шага 1
Значение:
-
Сохраните автоматизацию и переходите к Шагу 4.
На одну виртуальную кнопку можно создать три автоматизации (на одиночное, двойное и долгое нажатие)
Шаг 3 (YAML)¶
На открывшейся странице найдите блок Триггеры
, нажмите иконку и выберите Текстовый редактор
.
Скопируйте появившийся текст, он будет использоваться в качестве триггера в автоматизации.
Для заполнения input_text
при нажатии на кнопку создайте автоматизацию:
configuration.yaml
automation:
- alias: test_button_click
trigger:
- platform: device
domain: mqtt
device_id: f4ad71d96db30b0ac91d118d01529f75
type: action
subtype: 'on'
discovery_id: 0x84fd27fffe90a55a action_on
action:
- service: input_text.set_value
entity_id: input_text.test_button # ID объекта виртуальной кнопки
data:
value: click # поддерживаются click, double_click, long_press
- service: input_text.set_value
entity_id: input_text.test_button
data:
value: ''
На одну виртуальную кнопку можно создать три автоматизации (на одиночное, двойное и долгое нажатие)
Шаг 4¶
-
Добавьте в YAML конфигурацию:
-
Выберите виртуальную кнопку
input_text.test_button
, созданную на первом шаге, в списке объектов для передачи в УДЯ