Простые устройства / Simple Devices

Новые релизы, обновления и т.п.

Модератор: immortal

timurufa86
Сообщения: 65
Зарегистрирован: Вт фев 17, 2015 8:40 pm
Благодарил (а): 19 раз
Поблагодарили: 2 раза

Re: Простые устройства / Simple Devices

Сообщение timurufa86 » Пт фев 21, 2020 8:37 am

nick7zmail писал(а):
Пт фев 21, 2020 7:11 am
1) А как вы распознаете принудительно выключился свет, или автоматически? В МД по сути выполнятся одни и те же методы...
2) Чем не подходит указанный выше метод? При выключении ставим блокировку датчика, ставим таймер на снятие блокировки...Выключили - 3 сек датчик не работает, потом начинает работать. Если надо, чтоб он сработал, если было движение в течении этих 3 сек - тогда после снятия блокировки принудительно активируем, записав в свойство status...или value...куда там ДД пишет - 1.
1) придется менять логику в методе через сравнение пре валуе и неу валуе
2) не подходит из-за того что мне не надо блокировать датчик на 3 секунды по нажатию клавиши ...
мне надо сто бы как бы происходил двукратный контроль движения в темное время суток ДЛЯ ТОГО ЧТО БЫ ЭТОТ ДОЛБАННЫЙ СВЕТ НЕ ВКЛЮЧАЛСЯ КОГДА Я СПЛЮ И ВОРОЧУЮСЬ ИЛИ ПРОТЯНУ РУКУ ЧТО БЫ ПОПИТЬ ВОДЫ ))))))
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: Простые устройства / Simple Devices

Сообщение Chainik » Пт фев 21, 2020 9:34 am

Не знаю, как это будет соотносится с логикой работы ПУ (т.к. ими не пользуюсь), но в принципе можно сделать следующее.
Сработала кнопка >>> запустился метод, привязанный к кнопке. И в этот метод можно дописать строку:

Код: Выделить всё

SetTimeOut('MyTimer_Blokirovka','say("включена блокировка");',3);
Не знаю, что можно записать вместо say, чтобы не нарушить синтаксис, и чтобы фактически никакие действия не выполнялись...

А в метод, который запускается при срабатывании ДД (перед действием на включение света), надо записать:

Код: Выделить всё

if(TimeOutExists('MyTimer_Blokirovka')){
return "";
}
Другими словами, если идет 3-секундная блокировка, выполнение метода завершаем.
За это сообщение автора Chainik поблагодарил:
timurufa86 (Пт фев 21, 2020 11:03 am)
Рейтинг: 1.16%
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Простые устройства / Simple Devices

Сообщение nick7zmail » Пт фев 21, 2020 11:37 am

