Кнопки
Простая настройка¶
Достаточно просто можно настроить кнопки, у которых имеется объект, в состоянии которого появляется текст (событие) при нажатии на кнопку.
Поддерживаемые события: 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:
- domain: mqtt
device_id: 1438be8941b2ea53be93ce2d476e68fc
type: action
subtype: "on"
metadata: {}
trigger: device
action:
- action: input_text.set_value
entity_id: input_text.test_button # ID объекта виртуальной кнопки
data:
value: click # поддерживаются click, double_click, long_press
- action: input_text.set_value
entity_id: input_text.test_button
data:
value: ''
На одну виртуальную кнопку можно создать три автоматизации (на одиночное, двойное и долгое нажатие)
Шаг 4¶
-
Добавьте в YAML конфигурацию:
-
Выберите виртуальную кнопку
input_text.test_button
, созданную на первом шаге, в списке объектов для передачи в УДЯ