[Модуль] Статусы системы (sys_states)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

olegvolk75
Сообщения: 141
Зарегистрирован: Сб мар 11, 2017 7:03 pm
Благодарил (а): 50 раз
Поблагодарили: 15 раз

Re: [Модуль] Статусы системы

Сообщение olegvolk75 » Вт янв 09, 2018 4:29 pm

Странно, вроде бы чистил (хотя конечно могу и ошибаться). В методе checkstate объекта System присутствует такой код:
СпойлерПоказать

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

details=array();
$red_state=0;
$yellow_state=0;

$cycles=array('states'=>'states','main'=>'main','execs'=>'exec','scheduler'=>'scheduler');
foreach($cycles as $k=>$v) {
 $tm=getGlobal('ThisComputer.cycle_'.$k.'Run');
 if (time()-$tm>5*60) {
  $red_state=1;
  $details[]=$v." ".LANG_GENERAL_CYCLE." ".LANG_GENERAL_STOPPED.".";
 }
}

$cycles=array('ping'=>'ping','webvars'=>'webvars');
foreach($cycles as $k=>$v) {
 $tm=getGlobal('ThisComputer.cycle_'.$k.'Run');
 if (time()-$tm>10*60) {
  $yellow_state=1;
  $details[]=$v." ".LANG_GENERAL_CYCLE." ".LANG_GENERAL_STOPPED.".";  
 }
}

/*
$objects=array('MotionSensor1'=>'Датчик движения 1','MotionSensor2'=>'Датчик движения 2','TempSensor01'=>'Датчик температуры','HumSensor01'=>'Датчик влажности');
foreach($objects as $k=>$v) {
 if (!gg($k.'.alive')) {
  $yellow_state=1;
  $details[]="Не обновляется ".$v.'.';  
 }
}
*/

if ((int)gg('ThisComputer.SpaceProblems')>0) {
  $red_state=1;
  $details[]="Недостаточно места на диске (".gg('ThisComputer.SpaceProblems_Details').').';  
}

if ($red_state) {
 $state='red';
 $state_title=LANG_GENERAL_RED; 
} elseif ($yellow_state) {
 $state='yellow';
 $state_title=LANG_GENERAL_YELLOW;  
} else {
 $state='green';
 $state_title=LANG_GENERAL_GREEN;   
}

$new_details=implode(". ",$details);
if ($this->getProperty("stateDetails")!=$new_details) {
 $this->setProperty('stateDetails',$new_details);
}

if ($this->getProperty('stateColor')!=$state) {
 $this->setProperty('stateColor',$state);
 $this->setProperty('stateTitle',$state_title);
 if ($state!='green') {
  say(LANG_GENERAL_SYSTEM_STATE." ".LANG_GENERAL_CHANGED_TO." ".$state_title.".");
  say(implode(". ",$details),2);
 } else {
  say(LANG_GENERAL_SYSTEM_STATE." ".LANG_GENERAL_RESTORED_TO." ".$state_title,2);
 }
 $this->callMethod('stateChanged');
}
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/system_checkstate.php');
/* end injection of {SDevices} */
Под словом "почистить" подразумевается удалить весь код или что-то более интелектуальное :) ?
Orange Pi PCPlus, Debian Stretch with Armbian Linux 4.19.62-sunxi
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Статусы системы

Сообщение nick7zmail » Вт янв 09, 2018 4:30 pm

Всё кроме
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/system_checkstate.php');
/* end injection of {SDevices} */
За это сообщение автора nick7zmail поблагодарили (всего 2):
olegvolk75 (Ср янв 10, 2018 9:23 am) • crontab (Вс сен 16, 2018 10:02 pm)
Рейтинг: 2.33%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
olegvolk75
Сообщения: 141
Зарегистрирован: Сб мар 11, 2017 7:03 pm
Благодарил (а): 50 раз
Поблагодарили: 15 раз

Re: [Модуль] Статусы системы

Сообщение olegvolk75 » Ср янв 10, 2018 9:23 am

После удаления лишнего заработал правильно. Спасибо!
Orange Pi PCPlus, Debian Stretch with Armbian Linux 4.19.62-sunxi
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: [Модуль] Статусы системы

Сообщение Logrus » Чт янв 11, 2018 4:44 am

