Там за один месяц не опишешь всего что может быть ... не то что за несколько сообщений...
Начните с таймера минутного - положите сюда код для осмотра - и тогда будет колегиалное решенеие какоенить...
Модератор: immortal
Там за один месяц не опишешь всего что может быть ... не то что за несколько сообщений...
Код: Выделить всё
$h=(int)date('G',time());
$m=date('i',time());
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('Sun.civil_beginTime'),getGlobal('Sun.civil_endTime')) && getGlobal('isDark')=="1") {
setGlobal("isDark",0);
callMethod('DarknessMode.deactivate');
setGlobal("DarknessMode.active",0);
} elseif (!timeBetween(getGlobal('Sun.civil_beginTime'),getGlobal('Sun.civil_endTime')) && getGlobal('isDark')!="1") {
setGlobal("isDark",1);
callMethod('DarknessMode.activate');
setGlobal("DarknessMode.active",1);
}
if (timeIs(getGlobal('SunRiseTime'))) {
say('Восход солнца');
}
if (timeIs(getGlobal('SunSetTime'))) {
say('Заход солнца',2);
runScript("StartNewYear");
}
if (timeIs(gg('NightModeStart'))) {
callMethod('NightMode.activate');
} elseif (timeIs(gg('NightModeEnd'))) {
callMethod('NightMode.deactivate');
}
if (timeIs("03:00")) {
runScript("systemMaintenance");
}
//Каждые 10 минут
if ($m%10 == 0) {
callMethod('Dom.updateActivityStatus');
}
Код: Выделить всё
if (timeBetween(getGlobal('Sun.civil_beginTime'),getGlobal('Sun.civil_endTime')) && getGlobal('isDark')=="1") {
setGlobal("isDark",0);
callMethod('DarknessMode.deactivate');
setGlobal("DarknessMode.active",0);
Код: Выделить всё
if (getGlobal('isDark')=="1" && timeBetween(getGlobal('Sun.civil_beginTime'),getGlobal('Sun.civil_endTime')) ) {
setGlobal("isDark",0);
callMethod('DarknessMode.deactivate');
setGlobal("DarknessMode.active",0);
пока достаточно, буду "причёсывать" кодtarasfrompir писал(а): ↑Вс ноя 22, 2020 6:52 pmРазбирать ваш код дальше ?
Или вы думаете что сетглобал или гетглобал не делают запросов в базу данных. А это ведь таймер ПОСТОЯННО ЗАПУСКАЕМЫЙ....!!!
Ну слава богу мы поняли друг друга- вот хвастуны у кого 25 запросов в секунду в бд - этим занимаются годами и изучают узкие места ....mab писал(а): ↑Вс ноя 22, 2020 7:12 pmпока достаточно, буду "причёсывать" кодtarasfrompir писал(а): ↑Вс ноя 22, 2020 6:52 pmРазбирать ваш код дальше ?
Или вы думаете что сетглобал или гетглобал не делают запросов в базу данных. А это ведь таймер ПОСТОЯННО ЗАПУСКАЕМЫЙ....!!!
Код: Выделить всё
//$h=(int)date('G', time());
$m = date('i', time());
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);
$darkness = getGlobal('DarknessMode.active');
$sunrise = getGlobal('Sun.civil_beginTime');
$sunset = getGlobal('Sun.civil_endTime');
if ($darkness == 1 && timeBetween($sunrise, $sunset)) {
callMethodSafe('DarknessMode.deactivate');
}
elseif ($darkness == 0 && timeBetween($sunset, $sunrise)) {
callMethodSafe('DarknessMode.activate');
}
//вот оно надо?
if (timeIs(getGlobal('SunRiseTime'))) {
say('Восход солнца');
}
if (timeIs(getGlobal('SunSetTime'))) {
say('Заход солнца', 2);
runScript("StartNewYear");
}
//а если сервер отключался на продолжительное время, то этому режиму не доверяем?
if (timeIs(gg('NightModeStart'))) {
callMethod('NightMode.activate');
} elseif (timeIs(gg('NightModeEnd'))) {
callMethod('NightMode.deactivate');
}
//а в часовом или суточном таймере не лучше?
if (timeIs('03:00')) {
runScript("systemMaintenance");
}
//Каждые 10 минут
if ($m%10 == 0) {
callMethod('Dom.updateActivityStatus'); //судя по названию странные дерганья вместо по событию
}
я предложил навскидку минутный таймер и показать что можно получить из того что есть....Logrus писал(а): ↑Вс ноя 22, 2020 7:52 pmминутный таймер не самое страшное, системстатес раз в 5 сек., модули и правильное подключение в ПУ и т.д.Код: Выделить всё
//$h=(int)date('G', time()); $m = date('i', time()); 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); $darkness = getGlobal('DarknessMode.active'); $sunrise = getGlobal('Sun.civil_beginTime'); $sunset = getGlobal('Sun.civil_endTime'); if ($darkness == 1 && timeBetween($sunrise, $sunset)) { callMethodSafe('DarknessMode.deactivate'); } elseif ($darkness == 0 && timeBetween($sunset, $sunrise)) { callMethodSafe('DarknessMode.activate'); } //вот оно надо? if (timeIs(getGlobal('SunRiseTime'))) { say('Восход солнца'); } if (timeIs(getGlobal('SunSetTime'))) { say('Заход солнца', 2); runScript("StartNewYear"); } //а если сервер отключался на продолжительное время, то этому режиму не доверяем? if (timeIs(gg('NightModeStart'))) { callMethod('NightMode.activate'); } elseif (timeIs(gg('NightModeEnd'))) { callMethod('NightMode.deactivate'); } //а в часовом или суточном таймере не лучше? if (timeIs('03:00')) { runScript("systemMaintenance"); } //Каждые 10 минут if ($m%10 == 0) { callMethod('Dom.updateActivityStatus'); //судя по названию странные дерганья вместо по событию }
вы просили пример, я потратил время