CPU Temperatur im WF anzeigen

Hallo sunni2002,

Das läuft bei mir direkt mit PHP über snmpget seit ein paar Jahren. Das Problem in deinem Fall liegt aber vielleicht daran, dass die Lösung im Wiki anscheinend ein Get macht und kein Walk. Deine OID ist ein Baum für alle Werte deiner ersten HDD. Versuche nur die OID der HDD Temperatur anzugeben. Einfach eine 1 dazu.

So mache ich es mit snmpget:


$HDD1TempSNMP = @snmpget("$host","public",".1.3.6.1.4.1.24681.1.2.11.1.3.1");
$HDD1Temp = (float)substr(str_replace("STRING: ", "", $HDD1TempSNMP), 1, 3);

Gruß
Zapp

Hi Zapp,

Die OID mit nur der HDD Temp. habe ich auch schon versucht gehabt … leider ohne Erfolg.
Habe es jetzt wieder auf den alten Weg mit OpenSSL 0.9.8. versucht (http://www.ip-symcon.de/forum/threads/20593-PHP-Extension-quot-php-snmp-dll-quot-wird-nicht-installiert?p=210298#post210298) und so funktioniert es einwandfrei. Habe nur bedenken, wenn ich ein Liveupdate mache, dass es dann wieder weg ist :frowning:
Ich verstehe ohnehin nicht, dass auf der Wiki Seite (http://www.ip-symcon.de/wiki/SNMP)auf dieses externe Programm verwiesen wird, mit dem es nicht richtig funktioniert.

@All: Wie lest ihr die Werte per SNMP ein? Auch mit der OpenSSL 0.9.8.? Wie sieht es nach einem Update aus? An welche Beschreibung soll man sich jetzt halten?

Dann musst Du halt die beiden Haken für die Dateien rausmachen und schon passiert nix mehr :eek:

Gruß
Bruno

Wenns anders nicht funzt … dann wird mans halt so machen müssen …

Genau so mach ich das. Ich nehme seit Ewigkeiten systematisch die Hacken weg. Und vorsichtshalber habe ich ein Backup der beiden dlls, falls ich es mal vergesse.

Gruß
Zapp

Hallo,

ich wollte nur mal den Beitrag wieder hoch holen denn diese Methode funktioniert immer noch

Besten Dank an manni!!:slight_smile:

Gruß
Thomas

Hallo!

Stehe grad ein wenig auf dem Schlauch!

OHM läuft…

Aber was muß ich hier eintragen?
$value[‚0‘]->SensorValue);

Danke
Erwoolf

Moin Erwoolf,

welch ein Zufall, dass ich ebenfalls mein bisheriges Verfahren mit Auswertung des Logs von HWiNFO64 auf Remote Sensor Monitor umstelle :slight_smile:

Lass dir mal mit

print_r($value);

die Daten alle ausgeben. Du erhältst dann so etwas

 Array
(
    [0] => stdClass Object
        (
            [SensorApp] => HWiNFO
            [SensorClass] => CPU [#0]: Intel Core i5-6600K: DTS
            [SensorName] => Core #0
            [SensorValue] => 23
            [SensorUnit] => °C
            [SensorUpdateTime] => 1568043921
        )

    [1] => stdClass Object
        (
            [SensorApp] => HWiNFO
            [SensorClass] => CPU [#0]: Intel Core i5-6600K: DTS
            [SensorName] => Core #1
            [SensorValue] => 27
            [SensorUnit] => °C
            [SensorUpdateTime] => 1568043921
        )

    [2] => stdClass Object
        (
            [SensorApp] => HWiNFO
            [SensorClass] => CPU [#0]: Intel Core i5-6600K: DTS
            [SensorName] => Core #2
            [SensorValue] => 23
            [SensorUnit] => °C
            [SensorUpdateTime] => 1568043921
        )

Dort siehst du dann das im Array[0] ein stdClass Object mit dem SensorValue mit dem Wert 23 existiert.
mit

SetValue(xxxxx, $value['0']->SensorValue);

wird dieser Wert 23 in eine Variable geschrieben mit xxxxx. Diese musst du also vorher anlegen und deren Nummer für xxxxx eintragen. Der Typ könnte hier eine Integer Variable sein.

Analog dazu kannst du über die Datenstruktur dann an alle Werte kommen die dich interessieren. Noch ein Tipp, wenn du statt OHM HWiNFO64 verwendest bekommst du deutlich mehr Werte, wie z. B. auch die Umdrehungen der Lüfter :wink:

Gruß
Hans

Bei mir läuft der Remote Sensor Monitor nicht richtig!

Mit OHM:


Starting Remote Sensor Monitor on port 55555...

HWiNFO enabled, but HWiNFO process not found! Disabling HWiNFO...

GPU-Z enabled, but GPU-Z process not found! Disabling GPU-Z...

AIDA64 enabled, but AIDA64 process not found! Disabling AIDA64...

Open Hardware Monitor DLL found! Enabling Open Hardware Monitor...

Please wait for the web server to start...............
Unbehandelte Ausnahme: System.ArgumentException: Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt.
   bei System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   bei System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   bei System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
   bei RemoteSensorMonitor.GlobalOptions.InitializeEnabledStatus()
   bei RemoteSensorMonitor.GlobalOptions.ProcessStartupOptions(String[] args)
   bei RemoteSensorMonitor.Program.Main(String[] args)

mit HWiNFO64


Starting Remote Sensor Monitor on port 55555...

HWiNFO process found! Enabling HWiNFO...

GPU-Z enabled, but GPU-Z process not found! Disabling GPU-Z...

AIDA64 enabled, but AIDA64 process not found! Disabling AIDA64...

Open Hardware Monitor DLL found! Enabling Open Hardware Monitor...

Please wait for the web server to start..An error occured while opening the HWiNFO shared memory! - Die angegebene Datei konnte nicht gefunden werden.
Press ENTER to exit program...

Moin,

den 2. Fehler hatte ich am Anfang auch. Ruf mal zunächst die HWiNFO64.exe mit Sensors only auf.

Danach dann

"Remote Sensor Monitor.exe" -p 55555 --hwinfo=1 --gpuz=0 --aida64=0 --ohm=0

Wichtig, es darf kein = Zeichen hinter -p sein, siehe auch hier Introducing : Remote Sensor Monitor - A RESTful Web Server | HWiNFO Forum und schau dir Post #14 an. Die Syntax ist vom Author nicht so wie beschrieben :eek:

An der Ausgabe kannst du dann auch erkennen, welches Programm die Daten übertragen hat - hier HWiNFO:

Array
(
[0] => stdClass Object
(
[SensorApp] => HWiNFO
[SensorClass] => CPU [#0]: Intel Core i5-6600K: DTS
[SensorName] => Core #0
[SensorValue] => 25
[SensorUnit] => °C
[SensorUpdateTime] => 1568053769
)

[1] => stdClass Object
    (
        [SensorApp] => HWiNFO
        [SensorClass] => CPU [#0]: Intel Core i5-6600K: DTS
        [SensorName] => Core #1
        [SensorValue] => 29
        [SensorUnit] => °C
        [SensorUpdateTime] => 1568053769
    )

[2] => stdClass Object
    (
        [SensorApp] => HWiNFO
        [SensorClass] => CPU [#0]: Intel Core i5-6600K: DTS
        [SensorName] => Core #2
        [SensorValue] => 29
        [SensorUnit] => °C
        [SensorUpdateTime] => 1568053769
    )

[3] => stdClass Object
    (
        [SensorApp] => HWiNFO
        [SensorClass] => CPU [#0]: Intel Core i5-6600K: DTS
        [SensorName] => Core #3
        [SensorValue] => 26
        [SensorUnit] => °C
        [SensorUpdateTime] => 1568053769
    )

[4] => stdClass Object
    (
        [SensorApp] => HWiNFO
        [SensorClass] => CPU [#0]: Intel Core i5-6600K: DTS
        [SensorName] => Core Max
        [SensorValue] => 29
        [SensorUnit] => °C
        [SensorUpdateTime] => 1568053769
    )

[5] => stdClass Object
    (
        [SensorApp] => HWiNFO
        [SensorClass] => ASUS Z170 PRO GAMING (Nuvoton NCT6793D)
        [SensorName] => CPU
        [SensorValue] => 547
        [SensorUnit] => RPM
        [SensorUpdateTime] => 1568053769
    )

)

Bei mir funktioniert mit entsprechend geändertem Aufruf auch OHM aber das liefert nicht die Umdrehungszahl. Man kann auch beides aktivieren, wenn der Aufruf wie folgt ist.

"Remote Sensor Monitor.exe" -p 55555 --hwinfo=1 --gpuz=0 --aida64=0 --ohm=1

Das Problem, dass man nach dem Aufruf von HWiNFO64 noch Enter betätigen muss habe ich aktuell mit AutoIt gelöst. Vielleicht gibt es da ja noch einen besseren Weg.

Gruß
Hans

Hi,

noch ein Nachtrag: das Betätigen von Enter kann man über die Settings verhindern :wink:

HWiNFO.JPG

Gruß
Hans

Danke Hans!!!

Läuft jetzt!

Gibt’s da eigentlich auch etwas für Raspberry´s ?

Moin,

hier SSH per PHP z.B. um AppleScript auszuführen mit Siri Beispiel :slight_smile: ist beschrieben, wie du dich auf dem Pi anmelden kannst und das wären Befehle für Temperatur und Last :wink:

$Temp = floatval($ssh->exec("cat /sys/class/thermal/thermal_zone0/temp")) / 1000;
SetValueFloat($IdTemp, $Temp);

/*
Um Last auf einem Pi zu Testzwekcen zu erzeugen:	md5sum /dev/urandom
Um die Last am Pi anzuzeigen:								cat /proc/loadavg
Gibt 3 Mittelwerte als String zurück für 1 Min, 5 Min und 15 Min. Der 1 Min
Wert wird für die Anzeige verwendet.
*/
$PercentLoad = intval(floatval($ssh->exec("cat /proc/loadavg")) * 100);
SetValueInteger($IdPercentLoad, $PercentLoad);

Weitere Varianten findet man zahlreich im Netz :slight_smile:

Gruß
Hans