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.
@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?
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.
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
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...
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.
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.
$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);