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

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

Модератор: immortal

timurufa86
Сообщения: 65
Зарегистрирован: Вт фев 17, 2015 8:40 pm

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

Сообщение timurufa86 »

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

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

Сообщение Chainik »

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

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

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

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

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

if(TimeOutExists('MyTimer_Blokirovka')){
return "";
}
Другими словами, если идет 3-секундная блокировка, выполнение метода завершаем.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

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

Сообщение nick7zmail »

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 сек - не сработает.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
timurufa86
Сообщения: 65
Зарегистрирован: Вт фев 17, 2015 8:40 pm

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

Сообщение timurufa86 »

как проверить что таймер существует?
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am

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

Сообщение Chainik »

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

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

if(TimeOutExists('MyTimer_Blokirovka')){
say("Таймер с именем MyTimer_Blokirovka существует");
}
Jilber
Сообщения: 719
Зарегистрирован: Ср май 03, 2017 7:41 pm

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

Сообщение Jilber »

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

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

Сообщение Chainik »

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

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

Сообщение SmoKE_xDDD »

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

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

Сообщение Chainik »

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

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

Сообщение SmoKE_xDDD »

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