[Виджет] состояния системы (процессора) с индикаторами (OHM)

Готовое оформление с исполнительным кодом

Модераторы: immortal, newz20

Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: [Виджет] состояния системы (процессора) с индикаторами (

Сообщение Vovix » Пт мар 30, 2018 9:42 pm

vitar78 писал(а):...
Хм чет не нашел, а где почитать
в профильной теме, вот например с этого места: viewtopic.php?f=7&t=3788&start=480#p76070
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Виджет] состояния системы (процессора) с индикаторами (OHM)

Сообщение nick7zmail » Сб апр 07, 2018 5:25 pm

Ну коли тут делятся своими виджетами - поделюсь и своим))
111.jpg
111.jpg (61.96 КБ) 6819 просмотров
На самом деле ничего особенного. Единственный интересный элемент - прогрессбар. Он может пригодиться кому-нить...
С процем и оперативой пока не придумал что делать, оставил пока так. Все данные получены модулем SystemInfo. Уже отписался автору, кстати, про неокруглённые значения. Я конечно могу их и сам округлить, но неплохо бы было, если бы это было в модуле. Можете поддержать эту идею https://connect.smartliving.ru/tasks/97.html.
Ну собственно и сам код виджета:
СпойлерПоказать

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

<h3 class="ui-bar ui-bar-b ui-corner-all" align="center">Параметры</h3>
<table align="center">
<tr align="center">
 <td><img src="/img/system/cpu.png"/></td>
 <td>%server.CpuLoad% %<br>%server.CpuTemp% °C</td>
 <td><img src="/img/system/ram.png"/></td>
 <td>%server.ramuse% %</td>
</tr>
</table>
<table align="center">
<tr>
 <td><img src="/img/system/hdd.png"/></td>
 <td style="width:100%;">
 <div class="meter">
  <span style="width:%server.disk1use%%"></span>
  <p>/</p>
 <p2>%server.disk1use%%</p2>
</div>
<div class="meter">
  <span style="width:%server.disk2use%%"></span>
  <p>/var/log</p>
 <p2>%server.disk2use%%</p2>
</div>
<div class="meter">
  <span style="width:%server.disk3use%%"></span>
  <p>/tmp</p>
 <p2>%server.disk3use%%</p2>
</div>
<div class="meter">
  <span style="width:%server.disk4use%%"></span>
  <p>/home/pi/blynk</p>
 <p2>%server.disk4use%%</p2>
</div>
<div class="meter">
  <span style="width:%server.disk5use%%"></span>
  <p>/var/www/html/debmes</p>
 <p2>%server.disk5use%%</p2>
</div>
 </td>
</tr>
<tr>
 <td><img src="/img/system/clock.png"/></td>
 <td>Uptime: %server.SystemUptime%</td>
</tr>
</table> 


<fieldset data-role="controlgroup" data-theme="b" data-type="horizontal" data-mini="true" align=right>
<input type="radio" name="radio-choice-power" id="reboot" value="reboot" onclick="$.get('/objects/?object=ThisComputer&op=m&m=reboot&');">
&nbsp;<label for="reboot" style="background: #616110; padding-left: 0px; padding-right: 0px;"><span class="ui-btn-icon-left ui-icon-refresh"></span></label>&nbsp;
<input type="radio" name="radio-choice-power" id="poweroff" value="poweroff" onclick="$.get('/objects/?object=ThisComputer&op=m&m=poweroff&');">
&nbsp;<label for="poweroff" style="background: #8a1111; padding-left: 0px; padding-right: 0px; margin-right: -18px;"><span class="ui-btn-icon-left ui-icon-power"></span></label>
 </fieldset>
 
<script>
 var bar = $('span');
var p = $('p');

var width = bar.attr('style');
width = width.replace("width:", "");
width = width.substr(0, width.length-1);


var interval;
var start = 0; 
var end = parseInt(width);
var current = start;

var countUp = function() {
  current++;
  if (current === end) {
    clearInterval(interval);
  }
};

