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

onnewminute

Добавлено: Пт авг 21, 2020 10:42 pm
Nail
Хочется узнать мнение и опыт использование "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');
}

Re: onnewminute

Добавлено: Сб авг 22, 2020 12:35 pm
xor
Nail писал(а):
Пт авг 21, 2020 10:42 pm
Хочется узнать мнение и опыт использование "onnewminute", на сколько это нагружает систему и у кого какое максимальное количество опросов по сценариям и т.д. данного метода?
И если опыт и скрипты методы обхода onnewminute тем или иным способом , для получения результата?
если не работают методы и скрипты с safe - основная проблема онньюминуте - выполнение его больше >60c

Re: onnewminute

Добавлено: Сб авг 22, 2020 5:20 pm
tarasfrompir
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');
}
Меня смущает две последний строки чего то там не так. Я би винес ето в устройства онлайн..

Re: onnewminute

Добавлено: Сб авг 22, 2020 8:41 pm
xor
ну и можно пользоваться внешним планировщиком - модуль Крон с параметром */10 * * * * - для запуска каждые 10 минут

Re: onnewminute

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

Re: onnewminute

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