olegvolk75 писал(а):Странно, вроде бы чистил (хотя конечно могу и ошибаться). В методе checkstate объекта System присутствует такой код:
флешка.PNG
флешка.PNG (9.64 КБ) 4578 просмотров
это желтый на коммуникации и красный системный
поставил в проверке 10%
вопрос к Никите? как с checkFreeSpace
pi@raspberrypi:~ $ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 15G 4.6G 9.1G 34% / //хз, почему не было, вообще вопрос, что подпилить?
devtmpfs 458M 0 458M 0% /dev
tmpfs 462M 0 462M 0% /dev/shm
tmpfs 462M 25M 438M 6% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 462M 0 462M 0% /sys/fs/cgroup
tmpfs 100M 33M 68M 33% /tmp
/dev/mmcblk0p1 63M 22M 42M 35% /boot
/dev/sda1 7.5G 44M 7.0G 1% /mnt/flash
tmpfs 93M 0 93M 0% /run/user/1000
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
ipc2002
Сообщения: 125
Зарегистрирован: Пн май 15, 2017 8:13 pm
Откуда: Москва
Благодарил (а): 102 раза
Поблагодарили: 14 раз
Контактная информация:

Re: [Модуль] Статусы системы

Сообщение ipc2002 » Вт янв 16, 2018 6:43 pm

Простите!
А почему может не сохраняться выбор радиобатона или пояснение (description)?
При попытке сохранить, все возвращается, как было((((

[upd]
С этим, методом тыка разобрался, но просьба к разработчику поправить:
1. Нужно названия Онлайн-устройств писать без пробелов,
2. После изменения (установки нужного радиобатона или дескрипшена) нужно нажать сохранить, а после сохранения - обновить страницу.

Но сам модуль не работает!
Хотя выбраны и сохранены нужные пункты, система никак не реагирует, ни на остановившиеся циклы, ни на оффлайн-устройства...
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Статусы системы

Сообщение nick7zmail » Вт янв 16, 2018 7:05 pm

Название онлайн устройств берутся с модуля - устройства онлайн. Как там написали, так тут и будут.
Модуль должен работать. Проверьте в классовых методах include, и подчищены ли методы самих объектов...
За это сообщение автора nick7zmail поблагодарил:
ipc2002 (Вт янв 16, 2018 7:06 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
ipc2002
Сообщения: 125
Зарегистрирован: Пн май 15, 2017 8:13 pm
Откуда: Москва
Благодарил (а): 102 раза
Поблагодарили: 14 раз
Контактная информация:

Re: [Модуль] Статусы системы

Сообщение ipc2002 » Вт янв 16, 2018 7:07 pm

nick7zmail писал(а):Название онлайн устройств берутся с модуля - устройства онлайн. Как там написали, так тут и будут.
Модуль должен работать. Проверьте в классовых методах include, и подчищены ли методы самих объектов...
можно, пожалуйста, для ламеров чуть поподробнее :D
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Статусы системы

Сообщение nick7zmail » Вт янв 16, 2018 7:27 pm

Сперва прочитать это
https://majordomo.smartliving.ru/Main/BasicsStates
потом в первом сообщении это
Внимание!! После установки модуля нужно "подчистить" ваши методы "checkState" (в текущий момент только для объектов System и Communication), и проследить, чтобы переключатель вызова стоял на выполнять до или выполнять после.
Когда найдёте соответствующие объекты - зайти в их класс, и в классовом методе checkState убедиться, что есть строка

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

require(DIR_MODULES.'sys_states/sys_states.inc.php'); 
За это сообщение автора nick7zmail поблагодарил:
ipc2002 (Вт янв 16, 2018 8:39 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: [Модуль] Статусы системы

Сообщение Ivan » Ср апр 04, 2018 7:11 pm

А добавить статус (закладку (Иконка плюсик)) сейчас я так понимаю не работает
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Статусы системы

Сообщение nick7zmail » Ср апр 04, 2018 7:14 pm

Пока нет. Можно добавить вручную новый объект в данный класс...но это по факту то тоже ничего не даст...сможете лицезреть и переименовывать вкладку...все обработчики один фиг в методе прописывать...планирую доработку, но как доберусь - хз, если честно...и сперва на очереди пара других модулей.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить