Sysinfo-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
Zeile 19: Zeile 19:
 
ln -s $SOURCEDIR/VDR/PLUGINS/src/sysinfo/script/sysinfosensors.sh /usr/local/bin
 
ln -s $SOURCEDIR/VDR/PLUGINS/src/sysinfo/script/sysinfosensors.sh /usr/local/bin
 
</pre>
 
</pre>
 +
 +
==Konfiguration ==
 +
Laut README ist die '''sysinfosensors.sh''' anzupassen, nur Notwendig wenn keine Daten im zweiten Block der OSD Ausgabe zu sehen sein sollten.
 +
 +
<pre>
 +
Cpu Temp:  xxxxxx      Fan1:  xxxxxx
 +
M/B Temp:  xxxxxx      Fan2:  xxxxxx
 +
</pre>
 +
 +
<pre>
 +
bash> sysinfosensors.sh
 +
 +
Usage: sysinfosensors.sh {cputemp|cpufan|mbtemp|mbfan}
 +
</pre>
 +
 +
Bsp:
 +
 +
<pre>
 +
bash> sysinfosensors.sh cputemp
 +
</pre>
 +
 +
Bekommt man hier keine Ausgabe, ist '''sensors''' aufzurufen.
 +
 +
<pre>
 +
bash> sensors
 +
as99127f-i2c-0-2d
 +
Adapter: SMBus Via Pro adapter at e800
 +
Algorithm: Non-I2C SMBus adapter
 +
VCore 1:  +1.72 V  (min =  +1.53 V, max =  +1.87 V)
 +
VCore 2:  +0.08 V  (min =  +1.53 V, max =  +1.87 V)
 +
+3.3V:    +3.37 V  (min =  +2.97 V, max =  +3.63 V)
 +
+5V:      +4.99 V  (min =  +4.50 V, max =  +5.48 V)
 +
+12V:    +11.86 V  (min = +10.79 V, max = +13.11 V)
 +
-12V:    -12.08 V  (min = -15.06 V, max = -12.32 V)      ALARM
 +
-5V:      -5.06 V  (min =  -5.48 V, max =  -4.50 V)
 +
fan1:    3792 RPM  (min = 3000 RPM, div = 2)
 +
fan2:        0 RPM  (min = 3000 RPM, div = 2)              ALARM
 +
fan3:        0 RPM  (min = 3000 RPM, div = 2)              ALARM
 +
temp1:      +33°C  (limit =  +60°C)
 +
temp2:    +224.0°C  (limit = +120°C, hysteresis = +100°C)        (beep)
 +
temp3:    +224.4°C  (limit = +120°C, hysteresis = +100°C)
 +
vid:      +1.700 V
 +
alarms:
 +
beep_enable:
 +
          Sound alarm enabled
 +
</pre>
 +
 +
Wir nehmen das mal ''auseinander''.
 +
 +
<pre>
 +
sensors | grep -i 'CPU TEMP' | cut -c 10-18 | tr -d ' '
 +
          ^                    ^              ^
 +
          ^                    ^              Löschen der Leerzeichen
 +
          ^                    ^
 +
          ^                    Gibt 'characters' aus, zeichen 10 bis 18
 +
          ^
 +
          Suchphrase lautet 'CPU TEMP', '-i' steht für 'ignore case distinctions' GROß/klein Schreibung
 +
</pre>
 +
 +
Folgende Änderung:
 +
 +
<pre>
 +
- sensors | grep -i 'CPU TEMP' | cut -c 10-18 | tr -d ' '
 +
+ sensors | grep -i '^temp1:' | cut -c 10-18 | tr -d ' '
 +
</pre>
 +
 +
Nun sollte sensors den gewünschten Wert ausgeben:
 +
 +
<pre>
 +
bash> sysinfosensors.sh cputemp
 +
+33°C
 +
</pre>
 +
 +
Bei den anderen Daten ist ähnlich zu verfahren.
  
 
==Probleme==
 
==Probleme==

Version vom 16. November 2004, 17:13 Uhr

Inhaltsverzeichnis

Beschreibung

Plugin zeigt Systeminformationen:

  • kernel version
  • cpu type
  • cpu frequenc
  • cpu usage
  • cpu free
  • total memory
  • memory free
  • memory usage
Sysinfo-plugin.jpg

Hardwareanforderungen

Softwareanforderungen

  • sensors (optional)

Installation

ln -s $SOURCEDIR/VDR/PLUGINS/src/sysinfo/script/sysinfosensors.sh /usr/local/bin

