Javier Szyszlican * This program is licensed under the GNU GPL, full terms in the LICENSE file */ function poller_ups_line ($options) { $upstype = $options["upstype"]; switch($upstype) { case "ups": $UPSMIB = ".1.3.6.1.2.1.33"; //SNMPv2-SMI::mib-2.33 $upsInputs = $UPSMIB.".1.3.3.1"; //UPS-MIB::upsInputEntry $upsOutputs = $UPSMIB.".1.4.4.1"; //UPS-MIB::upsOutputEntry $multiplier = 1; break; case "ups_mitsu": $UPSMIB = ".1.3.6.1.4.1.13891.101"; $upsInputs = $UPSMIB.".3.3.1"; //Mitsubishi Diamondlink $upsOutputs = $UPSMIB.".4.4.1"; //Mitsubishi Diamondlink $multiplier = .1; //Mitsubishi returns voltage/current as 0.1 incriments break; } $upsInputsIndex = $upsInputs.".1"; $upsOutputsIndex = $upsOutputs.".1"; $upsInputVoltage = $upsInputs.".3"; $upsOutputVoltage = $upsOutputs.".2"; $upsInputCurrent = $upsInputs.".4"; $upsOutputCurrent = $upsOutputs.".3"; $upsInputPower = $upsInputs.".5"; $upsOutputPower = $upsOutputs.".4"; $upsOutputLoad = $upsOutputs.".5"; $input = ($options["line_type"]=="INPUT")?true:false; switch ($options["poller_name"]) { case "voltage" : $oid = ($input)?$upsInputVoltage:$upsOutputVoltage; $value = poller_ups_line_multiplier($options, $multiplier, $oid); break; case "current" : $oid = ($input)?$upsInputCurrent:$upsOutputCurrent; $value = poller_ups_line_multiplier($options, $multiplier, $oid); break; case "power" : if($upstype == "ups_mitsu") { //only get wattage on Mitsubishi UPS $oid = ($input)?$upsInputPower:$upsOutputPower; $value = poller_ups_line_nomultiplier($options, $oid); } break; case "load" : $oid = ($input)?false:$upsOutputLoad; $value = poller_ups_line_nomultiplier($options, $oid); break; } return $value; } function poller_ups_line_multiplier ($options, $multiplier, $oid) { if (!empty($oid)) { $oid .= ".".$options["line_index"]; $myvalue = snmp_get($options["host_ip"], $options["ro_community"], $oid); $value = ($myvalue * $multiplier); } return $value; } function poller_ups_line_nomultiplier ($options, $oid) { if (!empty($oid)) { $oid .= ".".$options["line_index"]; $value = snmp_get($options["host_ip"], $options["ro_community"], $oid); } return $value; } ?>