Инструменты пользователя

Инструменты сайта


двойные_тройные_длительные_нажатия

Это старая версия документа!


Начиная с этого коммита у прошивки появилась возможность отслеживать одинарные, двойные, тройные, долгие нажатия

Конечный автомат, согласно которому реализован алгоритм, приведен на рисунке

Фрагмент конфига (раздел in, на примере pin 68), который задает обработчики для нажатий, приведен ниже. Каждое событие описывается JSON объектом или массивом JSON обьектов. Внутри объекта, возможны следующие строковые параметры:

* emit - MQTT топик в который отправить значение из параметра ecmd (если в параметре отсутствует / он будет дополнен слева префиксом статусного топика) * ecmd - MQTT payload * item - имя локального устройства из items (может содержать суффикс для указания того, какое именно свойство объекта надо изменить. Например: «lamp/hue» или «lamp/sat» (скоро)) * icmd - команда для локального устройства (ON | OFF | HALT | REST | XON | XOFF | INCREASE | DECREASE (скоро) и т.д)

                "68":{"T":0,        
                  "scmd":{"emit":"cmd","ecmd":"scmd"},
                  "rcmd":{"emit":"cmd","ecmd":"rcmd"},
                  "lcmd":{"emit":"cmd","ecmd":"lcmd"},
                  "click":{"emit":"cmd","ecmd":"click","item":"a_bedr","icmd":"TOGGLE"},
                  "dclick":[{"emit":"myhome/in/bedr","ecmd":"TOGGLE"},{"emit":"myhome/in/bedrspot","ecmd":"TOGGLE"}],
                  "tclick":{"item":"spi","icmd":"TOGGLE"}, 
                  "scmd2":{"emit":"cmd","ecmd":"scmd2"},
                  "scmd3":{"emit":"cmd","ecmd":"scmd3"},
                  "lcmd2":{"emit":"cmd","ecmd":"lcmd2"},   
                  "lcmd3":{"emit":"cmd","ecmd":"lcmd3"},
                  "rpcmd":{"item":"a_bedr","icmd":"INCREASE"},
                  "rpcmd2":{"item":"a_bedr","icmd":"DECREASE"},  
                  "rpcmd3":{"emit":"cmd","ecmd":"rpcmd3"}
                  
                },
двойные_тройные_длительные_нажатия.1632530528.txt.gz · Последнее изменение: 2021/09/25 03:42 — 65.21.180.7