--- /usr/local/lib64/nagios/plugins/contrib/check_openmanage    2009-05-26 13:27:07.000000000 +0200
+++ /usr/local/lib64/nagios/plugins/contrib/check_openmanage.NEW        2009-09-29 08:14:18.159024875 +0200
@@ -1287,22 +1287,31 @@

        # Special case: Charging
        if ($state eq 'Charging') {
+           next BATTERY if blacklisted('bat_charge', $nexus);
            push @report_storage, [ sprintf('Cache battery %d in controller %d is %s (%s) [probably harmless]',
                                            $id, $ctrl, $state, $pred),
                                    $WARNING, $nexus ];
        }
        # Special case: Learning (whats this?)
        elsif ($state eq 'Learning') {
+           next BATTERY if blacklisted('bat_charge', $nexus);
            push @report_storage, [ sprintf('Cache battery %d in controller %d is %s (%s) [probably harmless]',
                                            $id, $ctrl, $state, $learn),
                                    $WARNING, $nexus ];
        }
        # Special case: Power Low (part of recharge cycle?)
        elsif ($state eq 'Power Low') {
+           next BATTERY if blacklisted('bat_charge', $nexus);
            push @report_storage, [ sprintf('Cache battery %d in controller %d is %s [probably harmless]',
                                            $id, $ctrl, $state),
                                    $WARNING, $nexus ];
        }
+       elsif ($state eq 'Degraded' && $status eq 'Non-Critical') {
+           next BATTERY if blacklisted('bat_charge', $nexus);
+           push @report_storage, [ sprintf('Cache battery %d in controller %d needs attention (%s / %s) [probably harmless]',
+                                           $id, $ctrl, $state, $status),
+                                   $WARNING, $nexus ];
+       }
        # Default
        elsif ($status ne 'Ok') {
            push @report_storage, [ sprintf('Cache battery %d in controller %d needs attention (%s / %s)',
