onnewminute

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

Модератор: immortal

Ответить
Аватара пользователя
Nail
Сообщения: 374
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 174 раза
Поблагодарили: 28 раз

onnewminute

Сообщение Nail » Пт авг 21, 2020 10:42 pm

Хочется узнать мнение и опыт использование "onnewminute", на сколько это нагружает систему и у кого какое максимальное количество опросов по сценариям и т.д. данного метода?
И если опыт и скрипты методы обхода onnewminute тем или иным способом , для получения результата?
P.S.
У меня в данный момент такой скрипт

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

$h=(int)date('G',time());
$m=date('i',time());

cm('Boiler1.checkTenStatus');
cm('Boiler1.termostat');


if (isWeekDay()) {

}


if (($h>=8) && getGlobal('clockChimeEnabled')) {
 if ($m=="00") {
   //say(timeNow(),1);
 }
}


setGlobal('timeNow',date('H:i'));

$homeStatus=date('H:i');
if (getGlobal('NobodyHomeMode.active')) {
 $homeStatus.=' Дома никого';
} else {
 $homeStatus.=' Дома кто-то есть';
}

$homeStatus.=' '.getGlobal('Security.stateDetails');
$homeStatus.=' '.getGlobal('System.stateDetails');
$homeStatus.=' '.getGlobal('Communication.stateDetails');
setGlobal('HomeStatus',$homeStatus);

 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');    
 }
 
  if (timeIs(getGlobal('SunRiseTime'))) {
  //say('Всходит солнце');
 }
 if (timeIs(getGlobal('SunSetTime'))) {
  //say('Солнце заходит',2);
 }
 
if (timeIs("23:30") && (gg("EconomMode.active")!="1") && (gg("NobodyHomeMode.active")=="1")) {
 say("Похоже никого нет сегодня, можно сэкономить немного.");
 callMethod('EconomMode.activate');
}

/*
if (timeIs('20:00')) {
 callMethod('NightMode.activate');
} elseif (timeIs('08:00')) {
 callMethod('NightMode.deactivate');
}
*/

if (timeIs("03:00")) {
 runScript("systemMaintenance");
}

if (gg('ThisComputer.AlarmStatus') && timeIs(gg('ThisComputer.AlarmTime'))) {
 runScript('MorningAlarm');
}
runScript('HumBME280');// Опрос датчика
runScript('Задержка');// Закат и расвет
runScript('Шина_DS18B20');//Опрос датчиков по шине
runScript('Температура котла');//Опрос датчиков температуры котла
runScript('Опрос эл_счетчика');//Опрос электро счетчика

//Действия при обрыве VPN тоннелля Majordomo.
if ($m%10 == 0) {
runScript('VPN_MajorDoMo_Alarm_Restart');
}
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS ZigBee Gateway. Broadlink.
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: onnewminute

Сообщение xor » Сб авг 22, 2020 12:35 pm

Nail писал(а):
Пт авг 21, 2020 10:42 pm
Хочется узнать мнение и опыт использование "onnewminute", на сколько это нагружает систему и у кого какое максимальное количество опросов по сценариям и т.д. данного метода?
И если опыт и скрипты методы обхода onnewminute тем или иным способом , для получения результата?
если не работают методы и скрипты с safe - основная проблема онньюминуте - выполнение его больше >60c
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: onnewminute

Сообщение tarasfrompir » Сб авг 22, 2020 5:20 pm

Nail писал(а):
Пт авг 21, 2020 10:42 pm
Хочется узнать мнение и опыт использование "onnewminute", на сколько это нагружает систему и у кого какое максимальное количество опросов по сценариям и т.д. данного метода?
И если опыт и скрипты методы обхода onnewminute тем или иным способом , для получения результата?
P.S.
У меня в данный момент такой скрипт

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

$h=(int)date('G',time());
$m=date('i',time());

cm('Boiler1.checkTenStatus');
cm('Boiler1.termostat');


if (isWeekDay()) {

}


if (($h>=8) && getGlobal('clockChimeEnabled')) {
 if ($m=="00") {
   //say(timeNow(),1);
 }
}


setGlobal('timeNow',date('H:i'));

$homeStatus=date('H:i');
if (getGlobal('NobodyHomeMode.active')) {
 $homeStatus.=' Дома никого';
} else {
 $homeStatus.=' Дома кто-то есть';
}

$homeStatus.=' '.getGlobal('Security.stateDetails');
$homeStatus.=' '.getGlobal('System.stateDetails');
$homeStatus.=' '.getGlobal('Communication.stateDetails');
setGlobal('HomeStatus',$homeStatus);

 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');    
 }
 
  if (timeIs(getGlobal('SunRiseTime'))) {
  //say('Всходит солнце');
 }
 if (timeIs(getGlobal('SunSetTime'))) {
  //say('Солнце заходит',2);
 }
 
if (timeIs("23:30") && (gg("EconomMode.active")!="1") && (gg("NobodyHomeMode.active")=="1")) {
 say("Похоже никого нет сегодня, можно сэкономить немного.");
 callMethod('EconomMode.activate');
}

/*
if (timeIs('20:00')) {
 callMethod('NightMode.activate');
} elseif (timeIs('08:00')) {
 callMethod('NightMode.deactivate');
}
*/

if (timeIs("03:00")) {
 runScript("systemMaintenance");
}

if (gg('ThisComputer.AlarmStatus') && timeIs(gg('ThisComputer.AlarmTime'))) {
 runScript('MorningAlarm');
}
runScript('HumBME280');// Опрос датчика
runScript('Задержка');// Закат и расвет
runScript('Шина_DS18B20');//Опрос датчиков по шине
runScript('Температура котла');//Опрос датчиков температуры котла
runScript('Опрос эл_счетчика');//Опрос электро счетчика

//Действия при обрыве VPN тоннелля Majordomo.
if ($m%10 == 0) {
runScript('VPN_MajorDoMo_Alarm_Restart');
}
Меня смущает две последний строки чего то там не так. Я би винес ето в устройства онлайн..
За это сообщение автора tarasfrompir поблагодарил:
Nail (Вс авг 23, 2020 4:50 pm)
Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: onnewminute

Сообщение xor » Сб авг 22, 2020 8:41 pm

ну и можно пользоваться внешним планировщиком - модуль Крон с параметром */10 * * * * - для запуска каждые 10 минут
За это сообщение автора xor поблагодарил:
Nail (Вс авг 23, 2020 4:52 pm)
Рейтинг: 1.16%
Аватара пользователя
Nail
Сообщения: 374
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 174 раза
Поблагодарили: 28 раз

Re: onnewminute

Сообщение Nail » Вс авг 23, 2020 4:51 pm

tarasfrompir писал(а):
Сб авг 22, 2020 5:20 pm
Меня смущает две последний строки чего то там не так. Я би винес ето в устройства онлайн..
я так понимаю в онлайне нужен ip адрес , но в данном случае в VPNKi его вроде нет(там ссылка)?
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS ZigBee Gateway. Broadlink.
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: onnewminute

Сообщение tarasfrompir » Вс авг 23, 2020 4:54 pm

Nail писал(а):
Вс авг 23, 2020 4:51 pm
tarasfrompir писал(а):
Сб авг 22, 2020 5:20 pm
Меня смущает две последний строки чего то там не так. Я би винес ето в устройства онлайн..
я так понимаю в онлайне нужен ip адрес , но в данном случае в VPNKi его вроде нет(там ссылка)?
ну так доменное имя ж тоже можно пинговать
Спасибо нам ПОМОЖЕТ..!
Ответить