interval = setInterval(countUp, (1000 / (end + 1)));

 </script>
 <style>
  div.meter {
  position: relative;
  background:#90a6b5;
  width: 100%;
  height: 25px;
  border: 1px solid #b0b0b0;
  margin-top: 5px;
  /* viewing purposes */
  -webkit-box-shadow: inset 0 3px 5px 0 #d3d0d0;
  -moz-box-shadow: inset 0 3px 5px 0 #d3d0d0;
  box-shadow: inset 0 3px 5px 0 #d3d0d0;
  -webkit-border-radius: 12.5px;
  -moz-border-radius: 12.5px;
  -ms-border-radius: 12.5px;
  -o-border-radius: 12.5px;
  border-radius: 12.5px;
}
div.meter span {
  display: block;
  height: 100%;
  animation: grower 1s linear;
  -moz-animation: grower 1s linear;
  -webkit-animation: grower 1s linear;
  -o-animation: grower 1s linear;
  position: relative;
  top: -1px;
  left: -1px;
  -webkit-border-radius: 12.5px;
  -moz-border-radius: 12.5px;
  -ms-border-radius: 12.5px;
  -o-border-radius: 12.5px;
  border-radius: 12.5px;
  -webkit-box-shadow: inset 0px 3px 5px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: inset 0px 3px 5px 0px rgba(0, 0, 0, 0.2);
  box-shadow: inset 0px 3px 5px 0px rgba(0, 0, 0, 0.2);
  border: 1px solid #3c84ad;
  background: #6eb2d1;
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
  background-image: -ms-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
  -webkit-background-size: 45px 45px;
  -moz-background-size: 45px 45px;
  -o-background-size: 45px 45px;
  background-size: 45px 45px;
}
div.meter span:before {
  content: '';
  display: block;
  width: 100%;
  height: 50%;
  position: relative;
  top: 50%;
  background: rgba(0, 0, 0, 0.03);
}
div.meter p {
  position: absolute;
  top: 0;
  margin: 0 10px;
  line-height: 25px;
  font-family: 'Helvetica';
  font-weight: bold;
  -webkit-font-smoothing: antialised;
  font-size: 15px;
  color: #333;
  text-shadow: 0 1px rgba(255, 255, 255, 0.6);
}
div.meter p2 {
  position: absolute;
  margin: 0 10px;
  top: 0;
  right:0;
  margin: 10 0px;
  line-height: 25px;
  font-family: 'Helvetica';
  font-weight: bold;
  -webkit-font-smoothing: antialised;
  font-size: 15px;
  color: #333;
  text-shadow: 0 1px rgba(255, 255, 255, 0.6);
}

@keyframes grower {
  0% {
    width: 0%;
  }
}

@-moz-keyframes grower {
  0% {
    width: 0%;
  }
}

@-webkit-keyframes grower {
  0% {
    width: 0%;
  }
}

@-o-keyframes grower {
  0% {
    width: 0%;
  }
}
  </style>
За это сообщение автора nick7zmail поблагодарили (всего 2):
Samir77 (Чт апр 26, 2018 4:54 pm) • viktor6 (Чт окт 11, 2018 11:17 pm)
Рейтинг: 2.33%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
VAD07
Сообщения: 155
Зарегистрирован: Ср май 31, 2017 10:54 pm
Откуда: Киров
Благодарил (а): 55 раз
Поблагодарили: 11 раз

Re: [Виджет] состояния системы (процессора) с индикаторами (

Сообщение VAD07 » Вс апр 08, 2018 9:58 pm

Vovix писал(а):
Пт мар 30, 2018 9:42 pm
vitar78 писал(а):...
Хм чет не нашел, а где почитать
в профильной теме, вот например с этого места: https://majordomo.smartliving.ru/forum/ ... 480#p76070
Подскажите пожалуйста в чем может быть ошибка: не отображает температуру CPU и занятость HDD
Вложения
Безымянный.png
Безымянный.png (17.47 КБ) 6785 просмотров
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Виджет] состояния системы (процессора) с индикаторами (OHM)

