Статус системы "Кто-то есть" как настроить.

Всё, что не подходит под вышеперечисленные разделы

Модераторы: Bagir, Ivan, immortal, Vit

Jilber
Сообщения: 263
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 38 раз
Поблагодарили: 32 раза

Re: Статус системы "Кто-то есть" как настроить.

Сообщение Jilber » Пт янв 04, 2019 5:06 pm

Код изменён в файле "default.html" из папки "templates" ? Скопируйте файл в папку "templates_alt" и исправляйте как хотите - она не затрагивается при обновлении.
Logrus
Сообщения: 1184
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 234 раза
Поблагодарили: 178 раз

Re: Статус системы "Кто-то есть" как настроить.

Сообщение Logrus » Пт янв 04, 2019 6:09 pm

djeremy писал(а):
Пт янв 04, 2019 4:58 pm
Подскажите что надо сделать что бы при обновлениях мой код не затирался? добавил код что бы писалось время вот так
Кто-то есть..
Кухня 18:54, Спальня 18:53, Зал 18:52 очеь удобно и сразу понятно где и когда произошло движение. но блин каждый раз затирается этот файл, выставить на него рид онли но это не правильно.
перед инжекцией ретурн, выше инжекцию на свой отредактированный, профит
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо - ТАМ =>
connect Raspberry Pi3, с образа от Сергея 3.31, PHP 7
djeremy
Сообщения: 23
Зарегистрирован: Пн дек 03, 2018 6:18 pm
Благодарил (а): 7 раз
Поблагодарили: 0

Re: Статус системы "Кто-то есть" как настроить.

Сообщение djeremy » Пт янв 04, 2019 6:34 pm

Logrus писал(а):
Пт янв 04, 2019 6:09 pm
перед инжекцией ретурн, выше инжекцию на свой отредактированный, профит
Не понимаю.. вот код файла Rooms_updateActivityStatus.php я пишу в него, но он меняется что логично, научите инжекции пожалуйста. есди что добавил 3 комментария что бы было понятно что я добавил.

Код: Выделить всё

<?php

if (defined('DISABLE_SIMPLE_DEVICES') && DISABLE_SIMPLE_DEVICES==1) return;

$rooms = getObjectsByClass("Rooms");
$total = count($rooms);
for ($i = 0; $i < $total; $i++) {
    $rooms[$i]['room'] = getGlobal($rooms[$i]['TITLE'] . '.Title');
    if (!$rooms[$i]['room']) {
        $rooms[$i]['room'] = $rooms[$i]['TITLE'];
    }
    $rooms[$i]['active'] = getGlobal($rooms[$i]['TITLE'] . '.SomebodyHere');
    $rooms[$i]['time'] = getGlobal($rooms[$i]['TITLE'] . '.LatestActivity');
	$rooms[$i]['timela'] = getGlobal($rooms[$i]['TITLE'] . '.LatestActivityTime'); // Подключаем время
    if (!$rooms[$i]['time']) {
        $rooms[$i]['time'] = 0;
    }
    $rooms[$i]['diff'] = time() - $rooms[$i]['time'];
}

if (!function_exists('cmpRoomsActivity')) {
    function cmpRoomsActivity($a, $b)
    {
        if ($a['diff'] == $b['diff']) {
            return 0;
        }
        return ($a['diff'] < $b['diff']) ? -1 : 1;
    }
}
usort($rooms, "cmpRoomsActivity");

if (getGlobal('NobodyHomeMode.active')) {
    $somebodyHomeText = LANG_DEVICES_ROOMS_NOBODYHOME." ".LANG_DEVICES_ROOMS_ACTIVITY." " . date('H:i', $rooms[0]['time']) . " (" . $rooms[0]['room'] . ")";
} else {
    $res_rooms = array();
    for ($i = 0; $i < $total; $i++) {
        if ($rooms[$i]['active']) {
			$rooms[$i]['room'] = $rooms[$i]['room']." ".$rooms[$i]['timela']; // Добавляем время 
            $res_rooms[] = $rooms[$i]['room'];
        }
    }
    $somebodyHomeText = LANG_DEVICES_ROOMS_SOMEBODYHOME.'.';
    if (count($res_rooms)>0) {
        $somebodyHomeText.="<br>".implode(", ", $res_rooms); // Затираем слово активность
    }

}

echo $somebodyHomeText;

setGlobal('somebodyHomeText', $somebodyHomeText);
Logrus
Сообщения: 1184
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 234 раза
Поблагодарили: 178 раз

Re: Статус системы "Кто-то есть" как настроить.

Сообщение Logrus » Пт янв 04, 2019 8:00 pm

ааа, забыл, оно ж из файлов вызывается, а у себя вынес его вообще отдельно с изменениями (он у меня в методе на скрине ниже)
0.PNG
0.PNG (21.75 КБ) 159 просмотров
сначала и подумал, про инжекцию, ну и выше написал как обойти, но там не так ...
Последний раз редактировалось Logrus Пт янв 04, 2019 8:07 pm, всего редактировалось 1 раз.
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо - ТАМ =>
connect Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Logrus
Сообщения: 1184
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 234 раза
Поблагодарили: 178 раз

Re: Статус системы "Кто-то есть" как настроить.

Сообщение Logrus » Пт янв 04, 2019 8:03 pm

сделайте так, в папке со структурой и после обновы всей пачкой меняйте
0.PNG
0.PNG (114.53 КБ) 159 просмотров
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо - ТАМ =>
connect Raspberry Pi3, с образа от Сергея 3.31, PHP 7
djeremy
Сообщения: 23
Зарегистрирован: Пн дек 03, 2018 6:18 pm
Благодарил (а): 7 раз
Поблагодарили: 0

Re: Статус системы "Кто-то есть" как настроить.

Сообщение djeremy » Пт янв 04, 2019 9:33 pm

Понятно, спасибо, так не пойдет, тут ковырнул тут исправил после обновления может что то не зацепиться и так далее. Да и не выход это накатывать архивы вдруг что то новое интересное выйдет. По сути своими ковыряниями в другую ветвь ухожу. Выше писали уже кстати что этот код посторяется как в файле и именно он работает так и в где-то в объектах к сожалению копию кода найти не могу, то ли стер толи не там ищу. Смысл в том что вначале правил там код и ничего не менялось.
Logrus
Сообщения: 1184
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 234 раза
Поблагодарили: 178 раз

Re: Статус системы "Кто-то есть" как настроить.

Сообщение Logrus » Пт янв 04, 2019 10:14 pm

djeremy писал(а):
Пт янв 04, 2019 9:33 pm
Понятно, спасибо, так не пойдет, тут ковырнул тут исправил после обновления может что то не зацепиться и так далее. Да и не выход это накатывать архивы вдруг что то новое интересное выйдет. По сути своими ковыряниями в другую ветвь ухожу. Выше писали уже кстати что этот код посторяется как в файле и именно он работает так и в где-то в объектах к сожалению копию кода найти не могу, то ли стер толи не там ищу. Смысл в том что вначале правил там код и ничего не менялось.
именно с Rooms_updateActivityStatus.php ничего страшного вынести, там если только задвоение точки и двоеточия поправят, да вызов не с каждого срабатывания дд в комнате, а к onNewActivity перенесут
насчет задвоения, в дереве классов объектов в методах естественно его не должно быть
у многих там старое оставалось, что сейчас вынесено отдельно и т.д.
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо - ТАМ =>
connect Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Ответить