Подскажите код для открытия и закрытия штор на рассвете и закате.

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: Подскажите код для открытия и закрытия штор на рассвете и закате.

Сообщение Jilber » Ср май 26, 2021 5:02 pm

Да. Весь код этого метода выполняется раз в минуту.
За это сообщение автора Jilber поблагодарил:
ImageMaker (Ср май 26, 2021 9:17 pm)
Рейтинг: 1.16%
Аватара пользователя
ImageMaker
Сообщения: 76
Зарегистрирован: Ср фев 13, 2019 9:28 pm
Благодарил (а): 32 раза
Поблагодарили: 1 раз

Re: Подскажите код для открытия и закрытия штор на рассвете и закате.

Сообщение ImageMaker » Ср май 26, 2021 9:24 pm

xor писал(а):
Ср май 26, 2021 1:06 am
...время в этих свойствах должно быть в формате "чч:мм".
Вроде все условия выполнены, но мотор для штор не срабатывает.
Что ещё можно посмотреть?
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: Подскажите код для открытия и закрытия штор на рассвете и закате.

Сообщение Jilber » Ср май 26, 2021 9:34 pm

Т.е. именно в то время, когда наступает закат, не срабатывает ? Если позже, когда закат уже наступил, то и не сработает - там идёт проверка только текущего времени.
А у вас в методе "onNewMinute" есть же включение/выключение DarknessMode ? Вроде по умолчанию оно должно присутствовать в системе и работать. Вставьте строки своего кода SetTimeOut("lightOnTimer","callMethod('XiOpenable01.close');", 60); и SetTimeOut("lightOnTimer","callMethod('XiOpenable01.open');",1500); прямо туда, чтобы каждую минуту дважды не проверять время рассвета/заката.
За это сообщение автора Jilber поблагодарил:
ImageMaker (Ср май 26, 2021 10:23 pm)
Рейтинг: 1.16%
Аватара пользователя
ImageMaker
Сообщения: 76
Зарегистрирован: Ср фев 13, 2019 9:28 pm
Благодарил (а): 32 раза
Поблагодарили: 1 раз

Re: Подскажите код для открытия и закрытия штор на рассвете и закате.

Сообщение ImageMaker » Ср май 26, 2021 10:38 pm

Jilber писал(а):
Ср май 26, 2021 9:34 pm
Т.е. именно в то время, когда наступает закат, не срабатывает ?
Да, именно во время заката и рассвета (со смещением).
Jilber писал(а):
Ср май 26, 2021 9:34 pm
А у вас в методе "onNewMinute" есть же включение/выключение DarknessMode ?
Вы имеете в виду этот код:

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

 if (timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && getGlobal('isDark')=="1") {
  setGlobal("isDark",0);
  callMethod('DarknessMode.deactivate');  
 } elseif (!timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && getGlobal('isDark')!="1") {
  setGlobal("isDark",1);
  callMethod('DarknessMode.activate');    
 }
???

Строчку

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

SetTimeOut("lightOnTimer","callMethod('XiOpenable01.close');", 60); 
Вставить после

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

  callMethod('DarknessMode.activate');    
и строчку

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

SetTimeOut("lightOnTimer","callMethod('XiOpenable01.open');",1500); 
вставить после

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

  callMethod('DarknessMode.deactivate');  
???
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: Подскажите код для открытия и закрытия штор на рассвете и закате.

Сообщение Jilber » Ср май 26, 2021 11:16 pm

Да. Здесь проверяется время и если закат уже был, а рассвет ещё нет, то активируется режим "Тёмное время суток" и надо закрыть шторы. Если же дневное время (между рассветом и закатом), то режим "Тёмное время суток" выключается и шторы нужно открыть.
За это сообщение автора Jilber поблагодарил:
ImageMaker (Ср май 26, 2021 11:28 pm)
Рейтинг: 1.16%
Аватара пользователя
Sapizdullin
Сообщения: 408
Зарегистрирован: Сб фев 18, 2017 9:47 am
Откуда: Земля
Благодарил (а): 54 раза
Поблагодарили: 61 раз

Re: Подскажите код для открытия и закрытия штор на рассвете и закате.

Сообщение Sapizdullin » Чт май 27, 2021 9:55 am

ImageMaker писал(а):
Сб май 22, 2021 10:38 pm
Совсем не дружу с php :?

