My first time submitting to a forum like this so my apologies. I
I am adding ICT Power ICT200DB-12IRC power panels into librenms and I noticed that the current sensors for the individual power breakers are only showing as 0 on the graphs. Searching the forums I see where someone else reported similar problem back in 2019 but did not see a resolution. The poller is reporting:
Warning: is_nan() expects parameter 1 to be float, string given in /opt/librenms/includes/polling/functions.inc.php on line 165
Warning: A non-numeric value encountered in /opt/librenms/includes/polling/functions.inc.php on line 171
Here is a pastebin of the full poller output.
https://p.libren.ms/view/f8f8ad77
I was able to come up with a resolution by updating /opt/librenms/includes/polling/sensors/current/ict-pdu.inc.php with an elseif to match on the oids it is polling and execute them differently. JUst thought I’d share!
$oid_sensor = $sensor['sensor_oid'];
if ($oid_sensor == '.1.3.6.1.4.1.39145.10.8.1.4.0') {
$sensor_value = abs(trim(str_replace('"', '', $snmp_data[$oid_sensor])));
} elseif (preg_match('/.1.3.6.1.4.1.39145.10.8.1.3|.1.3.6.1.4.1.39145.10.7.0/i', $oid_sensor)) {
$sensor_value = abs(trim(str_replace('"', '', $snmp_data[$sensor['sensor_oid']])));
} else {
$sensor_value = trim(str_replace('"', '', $snmp_data[$sensor['sensor_oid'] . '.0']));
}