Если в обьекте, определяющем вход, обнаружен массив «act» и вход является аналоговым, то каждый элемент массива будет рассматриваться как отдельный вход, для которого возможна такая же обработка как для дискретного (то есть определение даблкликов, долгих нажатий и пр)
При этом анализируется параметр «map» у каждого элемента массива, и элемент применяется только если значение аналогового входа находится внутри заданного интервала
Это позволяет на один аналоговый вход подключить несколько кнопок через резисторы.
Важно: в параметре «T» не надо указывать аналоговый тип входа. Используются дискретные типы 0 и 2
Пример: Кнопка выкл/уменьшить яркость подключена к опорному напряжению +10В напрямую, кнопка вкл/увеличить яркость - через резистор 2,2 КОм (на плате должен быть активирован шунт - см Общая информация
"in": { "54":{"T":0,"act": [ { "map":[128,640], "click":{"item":"gr_gost3","icmd":"ON"}, "dclick":{"item":"lampwc3","icmd":"ON"}, "tclick":{"item":"lampbath3","icmd":"ON"}, "rpcmd":{"item":"gr_gost3","icmd":"%+2"} }, { "map":[641,1024], "click":{"item":"gr_gost3","icmd":"OFF"}, "dclick":{"item":"lampwc3","icmd":"OFF"}, "tclick":{"item":"lampbath3","icmd":"OFF"}, "rpcmd":{"item":"gr_gost3","icmd":"%-2"} } ]} }
И тот же самый пример, записанный в новой нотации конфигурирования входов, при которой элемент конфигурации in является массивом, а значит, появилась возможность без костылей настраивать входы, не привязанные напрямую к пинам процессора. Номер пина задается в параметре «#» конфигурации:
"in": [ "{"T":0,"#":54, "act": [ { "map":[128,640], "click":{"item":"gr_gost3","icmd":"ON"}, "dclick":{"item":"lampwc3","icmd":"ON"}, "tclick":{"item":"lampbath3","icmd":"ON"}, "rpcmd":{"item":"gr_gost3","icmd":"%+2"} }, { "map":[641,1024], "click":{"item":"gr_gost3","icmd":"OFF"}, "dclick":{"item":"lampwc3","icmd":"OFF"}, "tclick":{"item":"lampbath3","icmd":"OFF"}, "rpcmd":{"item":"gr_gost3","icmd":"%-2"} } ]} ]
Работают обе нотации. Если номер пина прописан сразу в двух местах, приоритет имеет параметр «#»