Начиная с этого коммита у прошивки появилась возможность отслеживать одинарные, двойные, тройные, долгие нажатия
Конечный автомат, согласно которому реализован алгоритм, приведен на рисунке
Фрагмент конфига (раздел in, на примере pin 68), который задает обработчики для нажатий, приведен ниже. Каждое событие описывается JSON объектом или массивом JSON обьектов. Внутри объекта, возможны следующие строковые параметры:
"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"} },
Еще пример:
"63":{"T":2, "click":{"item":"light","icmd":"TOGGLE"}, "rpcmd":{"item":"light/set","icmd":"%+5","irev":"%-5"}, "rpcmd2":{"item":"light/hue","icmd":"%+5","irev":"%-5"}, "rpcmd3":{"item":"light/sat","icmd":"%+5","irev":"%-5"}, "dclick":{"item":"kuhktc/cmd","icmd":"TOGGLE"}, "tclick":{"item":"gstall","icmd":"TOGGLE"}},
Еще пара полезных примеров для обычных (не кнопочных) выключателей В первом - кратковременное выключение выключателя включает белый свет на полную (повторное - включает максимально насыщенный цвет и яркость 30%)
Во втором - совсем упрощенный вариант - для одноцветных ламп - лампа через раз включается на 30 и на 100 процентов яркости
"56":{"T":2, "scmd":{"item":"bedr","icmd":"ON"}, "scmd2":[{"item":"bedr","icmd":"100","irev":"30"},{"item":"bedr/sat","icmd":"0","irev":"100"}], "rcmd":{"item":"bedr","icmd":"OFF"}}, "60":{"T":2, "scmd":{"item":"bedrspot","icmd":"100","irev":"30"}, "rcmd":{"item":"bedrspot","icmd":"OFF"}},