Proxmox Temperatur mit dem linux-control Adapter auslesen
In diesem Artikel zeige ich Dir, wie Du die System Temperatur über Proxmox sowie dem linux-control Adapter für ioBroker auslesen kannst.
Im letzten Artikel habe ich Dir den linux-control Adapter gezeigt. Mit dem ioBroker Adapter kannst Du über Deine ioBroker Umgebung Linux-Kommandos über die shell ausführen und das Ergebnis in ioBroker verarbeiten. In diesem Artikel werden wir nun einen weiteren Befehl hinzufügen, mit dem wir die System-Temperatur auslesen und ioBroker verwenden können.
Für das Auslesen der System-Temperaturen verwende ich das Tool lm-sensors. Mit dem Tool können einige Informationen wie z.B. die Temperatur oder die Lüfterdrehzahlen ausgelesen werden.
Das Tool kann ganz einfach über den Package-Manager installiert werden. Ich habe für die Installation und Konfiguration den User root verwendet. Für die Installation gibst Du folgendes Kommando in Deine Shell ein:
apt-get install lm-sensors
Nach der Installation des Tools müssen im nächsten Schritt die Sensoren erkannt werden. Dies geschieht mit folgendem Aufruf:
sensors detect
Wir haben nun das Tool installiert und können im nächsten Schritt mit dem folgenden Befehl eine komplette Ausgabe der Sensor-Informationen erstellen:
sensors
Der Befehl erzeugt nun folgende Ausgabe in der Shell.
Die obere Anzeige variiert natürlich je nach eingesetztem System. Im nächsten Schritt möchte ich nun die CPU-Temperatur auslesen. Hierfür verwenden wir das Tool grep (Global Regular Expression Print). Mit dem Tool kann man Texte komfortabel durchsuchen. Mit dem folgenden Befehl können wir uns nun die Temperatur des Package id 0 auslesen und darstellen.
sensors | grep Package -m 1 | awk '{print $4}' | awk '{print substr($1, length($0)-6,2)}'
Durch den grep sowie die awk wird dann die reine Temperatur zurückgegeben.
Im nächsten Schritt wechseln wir nun in die Adapter-Konfiguration des Adapters linux-control. Hier können wir unter Meine Befehle einen neuen Befehl hinterlegen. Als Host habe ich hier proxmox gewählt. Als Datenpunkt-ID habe ich temperatur sowie das Abfrageintervall von 60 Sekunden gewählt. Als optionale Description habe ich hier die Aufgabe des Befehls dokumentiert. Füge dann den Befehl in das Feld ein. Als Typ habe ich hier Zahl gewählt.
Somit können wir über den linux-control Adapter natürlich auch weitere Informationen rund um das Linux-System auslesen.
Ich hoffe Dir gefällt der Artikel. Ich freue mich über Deinen Kommentar oder Fragen.
Hallo,
wollte nur mal Danke sagen für all die hilfreichen Artikel in diesen Blog. Ich weiß den Aufwand zu schätzen. Mir haben schon einige Artikel wirklich weiter geholfen.
Mir als Programmier- Legasteniker helfen insbesondere solche Reihen wie z.B. zu Jarvis, um einen Einstieg zu bekommen. Die holen mich da ab, wo ich bin 🙂
Nochmals vielen Dank
Chris
PS: Kaffee ist unterwegs
Vielen lieben Dank 🙂
ich musste
sensors-detect
statt
sensors detect
nutzen. ohne Minus wirft er einen Fehler
Hallo,
danke für den Beitrag.
Ich habe ein i5-System mit 4 Kernen. Die einzelnen Core-Temperaturen lassen sich wie folgt abrufen:
Für Core 0: sensors | grep ‚Core 0‘ -m 1 | awk ‚{print $3}‘ | awk ‚{print substr($1,2,4)}‘
Für Core 1 bis 3 einfach ‚Core 0‘ durch den entsprechenden Wert ersetzen.
Danke!!