Статус системы "Кто-то есть" как настроить.
Модератор: immortal
-
- Сообщения: 686
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 113 раз
- Поблагодарили: 107 раз
Re: Статус системы "Кто-то есть" как настроить.
Код изменён в файле "default.html" из папки "templates" ? Скопируйте файл в папку "templates_alt" и исправляйте как хотите - она не затрагивается при обновлении.
-
- Сообщения: 2087
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 458 раз
Re: Статус системы "Кто-то есть" как настроить.
перед инжекцией ретурн, выше инжекцию на свой отредактированный, профитdjeremy писал(а): ↑Пт янв 04, 2019 4:58 pmПодскажите что надо сделать что бы при обновлениях мой код не затирался? добавил код что бы писалось время вот так
Кто-то есть..
Кухня 18:54, Спальня 18:53, Зал 18:52 очеь удобно и сразу понятно где и когда произошло движение. но блин каждый раз затирается этот файл, выставить на него рид онли но это не правильно.
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 23
- Зарегистрирован: Пн дек 03, 2018 6:18 pm
- Благодарил (а): 7 раз
- Поблагодарили: 0
Re: Статус системы "Кто-то есть" как настроить.
Не понимаю.. вот код файла 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);
-
- Сообщения: 2087
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 458 раз
Re: Статус системы "Кто-то есть" как настроить.
ааа, забыл, оно ж из файлов вызывается, а у себя вынес его вообще отдельно с изменениями (он у меня в методе на скрине ниже)
сначала и подумал, про инжекцию, ну и выше написал как обойти, но там не так ...
Последний раз редактировалось Logrus Пт янв 04, 2019 8:07 pm, всего редактировалось 1 раз.
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 2087
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 458 раз
Re: Статус системы "Кто-то есть" как настроить.
сделайте так, в папке со структурой и после обновы всей пачкой меняйте
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 23
- Зарегистрирован: Пн дек 03, 2018 6:18 pm
- Благодарил (а): 7 раз
- Поблагодарили: 0
Re: Статус системы "Кто-то есть" как настроить.
Понятно, спасибо, так не пойдет, тут ковырнул тут исправил после обновления может что то не зацепиться и так далее. Да и не выход это накатывать архивы вдруг что то новое интересное выйдет. По сути своими ковыряниями в другую ветвь ухожу. Выше писали уже кстати что этот код посторяется как в файле и именно он работает так и в где-то в объектах к сожалению копию кода найти не могу, то ли стер толи не там ищу. Смысл в том что вначале правил там код и ничего не менялось.
-
- Сообщения: 2087
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 458 раз
Re: Статус системы "Кто-то есть" как настроить.
именно с Rooms_updateActivityStatus.php ничего страшного вынести, там если только задвоение точки и двоеточия поправят, да вызов не с каждого срабатывания дд в комнате, а к onNewActivity перенесутdjeremy писал(а): ↑Пт янв 04, 2019 9:33 pmПонятно, спасибо, так не пойдет, тут ковырнул тут исправил после обновления может что то не зацепиться и так далее. Да и не выход это накатывать архивы вдруг что то новое интересное выйдет. По сути своими ковыряниями в другую ветвь ухожу. Выше писали уже кстати что этот код посторяется как в файле и именно он работает так и в где-то в объектах к сожалению копию кода найти не могу, то ли стер толи не там ищу. Смысл в том что вначале правил там код и ничего не менялось.
насчет задвоения, в дереве классов объектов в методах естественно его не должно быть
у многих там старое оставалось, что сейчас вынесено отдельно и т.д.
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 131
- Зарегистрирован: Сб янв 13, 2018 6:28 pm
- Благодарил (а): 34 раза
- Поблагодарили: 4 раза
Re: Статус системы "Кто-то есть" как настроить.
Здравствуйте, уважаемые.
решил тоже сделать режим кто-то есть, по ссылке ниже все прописал, но при изменении свойства .isHome статус NobodyHomeMode не меняется. Простых устройств еще нет. систему настраиваю с нуля.
https://connect.smartliving.ru/profile/1646/blog64.html
В Минутном таймере и OperationalModes заменил на необходимое.
помогите, пожалуйста, или киньте ссылку где поглядеть еще поглядеть примеры.
для теста ставлю в устройствах онлайн 8.8.8.8 либо 8.8.8.9 для online\offline
PS: когда устройство оффлайн то test.isHome = 2
когда устройство онлайн то test.isHome = 1
решил тоже сделать режим кто-то есть, по ссылке ниже все прописал, но при изменении свойства .isHome статус NobodyHomeMode не меняется. Простых устройств еще нет. систему настраиваю с нуля.
https://connect.smartliving.ru/profile/1646/blog64.html
В Минутном таймере и OperationalModes заменил на необходимое.
помогите, пожалуйста, или киньте ссылку где поглядеть еще поглядеть примеры.
для теста ставлю в устройствах онлайн 8.8.8.8 либо 8.8.8.9 для online\offline
СпойлерПоказать
когда устройство онлайн то test.isHome = 1
Моё: Orange Pi Zero H2 + DietPi / Paspberry Pi3b + MJD 3.41