timurufa86 писал(а):
Пт фев 21, 2020 8:37 am
1) придется менять логику в методе через сравнение пре валуе и неу валуе
VALUE и NEW_VALUE меняются и отрабатывают и при ручном включении и при автоматическом. Так что вопрос остаётся - как таки именно ручное собрались отлавливать? Лично мне в последний раз при таком запросе пришлоть мутить оч уродливую логику через 3 ПУ вместо 1 реле.
timurufa86 писал(а):
Пт фев 21, 2020 8:37 am
2) не подходит из-за того что мне не надо блокировать датчик на 3 секунды по нажатию клавиши ...
мне надо сто бы как бы происходил двукратный контроль движения в темное время суток ДЛЯ ТОГО ЧТО БЫ ЭТОТ ДОЛБАННЫЙ СВЕТ НЕ ВКЛЮЧАЛСЯ КОГДА Я СПЛЮ И ВОРОЧУЮСЬ ИЛИ ПРОТЯНУ РУКУ ЧТО БЫ ПОПИТЬ ВОДЫ ))))))
Тогда выше правильно сказали. По движению создаёте таймер (на 10 сек к примеру), и прописываете return; чтобы не выполнять дальнейшие действия ДД (хотя и без ретурна можно, если к ДД ничего не привязано через интерфейс). Таймер можно вообще без команды, т.к. нам важно само наличие этого таймера. При повторном срабатывании, если датчик, к примеру раз в 5 сек шлет - через 5 сек проверяете - если таймер существует - включаем свет. Если не существует, то вышеописанная логика - создаём новый таймер и return;
Так если датчик с промежутком 5 сек 2 раза сработает - включится. Если 2-3 да хоть сколько раз с промежутками более 10 сек - не сработает.
За это сообщение автора nick7zmail поблагодарил:
timurufa86 (Пт фев 21, 2020 5:02 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
timurufa86
Сообщения: 65
Зарегистрирован: Вт фев 17, 2015 8:40 pm
Благодарил (а): 19 раз
Поблагодарили: 2 раза

Re: Простые устройства / Simple Devices

Сообщение timurufa86 » Пт фев 21, 2020 5:02 pm

как проверить что таймер существует?
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: Простые устройства / Simple Devices

Сообщение Chainik » Пт фев 21, 2020 7:00 pm

timurufa86 писал(а):
Пт фев 21, 2020 5:02 pm
как проверить что таймер существует?

Код: Выделить всё

if(TimeOutExists('MyTimer_Blokirovka')){
say("Таймер с именем MyTimer_Blokirovka существует");
}
За это сообщение автора Chainik поблагодарил:
timurufa86 (Пн мар 16, 2020 9:49 pm)
Рейтинг: 1.16%
Jilber
Сообщения: 717
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 117 раз
Поблагодарили: 113 раз

Re: Простые устройства / Simple Devices

Сообщение Jilber » Сб фев 22, 2020 8:02 pm

А можно ли таймер как-то вывести на сцену или домашнюю страницу ?
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: Простые устройства / Simple Devices

Сообщение Chainik » Сб фев 22, 2020 10:49 pm

Jilber писал(а):
Сб фев 22, 2020 8:02 pm
А можно ли таймер как-то вывести на сцену или домашнюю страницу ?
Думаю, что можно. Если я правильно понял вашу мысль, в хотите в реальном времени видеть, как "тикает" таймер или сколько осталось до его завершения.
Вот sergejey приводил пример кода, который показывает, через какое время истечет таймер. (viewtopic.php?f=4&t=1760).
Если "дергать" этот код ежесекундно, допустим, яваскриптом, то, думаю, должно получиться. Также можно ежесекундно "дергать" код из сценария (если с написанием яваскриптов "напряженка").
За это сообщение автора Chainik поблагодарил:
Jilber (Сб фев 22, 2020 11:10 pm)
Рейтинг: 1.16%
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 899 раз

Re: Простые устройства / Simple Devices

Сообщение SmoKE_xDDD » Сб фев 22, 2020 11:00 pm

Chainik писал(а):
Сб фев 22, 2020 10:49 pm
Jilber писал(а):
Сб фев 22, 2020 8:02 pm
А можно ли таймер как-то вывести на сцену или домашнюю страницу ?
Думаю, что можно. Если я правильно понял вашу мысль, в хотите в реальном времени видеть, как "тикает" таймер или сколько осталось до его завершения.
Вот sergejey приводил пример кода, который показывает, через какое время истечет таймер. (viewtopic.php?f=4&t=1760).
Если "дергать" этот код ежесекундно, допустим, яваскриптом, то, думаю, должно получиться. Также можно ежесекундно "дергать" код из сценария (если с написанием яваскриптов "напряженка").
Не надо так делать... =) Можно получить 1 раз время таймера и отсчитывать его уже JS. Будет быстрее и лучше, чем долбить каждую секунду запросом.
За это сообщение автора SmoKE_xDDD поблагодарил:
Chainik (Сб фев 22, 2020 11:05 pm)
Рейтинг: 1.16%
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: Простые устройства / Simple Devices

Сообщение Chainik » Сб фев 22, 2020 11:08 pm

SmoKE_xDDD писал(а):
Сб фев 22, 2020 11:00 pm
...
Не надо так делать... =) Можно получить 1 раз время таймера и отсчитывать его уже JS. Будет быстрее и лучше, чем долбить каждую секунду запросом.
Наверное, вы правы. Тут на форме, к сожалению, мало программистов... Если бы видеть "живой" пример яваскрипта, которым это делается... Было бы здорово.
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 899 раз

Re: Простые устройства / Simple Devices

Сообщение SmoKE_xDDD » Сб фев 22, 2020 11:15 pm

Chainik писал(а):
Сб фев 22, 2020 11:08 pm
SmoKE_xDDD писал(а):
Сб фев 22, 2020 11:00 pm
...
Не надо так делать... =) Можно получить 1 раз время таймера и отсчитывать его уже JS. Будет быстрее и лучше, чем долбить каждую секунду запросом.
Наверное, вы правы. Тут на форме, к сожалению, мало программистов... Если бы видеть "живой" пример яваскрипта, которым это делается... Было бы здорово.
Если есть нужда завтра могу запилить простой модуль, который будет показывать время таймеров...
За это сообщение автора SmoKE_xDDD поблагодарили (всего 2):
Chainik (Сб фев 22, 2020 11:18 pm) • homester (Вс фев 23, 2020 12:04 am)
Рейтинг: 2.33%
Ответить