Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.
Модератор: immortal
-
Nail
- Сообщения: 374
- Зарегистрирован: Пн мар 05, 2018 7:09 am
- Откуда: Самара
-
Благодарил (а):
174 раза
-
Поблагодарили:
28 раз
Сообщение
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 раз
Сообщение
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 раз
Сообщение
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)
Спасибо нам ПОМОЖЕТ..!
-
xor
- Сообщения: 2039
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
-
Благодарил (а):
286 раз
-
Поблагодарили:
629 раз
Сообщение
xor » Сб авг 22, 2020 8:41 pm
ну и можно пользоваться внешним планировщиком - модуль Крон с параметром */10 * * * * - для запуска каждые 10 минут
- За это сообщение автора xor поблагодарил:
- Nail (Вс авг 23, 2020 4:52 pm)
-
Nail
- Сообщения: 374
- Зарегистрирован: Пн мар 05, 2018 7:09 am
- Откуда: Самара
-
Благодарил (а):
174 раза
-
Поблагодарили:
28 раз
Сообщение
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 раз
Сообщение
tarasfrompir » Вс авг 23, 2020 4:54 pm
Nail писал(а): ↑Вс авг 23, 2020 4:51 pm
tarasfrompir писал(а): ↑Сб авг 22, 2020 5:20 pm
Меня смущает две последний строки чего то там не так. Я би винес ето в устройства онлайн..
я так понимаю в онлайне нужен ip адрес , но в данном случае в VPNKi его вроде нет(там ссылка)?
ну так доменное имя ж тоже можно пинговать
Спасибо нам ПОМОЖЕТ..!