Сообщение nick7zmail » Вс апр 08, 2018 10:02 pm

Нету нужных свойств.

Отправлено с моего Xperia XZ1 Compact через Tapatalk

Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
VAD07
Сообщения: 155
Зарегистрирован: Ср май 31, 2017 10:54 pm
Откуда: Киров
Благодарил (а): 55 раз
Поблагодарили: 11 раз

Re: [Виджет] состояния системы (процессора) с индикаторами (OHM)

Сообщение VAD07 » Вс апр 08, 2018 10:06 pm

nick7zmail писал(а):
Вс апр 08, 2018 10:02 pm
Нету нужных свойств.

Отправлено с моего Xperia XZ1 Compact через Tapatalk
это понятно но в программе OHM они есть в ThisComputer уже нету кроме CPU
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Виджет] состояния системы (процессора) с индикаторами (OHM)

Сообщение nick7zmail » Вс апр 08, 2018 10:32 pm

Вам скрипт вытягивания данных из OHM поправить надо под вашу систему. Он же не универсальный.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
VAD07
Сообщения: 155
Зарегистрирован: Ср май 31, 2017 10:54 pm
Откуда: Киров
Благодарил (а): 55 раз
Поблагодарили: 11 раз

Re: [Виджет] состояния системы (процессора) с индикаторами (OHM)

Сообщение VAD07 » Пн апр 09, 2018 8:48 pm

nick7zmail писал(а):
Вс апр 08, 2018 10:32 pm
Вам скрипт вытягивания данных из OHM поправить надо под вашу систему. Он же не универсальный.
извиняюсь а где именно править какие строки? как понимаю в сценарии OHM_data только что там и как не знаю
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Виджет] состояния системы (процессора) с индикаторами (OHM)

Сообщение nick7zmail » Пн апр 09, 2018 8:54 pm

Верно, в этом сценарии...строки после
//----------------------- Вытягиваем данные OHM ------
Считаете в OHM порядок пунктов, и меняете циферки на нужные.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
VAD07
Сообщения: 155
Зарегистрирован: Ср май 31, 2017 10:54 pm
Откуда: Киров
Благодарил (а): 55 раз
Поблагодарили: 11 раз

Re: [Виджет] состояния системы (процессора) с индикаторами (OHM)

Сообщение VAD07 » Пн апр 09, 2018 9:22 pm

nick7zmail писал(а):
Пн апр 09, 2018 8:54 pm
Верно, в этом сценарии...строки после
//----------------------- Вытягиваем данные OHM ------
Считаете в OHM порядок пунктов, и меняете циферки на нужные.
что то я не понял какие цифры менять? вот эти:$cpu_temp = (float) $json -> {'Children'}[0] -> {'Children'}[1] -> {'Children'}[1] -> {'Children'}[2] -> {'Value'}; но на что где взять нужные?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Виджет] состояния системы (процессора) с индикаторами (OHM)

Сообщение nick7zmail » Пн апр 09, 2018 9:46 pm

VAD07 писал(а):
Пн апр 09, 2018 9:22 pm
что то я не понял какие цифры менять? вот эти:$cpu_temp = (float) $json -> {'Children'}[0] -> {'Children'}[1] -> {'Children'}[1] -> {'Children'}[2] -> {'Value'}; но на что где взять нужные?
Да эти, менять на ваши. Я же написал - считаете порядок пунктов. Считать, естественно с нуля. Примерно так:
1.jpg
1.jpg (81.16 КБ) 6680 просмотров
Т.е. если хотите забрать температуру, скажем, видяхи - пишите

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

$gpu_temp = (float) $json -> {'Children'}[0] -> {'Children'}[3] -> {'Children'}[1] -> {'Children'}[0] -> {'Value'};
А вообще воспользовались бы модулем systeminfo. Там, мне кажется, интерфейс хоть какой нить есть для выбора (не уверен).
За это сообщение автора nick7zmail поблагодарил:
VAD07 (Вт апр 10, 2018 7:15 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить