Пролопатил кучу веток форума, и понял, что проблема с onNewMinute довольно частая, и я не исключение, а похоже что правило))). А решение то...где?
Дважды накатывал MDM и постоянно на те же грабли. Да, я новичок в этом, но как разобраться, понять и освоить, если большинство тем просто обрывается без ответов разработчиков и именно с этим злополучным onNewMinute...
У меня вобще это время зависает и всё. Только тестовой ссылкой происходит синхронизация времени и опять останавливается. Система Debian 10, WebServer nginx, PHP 7.3
Сам код onNewMinute отличается от кода
u885
Код: Выделить всё
$h=(int)date('G',time());
$m=date('i',time());
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');
}
Сама проблема на скриншоте
- Снимок экрана в 2020-05-25 21-55-00_2.png (189.37 КБ) 5437 просмотров
И пофиг этому MDM, на то, что написано про onNewMinute в мануале по установке:
Если не выполняются onNewMinute и onNewHour
Нужно проверить настройку BASE_URL в config.php. Если Вы используете домен, а не IP, тогда добавьте в файл /etc/hosts строку вида:
127.0.0.1 domain.com
1
127.0.0.1 domain.com
Где domain.com - это Ваш домен который Вы используете. Комментарий Сергея с форума: Дело в том, что эти методы вызываются через внутреннюю функцию raseEvent, которая обращается к серверу через HTTP-запрос используя BASE_URL. Если он неправильный, то метод не вызовется.
На этом статья об установке MajorDoMo на Linux Ubuntu закончена.
Решение то какое?
Все пробовал. Ничего не помогает
ЗЫ: Цыклы все работают, ошибок нет. Старые 20015 года, конечно сбросил. И вот, не пойму...сложно их убрать в дистрибутиве сразу???