1<?php
2
3$oids = snmp_walk($device, 'lmTempSensorsDevice', '-Osqn', 'LM-SENSORS-MIB');
4d_echo($oids . "\n");
5
6$oids = trim($oids);
7if ($oids) {
8    echo 'LM-SENSORS-MIB: ';
9    foreach (explode("\n", $oids) as $data) {
10        $data = trim($data);
11        if ($data) {
12            $divisor = 1000;
13            [$oid,$descr] = explode(' ', $data, 2);
14            $split_oid = explode('.', $oid);
15            $temperature_id = $split_oid[(count($split_oid) - 1)];
16            $temperature_oid = ".1.3.6.1.4.1.2021.13.16.2.1.3.$temperature_id";
17            $temperature = floatval(snmp_get($device, $temperature_oid, '-Ovq')) / $divisor;
18            $descr = str_ireplace('temperature-', '', $descr);
19            $descr = str_ireplace('temp-', '', $descr);
20            $descr = trim($descr);
21            if ($temperature >= 0 && $temperature <= 1000) {
22                discover_sensor($valid['sensor'], 'temperature', $device, $temperature_oid, $temperature_id, 'lmsensors', $descr, $divisor, 1, null, null, null, null, $temperature);
23            }
24        }
25    }
26}
27