Прошу помощи в написании сценария экономии света

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

rtroyakov
Сообщения: 109
Зарегистрирован: Сб июл 11, 2015 2:54 am
Откуда: Московская обл,город Ногинск
Благодарил (а): 27 раз
Поблагодарили: 6 раз

Re: Прошу помощи в написании сценария экономии света

Сообщение rtroyakov » Сб мар 12, 2016 12:14 pm

Господа,а как написать код,чтоб датчик движения включал свет в подъезде ПРИ ДВИЖЕНИИ,но только ПРИ ДВИЖЕНИИ в вечерне-ночное время,когда действительно темно. Попробовал установить в методе датчика как " если время между закатом и рассветом,то....",а оно что-то не работает...Может,не в методе датчика,а в таймере надо ставить?,....
Последний раз редактировалось rtroyakov Сб мар 12, 2016 5:03 pm, всего редактировалось 1 раз.
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: Прошу помощи в написании сценария экономии света

Сообщение Vit » Сб мар 12, 2016 1:37 pm

rtroyakov писал(а):Господа,а как написать код,чтоб датчик движения включал свет в подъезде,но только при движении в вечерне-ночное время,когда действительно темно. Попробовал установить в методе датчика как " если время между закатом и рассветом,то....",а оно что-то не работает...Может,не в методе датчика,а в таймере надо ставить?,....
в методе включения света а не датчика правильней будет

