Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
двойные_тройные_длительные_нажатия [2021/09/25 03:42] 65.21.180.7 старая версия восстановлена (2020/01/07 12:28) |
двойные_тройные_длительные_нажатия [2021/10/25 00:23] (текущий) prizzrak14 |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | Начиная с [[https:// | + | Начиная с [[https:// |
Конечный автомат, | Конечный автомат, | ||
- | {{ :btnautomate_1_.png?800 |}} | + | {{ :btnautomate_2_.png?800 |}} |
Фрагмент конфига (раздел in, на примере pin 68), который задает обработчики для нажатий, | Фрагмент конфига (раздел in, на примере pin 68), который задает обработчики для нажатий, | ||
Каждое событие описывается JSON объектом или массивом JSON обьектов. | Каждое событие описывается JSON объектом или массивом JSON обьектов. | ||
Внутри объекта, | Внутри объекта, | ||
+ | |||
+ | |||
+ | ==Типы нажатий== | ||
+ | * scmd - начало первого нажатия | ||
+ | * rcmd - конец первого нажатия | ||
+ | * lcmd - первое длительное нажатие | ||
+ | * click - одиночное нажатие | ||
+ | * dclick - двойное нажатие | ||
+ | * tclick - тройное нажатие | ||
+ | * scmd2 - начало двойного нажатия | ||
+ | * scmd3 - начало тройного нажатия | ||
+ | * lcmd2 - второе длительное нажатие | ||
+ | * lcmd3 - третье длительное нажатие | ||
+ | * rpcmd - цикл первого длительного нажатия | ||
+ | * rpcmd2 - цикл второго длительного нажатия | ||
+ | * rpcmd3 - цикл третьего длительного нажатия | ||
+ | |||
+ | ==Параметры обработчика нажатий== | ||
* emit - MQTT топик в который отправить значение из параметра ecmd (если в параметре отсутствует / он будет дополнен слева префиксом статусного топика) | * emit - MQTT топик в который отправить значение из параметра ecmd (если в параметре отсутствует / он будет дополнен слева префиксом статусного топика) | ||
+ | |||
* ecmd - MQTT payload | * ecmd - MQTT payload | ||
- | * item - имя локального устройства из items (может содержать суффикс для указания того, какое именно свойство объекта надо изменить. Например: | + | |
- | * icmd - команда для локального устройства (ON | OFF | HALT | REST | XON | XOFF | INCREASE | DECREASE | + | * erev - если параметр задан, значения ecmd и erev будут подставляться попеременно для каждого нажатия. Позволяет обеспечить, |
+ | |||
+ | * item - имя локального устройства из items (может содержать суффикс для указания того, какое именно свойство объекта надо изменить. Например: | ||
+ | |||
+ | * icmd - команда для локального устройства (ON | OFF | HALT | REST | XON | XOFF | INCREASE | DECREASE | ||
+ | |||
+ | * irev - если параметр задан, значения icmd и irev будут подставляться попеременно для каждого нажатия. Позволяет обеспечить, | ||
Строка 33: | Строка 59: | ||
}, | }, | ||
</ | </ | ||
+ | |||
+ | Еще пример: | ||
+ | |||
+ | * Длительное нажатие через раз увеличивает или уменьшает яркость группы ligth (суффикс set позволяет менять яркость не включая канал, если он выключен) | ||
+ | * Соответственно, | ||
+ | * Двойное и тройное нажатие без удерживания включают/ | ||
+ | * Команда %-Х уменьшает параметр на Х пунктов, | ||
+ | |||
+ | < | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | |||
+ | </ | ||
+ | |||
+ | Еще пара полезных примеров для обычных (не кнопочных) выключателей | ||
+ | В первом - кратковременное выключение выключателя включает белый свет на полную (повторное - включает максимально насыщенный цвет и яркость 30%) | ||
+ | |||
+ | Во втором - совсем упрощенный вариант - для одноцветных ламп - лампа через раз включается на 30 и на 100 процентов яркости | ||
+ | |||
+ | < | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | |||
+ | " | ||
+ | " | ||
+ | " | ||
+ | </ |