Есть время рассвета ow_fact_2.sunrise и время заката ow_fact_2.sunset
Если XiOpenable01.level=0, то шторы закрываются.
Если XiOpenable01.level=100, то шторы открываются.

Подскажите код для открытия и закрытия штор на рассвете и закате для сценария.
Открыть

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

if (timeIs(getGlobal('ow_fact_2.sunrise')))
{
sg(('XiOpenable01.level'),"100");
Закрыть

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

if (timeIs(getGlobal('ow_fact_2.sunset')))
{
sg(('XiOpenable01.level'),"0");
В метод ClockChime onNewMinute. Или в отдельный сценарий, а его пропишете в методе.
Например

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

runScriptSafe('rollerSheduler');
За это сообщение автора Sapizdullin поблагодарил:
ImageMaker (Чт май 27, 2021 7:31 pm)
Рейтинг: 1.16%
Intel(R) Core(TM) i7-6700, Debian 9 "Stretch", Zoneminder, Avreg.
Аватара пользователя
Nail
Сообщения: 373
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 174 раза
Поблагодарили: 28 раз

Re: Подскажите код для открытия и закрытия штор на рассвете и закате.

Сообщение Nail » Чт май 27, 2021 9:58 am

Sapizdullin писал(а):
Чт май 27, 2021 9:55 am

Открыть

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

if (timeIs(getGlobal('ow_fact_2.sunrise')))
{
sg(('XiOpenable01.level'),"100");
Закрыть

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

if (timeIs(getGlobal('ow_fact_2.sunset')))
{
sg(('XiOpenable01.level'),"0");
В метод ClockChime onNewMinute. Или в отдельный сценарий, а его пропишете в методе.
Например

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

runScriptSafe('rollerSheduler');
Свойство мне помнится кажется из "Опенватер"(если оно установленно)?

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

'ow_fact_2.sunrise' и 'ow_fact_2.sunset'
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS ZigBee Gateway. Broadlink.
Аватара пользователя
Nail
Сообщения: 373
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 174 раза
Поблагодарили: 28 раз

Re: Подскажите код для открытия и закрытия штор на рассвете и закате.

Сообщение Nail » Чт май 27, 2021 10:02 am

Sapizdullin писал(а):
Чт май 27, 2021 9:55 am
В метод ClockChime onNewMinute. Или в отдельный сценарий, а его пропишете в методе.
Например

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

runScriptSafe('rollerSheduler');
Xor - не советует делать отдельный сценарий (если я правильно понял, описано выше ), писать прямо в методе
ClockChime onNewMinute
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS ZigBee Gateway. Broadlink.
Аватара пользователя
xor
Сообщения: 2036
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 283 раза
Поблагодарили: 628 раз

Re: Подскажите код для открытия и закрытия штор на рассвете и закате.

Сообщение xor » Чт май 27, 2021 10:46 am

Nail писал(а):
Чт май 27, 2021 10:02 am
Sapizdullin писал(а):
Чт май 27, 2021 9:55 am
В метод ClockChime onNewMinute. Или в отдельный сценарий, а его пропишете в методе.
Например

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

runScriptSafe('rollerSheduler');
Xor - не советует делать отдельный сценарий (если я правильно понял, описано выше ), писать прямо в методе
ClockChime onNewMinute
не, как удобнее, тут при этом способе важен только вызов каждую минуту при использовании timeis
Аватара пользователя
Sapizdullin
Сообщения: 408
Зарегистрирован: Сб фев 18, 2017 9:47 am
Откуда: Земля
Благодарил (а): 54 раза
Поблагодарили: 61 раз

Re: Подскажите код для открытия и закрытия штор на рассвете и закате.

Сообщение Sapizdullin » Чт май 27, 2021 11:01 am

Nail писал(а):
Чт май 27, 2021 10:02 am
Sapizdullin писал(а):
Чт май 27, 2021 9:55 am
В метод ClockChime onNewMinute. Или в отдельный сценарий, а его пропишете в методе.
Например

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

runScriptSafe('rollerSheduler');
Xor - не советует делать отдельный сценарий (если я правильно понял, описано выше ), писать прямо в методе
ClockChime onNewMinute
Какая разница.. Просто меньше кода в методе, для глаза ИМХО лучше.
Intel(R) Core(TM) i7-6700, Debian 9 "Stretch", Zoneminder, Avreg.
Ответить