Страница 2 из 2
Re: [Настройка] Автоматическое управление освещением в комнате
Добавлено: Сб мар 30, 2019 7:47 pm
lihodeev
Chainik писал(а): ↑Сб мар 30, 2019 6:41 pm
Можно попробовать использовать доп.свойство аля "лег_спать". Если свойство = "1", код исходного скрипта запускаться не будет. После восхода солнца и срабатывания датчика движения свойству "лег_спать" присвоится значение "0". Только надо проверить, что в ThisComputer.SunRise время восхода устанавливается правильно.
Код: Выделить всё
if(timeBetween('ThisComputer.SunRise', '17:59')){
sg("ОБЪЕКТ.Свойство_лег_спать', 0);
}
if(gg("ОБЪЕКТ.Свойство_лег_спать') == "0"){
ИСХОДНЫЙ КОД СКРИПТА
}
спасибо, буду пробовать
Re: [Настройка] Автоматическое управление освещением в комнате
Добавлено: Сб мар 30, 2019 8:56 pm
Chainik
lihodeev писал(а): ↑Сб мар 30, 2019 7:47 pm
...
спасибо, буду пробовать
Небольшая поправочка: свойство в системе, где хранится время восхода солнца, правильно называется "ThisComputer.SunRiseTime" (в примере кода поправил).
Я бы даже сделал чуть по-другому. В коде, где выставляется свойство "лег_спать", тут же прописал бы его обнуление в момент восхода солнца:
Код: Выделить всё
$tm = timeConvert(gg('ThisComputer.SunRiseTime'));
addScheduledJob('command','sg("ОБЪЕКТ.Свойство_лег_спать", "0");',$tm);
Либо, если у вас есть где-то (в скриптах, в методах) перечень действий при восходе солнца, можно вписать туда
Re: [Настройка] Автоматическое управление освещением в комнате
Добавлено: Сб мар 30, 2019 10:57 pm
lihodeev
Еще раз огромное спасибо, все заработало, только
sg("ОБЪЕКТ.Свойство_лег_спать', 0); c одинарными кавычками
Re: [Настройка] Автоматическое управление освещением в комнате
Добавлено: Пн апр 01, 2019 10:33 am
lihodeev
как сделать включение света за 20 минут до захода солнца? Понимаю что надо взять глобальную переменную ThisComputer.SunRiseTime и отнять от значения 20 минут, и уже это значение поставить в сценарий. Но синтаксически не силен.
скрипт -
sg('pirHAL.status', 1);
if(timeBetween('
ThisComputer.SunRiseTime - 20*60', '23:59')){
SetTimeOut("MS2ActTimer","sg('pirHAL.status', 0);",0);
getURL("
http://192.168.1.37/?Hai0=1", 0);
//run timer on 10 minuts
clearTimeOut("lightOffTimer5");
SetTimeOut("lightOffTimer5","getURL('
http://192.168.1.37/?Hai0=0', 0);",60*10);}
Re: [Настройка] Автоматическое управление освещением в комнате
Добавлено: Пн апр 01, 2019 2:25 pm
xor
lihodeev писал(а):как сделать включение света за 20 минут до захода солнца? Понимаю что надо взять глобальную переменную ThisComputer.SunRiseTime и отнять от значения 20 минут, и уже это значение поставить в сценарий. Но синтаксически не силен.
скрипт -
sg('pirHAL.status', 1);
if(timeBetween('
ThisComputer.SunRiseTime - 20*60', '23:59')){
SetTimeOut("MS2ActTimer","sg('pirHAL.status', 0);",0);
getURL("
http://192.168.1.37/?Hai0=1", 0);
//run timer on 10 minuts
clearTimeOut("lightOffTimer5");
SetTimeOut("lightOffTimer5","getURL('
http://192.168.1.37/?Hai0=0', 0);",60*10);}
У вас свойство заход в юникстайм, а тайм бетвин требует обоих аргументов в строке, приведите вычисленное юникс время функцией date к виду 'чч:сс'
Отправлено с моего Redmi 4X через Tapatalk
Re: [Настройка] Автоматическое управление освещением в комнате
Добавлено: Пн апр 01, 2019 2:29 pm
xor
Timebetween(date ('H:i',gg('время_заката')-20*60),"23:59")
Отправлено с моего Redmi 4X через Tapatalk
Санрайз это же восход?
Re: [Настройка] Автоматическое управление освещением в комнате
Добавлено: Пн апр 01, 2019 3:12 pm
lihodeev
Ход мысли понял, буду пробовать.Спасибо