Дублируются сообщения

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

Модератор: immortal

Диаф
Сообщения: 58
Зарегистрирован: Пт сен 24, 2021 3:02 pm
Благодарил (а): 4 раза
Поблагодарили: 7 раз

Дублируются сообщения

Сообщение Диаф » Сб сен 10, 2022 9:52 pm

Добрый день. Стали дублироваться сообщения. Подскажите где копать.
Вложения
IMG_20220909_080051.jpg
IMG_20220909_080051.jpg (3.31 МБ) 1229 просмотров
Аватара пользователя
AndrewStick
Сообщения: 32
Зарегистрирован: Пт янв 15, 2021 5:56 am
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 12 раз
Контактная информация:

Re: Дублируются сообщения

Сообщение AndrewStick » Вс сен 11, 2022 9:45 am

Присоединяюсь к вопросу.
Дублируется только ночной режим вкл

Изображение
Вложения
QIP Shot - Screen 762.jpg
QIP Shot - Screen 762.jpg (131.67 КБ) 1206 просмотров
Sergey.Chek
Сообщения: 107
Зарегистрирован: Ср фев 13, 2019 9:50 pm
Благодарил (а): 219 раз
Поблагодарили: 19 раз

Re: Дублируются сообщения

Сообщение Sergey.Chek » Вс сен 11, 2022 2:38 pm

Такая же фигня
Raspberry pi 4
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: Дублируются сообщения

Сообщение xor » Пн сен 12, 2022 1:59 am

Судя по ненормальному построению фразы
Ночной режим активировано
это делается в мдм у вас централизовано)
ищите в классе OperationalModes метод классовый и объектовый. там активация режима должна быть только в одном месте.
М.б., придётся поискать в файле по ссылке
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/nightmode_activate.php');
/* end injection of {SDevices} */
хотя там недавно правили задвоение.
в коде ваши активировано/деактивировано зашифрованы через языковые настройки, так что, поиском не найдёте(
'GENERAL_ACTIVATED' => 'активировано',
'GENERAL_DEACTIVATED' => 'деактивировано',
За это сообщение автора xor поблагодарили (всего 2):
Sergey.Chek (Пн сен 12, 2022 6:11 am) • Диаф (Чт сен 15, 2022 8:01 am)
Рейтинг: 2.33%
Диаф
Сообщения: 58
Зарегистрирован: Пт сен 24, 2021 3:02 pm
Благодарил (а): 4 раза
Поблагодарили: 7 раз

Re: Дублируются сообщения

Сообщение Диаф » Пн сен 12, 2022 8:54 pm

При вызове метода "OperationalModes → NightMode.activate" вручную, все равно выводится двойное сообщение.

setGlobal('minMsgLevel','2');
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/nightmode_activate.php');
/* end injection of {SDevices} */

Но отсутствует nightmode_deactivate.php. При вызове метода OperationalModes → NightMode.deactivate вручную, выдается ошибка. Хотя сообщение, что ночной режим деактивирован, выводится.
Где можно взять nightmode_deactivate.php или что там должно быть, чтобы вручную сделать.
Диаф
Сообщения: 58
Зарегистрирован: Пт сен 24, 2021 3:02 pm
Благодарил (а): 4 раза
Поблагодарили: 7 раз

Re: Дублируются сообщения

Сообщение Диаф » Пн сен 12, 2022 9:31 pm

PS. Если просто изменять NightMode.active на 0 или 1, то все работает нормально.
Диаф
Сообщения: 58
Зарегистрирован: Пт сен 24, 2021 3:02 pm
Благодарил (а): 4 раза
Поблагодарили: 7 раз

Re: Дублируются сообщения

Сообщение Диаф » Вт сен 13, 2022 9:16 am

сделал следующим образом. не знаю насколько это правильно. я не программист :D

nightmode_activate.php

было

<?php
if (defined('DISABLE_SIMPLE_DEVICES') && DISABLE_SIMPLE_DEVICES==1) return;

$this->setProperty('active', 1);

//groupNight
$objects = getObjectsByProperty('groupNight', '=', 1);
$total = count($objects);
for ($i = 0; $i < $total; $i++) {
$currentStatus = gg($objects[$i] . '.status');
if ($currentStatus) {
usleep(50000);
callMethodSafe($objects[$i] . '.turnOff, array('source' => 'NightMode'));
}
}

стало

<?php
if (defined('DISABLE_SIMPLE_DEVICES') && DISABLE_SIMPLE_DEVICES==1) return;

//$this->setProperty('active', 1);

//groupNight
$objects = getObjectsByProperty('groupNight', '=', 1);
$total = count($objects);
for ($i = 0; $i < $total; $i++) {
$currentStatus = gg($objects[$i] . '.status');
if ($currentStatus) {
usleep(50000);
callMethodSafe($objects[$i] . '.turnOff', array('source' => 'NightMode'));
}
}

закоментировал строку $this->setProperty('active', 1);
кто знает зачем она нужна, напишите

скопировал nightmode_activate.php как nightmode_deactivate.php
изменил следующим образом

<?php
if (defined('DISABLE_SIMPLE_DEVICES') && DISABLE_SIMPLE_DEVICES==0) return;

//$this->setProperty('active', 0);

//groupNight
$objects = getObjectsByProperty('groupNight', '=', 0);
$total = count($objects);
for ($i = 0; $i < $total; $i++) {
$currentStatus = gg($objects[$i] . '.status');
if ($currentStatus) {
usleep(50000);
callMethodSafe($objects[$i] . '.turnOn', array('source' => 'NightMode'));
}
}

единицы заменил нулями и turnOff на turnOn. напишите что значит turnOff
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Дублируются сообщения

Сообщение Logrus » Вт сен 13, 2022 10:50 am

если не понимаете зачем лезете?
обновить мдм не пробовали, автор там поправил
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Диаф
Сообщения: 58
Зарегистрирован: Пт сен 24, 2021 3:02 pm
Благодарил (а): 4 раза
Поблагодарили: 7 раз

Re: Дублируются сообщения

Сообщение Диаф » Вт сен 13, 2022 12:38 pm

автор подправил. я обновил. записи начали дублироваться.
и коли речь зашла о ночном режиме, где можно изменить время? с 8 часов на 10 часов к примеру
Аватара пользователя
AndrewStick
Сообщения: 32
Зарегистрирован: Пт янв 15, 2021 5:56 am
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 12 раз
Контактная информация:

Re: Дублируются сообщения

Сообщение AndrewStick » Вт сен 13, 2022 2:53 pm

Диаф писал(а):
Вт сен 13, 2022 12:38 pm
где можно изменить время?
Тут
QIP Shot - Screen 763.jpg
QIP Shot - Screen 763.jpg (46.17 КБ) 1051 просмотр
Это сервис - настройки в ГУИ
За это сообщение автора AndrewStick поблагодарил:
Диаф (Вт сен 13, 2022 5:56 pm)
Рейтинг: 1.16%
Ответить