Страница 2 из 2

Re: [Настройка] Автоматическое управление освещением в комнате

Добавлено: Сб мар 30, 2019 7:47 pm
lihodeev
Chainik писал(а):
Сб мар 30, 2019 6:41 pm
lihodeev писал(а):
Сб мар 30, 2019 6:03 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);
Либо, если у вас есть где-то (в скриптах, в методах) перечень действий при восходе солнца, можно вписать туда

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

sg("ОБЪЕКТ.Свойство_лег_спать", "0");

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
Ход мысли понял, буду пробовать.Спасибо