librenms/includes/polling/toner.inc.php

32 lines
1.2 KiB
PHP
Raw Normal View History

<?php
$toner_data = dbFetchRows('SELECT * FROM toner WHERE device_id = ?', array($device['device_id']));
foreach ($toner_data as $toner) {
echo 'Checking toner '.$toner['toner_descr'].'... ';
2016-10-14 23:14:18 +00:00
$raw_toner = snmp_get($device, $toner['toner_oid'], '-OUqnv');
$tonerperc = get_toner_levels($device, $raw_toner, $toner['toner_capacity']);
echo $tonerperc." %\n";
$tags = array(
'rrd_def' => 'DS:toner:GAUGE:600:0:20000',
'rrd_name' => array('toner', $toner['toner_index']),
'rrd_oldname' => array('toner', $toner['toner_descr']),
'index' => $toner['toner_index'],
);
data_update($device, 'toner', $tags, $tonerperc);
2015-08-19 20:58:02 +00:00
2016-10-14 23:14:18 +00:00
// Log empty supplies (but only once)
if ($tonerperc == 0 && $toner['toner_current'] > 0) {
log_event('Toner '.$toner['toner_descr'].' is empty', $device, 'toner', $toner['toner_id']);
}
// Log toner swap
if ($tonerperc > $toner['toner_current']) {
log_event('Toner '.$toner['toner_descr'].' was replaced (new level: '.$tonerperc.'%)', $device, 'toner', $toner['toner_id']);
}
dbUpdate(array('toner_current' => $tonerperc, 'toner_capacity' => $toner['toner_capacity']), 'toner', '`toner_id` = ?', array($toner['toner_id']));
}//end foreach