Страница 2 из 2
Re: активация сценария с использования двойного нажатия
Добавлено: Ср фев 22, 2017 2:48 pm
directman66
кстати тут нашел образы firmware для заливки в соноф тач. Получается, что он сделан на базе Generic ESP8285 Module
https://github.com/KmanOz/Sonoff-HomeAs ... er/arduino
Re: активация сценария с использования двойного нажатия
Добавлено: Ср фев 22, 2017 3:06 pm
DimSun75
8285 это тот же 8266, только с флешкой внутри. Так что не принципиально
Re: активация сценария с использования двойного нажатия
Добавлено: Ср фев 22, 2017 3:45 pm
Chainik
Тут добрый человек сделал видео о том, как чисто программно можно реализовать различную реакцию на одинарное и двойное нажатие
https://www.youtube.com/watch?v=ghi6KyTTDcE
Re: активация сценария с использования двойного нажатия
Добавлено: Вс апр 16, 2017 9:19 am
directman66
В общем попробовал вариант, предложенный в предыдущем сообщении, работает как то не стабильно. Вариант с таймером более удобный и настраиваемый.
Вызов метода выключателя sonoff touch с прошивкой wifi-iot через встроенный плагин MD. Чтобы отделить мух от котлет, удаленное включение через mqtt через пост на сервер /sontouch/output12 команды 1. Таким образом мы можем вызывать нужный на метод и удаленно управлять самим выключателем.
метод timer
//Say('нажата кнопка');
$delay=gg('touchtimer.delay');
If (gg('touchtimer.enable')==1) {
$count=gg('touchtimer.counter');
$count++;
Sg('touchtimer.counter',$count);
// Say('таймер работает '.$count);
} else{
Sg('touchtimer.enable',1);
//Say('запущен таймер');
SetTimeOut("touchtimer","Runscript('touchtimer');",$delay);
}
сценарий touchtimer
$lightoff=gg('touchtimer.lightoff');
$lighton=gg('touchtimer.lighton');
$count=gg('touchtimer.counter');
say('Количество нажатий '.$count,2);
If ($count==$lightoff) {
say('Запускаю сценарий выключения света в квартире',2);
Runscript('lightoff');}
If ($count==$lighton) {
say('Запускаю сценарий включения света в квартире',2);
Runscript('light_on');}
Sg('touchtimer.enable',0);
Sg('touchtimer.counter',0);
Работает как часы, можно повесить хоть 100 команд на разное количество нажатий. Непонятно только как отслеживать долгое нажатие.