например так если режим ночь
if (getGlobal('DarknessMode.active')) {
rtroyakov
Сообщения: 109
Зарегистрирован: Сб июл 11, 2015 2:54 am
Откуда: Московская обл,город Ногинск
Благодарил (а): 27 раз
Поблагодарили: 6 раз

Re: Прошу помощи в написании сценария экономии света

Сообщение rtroyakov » Сб мар 12, 2016 5:09 pm

Vit,я не совсем понимаю насчёт метода включения света:это в классе Relays,в методе самой "лампочки"?Так ведь там есть switch,refresh,on,off?
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: Прошу помощи в написании сценария экономии света

Сообщение Vit » Вс мар 13, 2016 4:04 am

rtroyakov писал(а):Vit,я не совсем понимаю насчёт метода включения света:это в классе Relays,в методе самой "лампочки"?Так ведь там есть switch,refresh,on,off?
все зависит как у вас организовано включение самой лампочки...если класс Relays то можно просто метод on запустить по какому то событию....у меня например так организовано включение света в гараже...при открытии ворот если ночной режим то включает освещение минут на 15 ....потом автоматом выключает....но все от желания зависит
rtroyakov
Сообщения: 109
Зарегистрирован: Сб июл 11, 2015 2:54 am
Откуда: Московская обл,город Ногинск
Благодарил (а): 27 раз
Поблагодарили: 6 раз

Re: Прошу помощи в написании сценария экономии света

Сообщение rtroyakov » Вс мар 13, 2016 3:15 pm

Парни,что-то никак не получается,помогите,пожалуйста:датчик движения (Р4) и лампочка в подъезде(OUT10) "привязаны" к одной Меге.Как сделать реакцию на движение ИМЕННО ВО ВРЕМЯ между АСТРОНОМИЧЕСКИМ ЗАКАТОМ и РАССВЕТОМ,т.е. между getGlobal(SunSetTime) и getGlobal(SunRiseTime)? Куда вписать это условие,куда вставить код,в ЧЬЁ Свойство или Метод?У меня уже мозг шевелится....
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

Re: Прошу помощи в написании сценария экономии света

Сообщение Jager » Пн мар 14, 2016 9:40 pm

rtroyakov писал(а):Парни,что-то никак не получается,помогите,пожалуйста:датчик движения (Р4) и лампочка в подъезде(OUT10) "привязаны" к одной Меге.Как сделать реакцию на движение ИМЕННО ВО ВРЕМЯ между АСТРОНОМИЧЕСКИМ ЗАКАТОМ и РАССВЕТОМ,т.е. между getGlobal(SunSetTime) и getGlobal(SunRiseTime)? Куда вписать это условие,куда вставить код,в ЧЬЁ Свойство или Метод?У меня уже мозг шевелится....
В onNewMinute нужен например такой код, что бы знать что у вас темное время суток действует (если не удаляли то по умолчанию он есть)

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

if (timeBetween(getGlobal('yw_day0.sunrise'),getGlobal('yw_day0.sunset'))) {
 if (getGlobal('isDark')) {
 setGlobal("isDark",0);
 callMethod('DarknessMode.deactivate');
 } 
} else {
 if (!getGlobal('isDark')) {
 setGlobal("isDark",1);
 callMethod('DarknessMode.activate');  
}

В метод который вызывается при срабатывании датчика движения пишите

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

if (gg("isDark")){
callMethod('MegaD2-10.turnOn'); // включаем свет 
SetTimeOut("lightOff","callMethod('Megad2-10.turnOff');",120); // выключаем через 2 минуты
Вот как то так.
За это сообщение автора Jager поблагодарили (всего 2):
rtroyakov (Вт мар 15, 2016 4:25 pm) • dengi.76 (Чт мар 01, 2018 3:12 pm)
Рейтинг: 2.33%
rtroyakov
Сообщения: 109
Зарегистрирован: Сб июл 11, 2015 2:54 am
Откуда: Московская обл,город Ногинск
Благодарил (а): 27 раз
Поблагодарили: 6 раз

Re: Прошу помощи в написании сценария экономии света

Сообщение rtroyakov » Пн мар 14, 2016 10:19 pm

Вот оно чё,Михалыч (Jager) :).... Я то думал,что условие if timeBetween это и есть актуальная величина,абсолютное условие,ну,и,конечно,примногоуважаемый Jager,таймер,который Clear и SetTimeOut меня вообще добил.Я две ночи выходных с ума сходил в подъезде с датчиком,лампочкой и компьютером.Жена чуть не выгнала из дома :) ОГРОМНОЕ ВАМ ЧЕЛОВЕЧЕСКОЕ СПАСИБО И НИЗКИЙ ПОКЛОН!!!
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

Re: Прошу помощи в написании сценария экономии света

Сообщение Jager » Пн мар 14, 2016 10:40 pm

rtroyakov писал(а):Вот оно чё,Михалыч (Jager) :).... Я то думал,что условие if timeBetween это и есть актуальная величина,абсолютное условие,ну,и,конечно,примногоуважаемый Jager,таймер,который Clear и SetTimeOut меня вообще добил.Я две ночи выходных с ума сходил в подъезде с датчиком,лампочкой и компьютером.Жена чуть не выгнала из дома :) ОГРОМНОЕ ВАМ ЧЕЛОВЕЧЕСКОЕ СПАСИБО И НИЗКИЙ ПОКЛОН!!!
Есть еще такой момент, закат астрономический и наступление темноты имеют небольшой временной промежуток.
Это можно подправить добавив таймер на активацию ночного режима.

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

} else {
 if (!getGlobal('isDark')) {
 SetTimeOut("DarkTimer","setGlobal("isDark",1);",1500); 
Теперь ночное время будет наступать на 25 минут позже астраномического.
Соответственно лампочка ваша будет включаться когда действительно темно.
За это сообщение автора Jager поблагодарил:
rtroyakov (Вт мар 15, 2016 12:43 am)
Рейтинг: 1.16%
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Прошу помощи в написании сценария экономии света

Сообщение Gelezako » Вт окт 17, 2017 10:21 pm

Jager писал(а):

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

if (gg("isDark")){
callMethod('MegaD2-10.turnOn'); // включаем свет 
SetTimeOut("lightOff","callMethod('Megad2-10.turnOff');",120); // выключаем через 2 минуты
 
сори что апаю старую тему, но мне как раз нужно почти тоже самое, вот в этом примере
SetTimeOut("lightOff","callMethod('Megad2-10.turnOff');",120);
я не понимаю что это за имя "lightOff" ?
метод я свой подставил, но что такое "lightOff"? Откуда мне взять нужное для меня значение?
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Прошу помощи в написании сценария экономии света

Сообщение savenko_egor » Вт окт 17, 2017 10:28 pm

Gelezako писал(а):
Jager писал(а):

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

if (gg("isDark")){
callMethod('MegaD2-10.turnOn'); // включаем свет 
SetTimeOut("lightOff","callMethod('Megad2-10.turnOff');",120); // выключаем через 2 минуты
сори что апаю старую тему, но мне как раз нужно почти тоже самое, вот в этом примере
SetTimeOut("lightOff","callMethod('Megad2-10.turnOff');",120);
я не понимаю что это за имя "lightOff" ?
метод я свой подставил, но что такое "lightOff"? Откуда мне взять нужное для меня значение?
Это метод(turnOn) у объекта(MegaD2).
Ответить