Sysinfo-plugin

Aus VDR Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Beschreibung

Autor: Alberto Pachera

Plugin zeigt Systeminformationen:

  • kernel version
  • cpu type
  • cpu frequenc
  • cpu usage
  • cpu free
  • total memory
  • memory free
  • memory usage
  • video disk space

Bilder

kurze beschreibung
vergrößern
kurze beschreibung

Softwareanforderungen

  • sensors (optional)

Installation

Source

Arch-Linux

pacman -S lm_sensors

Crux

prt-get depinst lm_sensors

Debian

apt-get install lm-sensors

Gentoo

emerge lm_sensors

SuSE

yast -i sensors

Konfiguration

Link setzen.

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

Laut README muß die sysinfo.sh nur dann angepasst werden, 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> sysinfo.sh

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

Bsp:

bash> sysinfo.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> sysinfo.sh cputemp
+33°C

Bei den anderen Daten ist ähnlich zu verfahren.


Sonstiges

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);


Links

  1. Sensors Projekt
  2. Sensors Howto
  3. Homepage des Plugins tw. eng. Rest italienisch