Konfiguration

Laut README ist die sysinfosensors.sh anzupassen, nur Notwendig wenn keine Daten im zweiten Block der OSD Ausgabe zu sehen sein sollten.

Cpu Temp:  xxxxxx       Fan1:  xxxxxx
M/B Temp:  xxxxxx       Fan2:  xxxxxx
bash> sysinfosensors.sh

Usage: sysinfosensors.sh {cputemp|cpufan|mbtemp|mbfan}

Bsp:

bash> sysinfosensors.sh cputemp

Bekommt man hier keine Ausgabe, ist sensors aufzurufen.

bash> sensors
as99127f-i2c-0-2d
Adapter: SMBus Via Pro adapter at e800
Algorithm: Non-I2C SMBus adapter
VCore 1:   +1.72 V  (min =  +1.53 V, max =  +1.87 V)
VCore 2:   +0.08 V  (min =  +1.53 V, max =  +1.87 V)
+3.3V:     +3.37 V  (min =  +2.97 V, max =  +3.63 V)
+5V:       +4.99 V  (min =  +4.50 V, max =  +5.48 V)
+12V:     +11.86 V  (min = +10.79 V, max = +13.11 V)
-12V:     -12.08 V  (min = -15.06 V, max = -12.32 V)       ALARM
-5V:       -5.06 V  (min =  -5.48 V, max =  -4.50 V)
fan1:     3792 RPM  (min = 3000 RPM, div = 2)
fan2:        0 RPM  (min = 3000 RPM, div = 2)              ALARM
fan3:        0 RPM  (min = 3000 RPM, div = 2)              ALARM
temp1:       +33°C  (limit =  +60°C)
temp2:    +224.0°C  (limit = +120°C, hysteresis = +100°C)        (beep)
temp3:    +224.4°C  (limit = +120°C, hysteresis = +100°C)
vid:      +1.700 V
alarms:
beep_enable:
          Sound alarm enabled

Wir nehmen das mal auseinander.

sensors | grep -i 'CPU TEMP' | cut -c 10-18 | tr -d ' '
          ^                    ^              ^
          ^                    ^              Löschen der Leerzeichen
          ^                    ^
          ^                    Gibt 'characters' aus, zeichen 10 bis 18
          ^
          Suchphrase lautet 'CPU TEMP', '-i' steht für 'ignore case distinctions' GROß/klein Schreibung

Folgende Änderung:

- sensors | grep -i 'CPU TEMP' | cut -c 10-18 | tr -d ' '
+ sensors | grep -i '^temp1:' | cut -c 10-18 | tr -d ' '

Nun sollte sensors den gewünschten Wert ausgeben:

bash> sysinfosensors.sh cputemp
+33°C

Bei den anderen Daten ist ähnlich zu verfahren.

Probleme

  • Bei älteren Versionen von "ps" (welches genutzt wird um "cpu free" anzuzeigen), kann es Probleme mit der Syntax geben sysinfoosd.c:
// Calculate cpu free
ExecShellCmd("CPU=0; for I in `ps -eo ""%C"" | grep ""\\.""`; do CPU=`echo $CPU $I | awk '{ print $1 + $2 }'`; done; echo $CPU", cTemp);
                               ^^^^^^^^^^^^^
  • Sieht man am besten auf der Konsole, anstatt einzelne WERTE... wird (not found) ausgegeben:
~# ps e%C
spec value %C not found
  • Änderung:
// Calculate cpu free
- ExecShellCmd("CPU=0; for I in `ps -eo ""%C"" | grep ""\\.""`; do CPU=`echo $CPU $I | awk '{ print $1 + $2 }'`; done; echo $CPU", cTemp);
+ ExecShellCmd("CPU=0; for I in `ps xu | awk '{ print $3 }' | grep ""\\.""`; do CPU=`echo $CPU $I | awk '{ print $1 + $2 }'`; done; echo $CPU", cTemp);
  • Script zum einlesen der Daten von Sensors, wird nur unter /usr/bin ausgeführt, nicht unter /usr/local/bin
sed -i "s/sysinfosensors/\/usr\/local\/bin\/sysinfosensors/" *
  • Plugin wurde nicht nach den konventionen gepackt... Siehe

Links

[1] http://secure.netroedge.com/~lm78 Sensors Projekt
[2] http://www.antbear.org/linux24_lm_sensors.html Sensors Howto
[1] http://kikko77.altervista.org Homepage des Plugins