Как создать таймер на 2 секунды
Модератор: immortal
-
- Сообщения: 529
- Зарегистрирован: Сб мар 12, 2016 6:33 pm
- Откуда: Ухта, Россия
- Благодарил (а): 3 раза
- Поблагодарили: 154 раза
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Как создать таймер на 2 секунды
Я имел ввиду сама функция
Где прописана?
И как вы её "отдельно" вызываете? (Без таймера)
Код: Выделить всё
function сhaynicoff(){
callMethod('Chaynic.turnOff');
say("Чайник подогрелся", 3);
}
И как вы её "отдельно" вызываете? (Без таймера)
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 395
- Зарегистрирован: Вт май 31, 2016 6:56 pm
- Откуда: Россия Карелия Петрозаводск
- Благодарил (а): 95 раз
- Поблагодарили: 57 раз
Re: Как создать таймер на 2 секунды
Код: Выделить всё
function сhaynicoff(){
callMethod('Chaynic.turnOff');
say("Чайник подогрелся", 3);
}
сhaynicoff();
Вот так вызываю и работает а если вызывать из таймера то не работает.
Сервер МД на x86 micro pc ssd + HDD, OC Debian, терминал Xiaomi Redmi note 7
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Как создать таймер на 2 секунды
Мы не понимаем друг друга...VladPTZ писал(а): Это разве не объявление функции?
Вот так вызываю и работает а если вызывать из таймера то не работает.
Это объявление функции...но я пытаюсь узнать где это объявление происходит...это как минимум в 3х местах можно сделать. В методе какого-либо объекта системы, в скрипте (раздел - сценарии), либо в отдельном php файле. И для всех 3х случаев объявление у вас неправильное.
Короче я проще скажу как правильно, а вы там решайте делать так или нет...
Я так понял у вас есть класс, в нем метод turnoff и объект chaynik. Добавляем в классе метод, к примеру turnofftimer. У объекта заходим в методы, находим turnofftimer , тыкаем настроить.
Там уже вбиваете действия:
Код: Выделить всё
cm('Chaynic.turnOff');
say("Чайник подогрелся", 3);
Код: Выделить всё
setTimeOut('testTimer',"cm('Chaynic.turnofftimer');", 5);
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 37
- Зарегистрирован: Вс янв 06, 2013 2:57 pm
- Благодарил (а): 15 раз
- Поблагодарили: 3 раза
Re: Как создать таймер на 2 секунды
Приветствую. Подскажите а реально ли сделать в одном скрипте таймер что бы включал выключатель(через свойства или метод) на час, а затем выключал на пол часа, затем опять включал на час ну тд. с повторением? И как это лучше реализовать?
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Как создать таймер на 2 секунды
А что вам в onnewminute то это не делается? Зачем городить так?
Отправлено с моего G8441 через Tapatalk
Отправлено с моего G8441 через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 1462
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Как создать таймер на 2 секунды
Думаю, реально. Например, у выключателя может быть свойство СТАТУС (0 - выключен, 1 - включен).gans писал(а):Приветствую. Подскажите а реально ли сделать в одном скрипте таймер что бы включал выключатель(через свойства или метод) на час, а затем выключал на пол часа, затем опять включал на час ну тд. с повторением? И как это лучше реализовать?
Допустим, скрипт называется НАШ_СКРИПТ. В скрипте надо написать примерно следующее.
Если СТАТУС <> 0 {
СТАТУС = 0;
установить таймер (таймер_1, запустить скрипт НАШ_СКРИПТ, 1800);
}иначе{
СТАТУС = 1;
установить таймер (таймер_2, запустить скрипт НАШ_СКРИПТ, 3600);
}
Если же ваш выключатель надо переключать методом, тогда место установления статуса надо просто в скрипте запускать соответствующий метод (а сам статус менять, например, из этого метода).
Надеюсь, синтаксис вы осилите (иначе пишите, поможем).
- Рейтинг: 1.16%
-
- Сообщения: 37
- Зарегистрирован: Вс янв 06, 2013 2:57 pm
- Благодарил (а): 15 раз
- Поблагодарили: 3 раза
Re: Как создать таймер на 2 секунды
Хочу что бы этот процесс был управляем, захотел запустил скрипт, захотел остановил. Или там тоже так можно?nick7zmail писал(а):А что вам в onnewminute то это не делается? Зачем городить так?
Отправлено с моего G8441 через Tapatalk
Пытаюсь сделать вот так:Chainik писал(а): Думаю, реально. Например, у выключателя может быть свойство СТАТУС (0 - выключен, 1 - включен).
Допустим, скрипт называется НАШ_СКРИПТ. В скрипте надо написать примерно следующее.
Если СТАТУС <> 0 {
СТАТУС = 0;
установить таймер (таймер_1, запустить скрипт НАШ_СКРИПТ, 1800);
}иначе{
СТАТУС = 1;
установить таймер (таймер_2, запустить скрипт НАШ_СКРИПТ, 3600);
}
Если же ваш выключатель надо переключать методом, тогда место установления статуса надо просто в скрипте запускать соответствующий метод (а сам статус менять, например, из этого метода).
Надеюсь, синтаксис вы осилите (иначе пишите, поможем).
Код: Выделить всё
if (gg("svetKoridor2.status") <> "0"); {
sg("svetKoridor2.status","0");
setTimeOut("timerOn", 'runScript("bvn");', 6);
}else{
sg("svetKoridor2.status","1");
setTimeOut("timerOff", 'runScript("bvn");', 9);
}
Код: Выделить всё
clearTimeout("timerOn");
clearTimeout("timerOff");
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Как создать таймер на 2 секунды
Конечно...привязываете в меню выключатель к какому нить свойству, и в onnewminutegans писал(а): Хочу что бы этот процесс был управляем, захотел запустил скрипт, захотел остановил. Или там тоже так можно?
Код: Выделить всё
if(gg('свойство.выключателя')) {
//код на выполнение
}
Да, эта команда вырубает таймеры...но я бы в onnewminute делал.gans писал(а): Ну что то не работает, поправьте пожалуйста где ни так. И я правильно понимаю что бы потом это всё остановить надо ещё один скрипт?:Код: Выделить всё
clearTimeout("timerOn"); clearTimeout("timerOff");
- За это сообщение автора nick7zmail поблагодарил:
- gans (Сб янв 13, 2018 3:28 pm)
- Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 37
- Зарегистрирован: Вс янв 06, 2013 2:57 pm
- Благодарил (а): 15 раз
- Поблагодарили: 3 раза
Re: Как создать таймер на 2 секунды
Ребята, спасибо! Вот так всё заработало:
Про onnewminute не очень логику пойму, как это туда засунуть? Мне же надо или включать или выключать это действие, а там метод раз в минуту отрабатывается...
Код: Выделить всё
if (gg("svetKoridor2.status")) {
sg("svetKoridor2.status","0");
setTimeOut("timerOn", 'runScript("bvn");', 6);
}else{
sg("svetKoridor2.status","1");
setTimeOut("timerOff", 'runScript("bvn");', 9);
}