@@ -158,7 +158,11 @@ def discovery_unifi_sites(section):
158158 yield Service (item = f"{ _item .desc } " )
159159
160160def check_unifi_sites (item ,params ,section ):
161- site = next (filter (lambda x : x .desc == item ,section .values ()))
161+ try :
162+ site = next (filter (lambda x : x .desc == item ,section .values ()))
163+ except StopIteration :
164+ return
165+
162166 yield Metric ("satisfaction" ,max (0 ,_safe_int (site .satisfaction )))
163167
164168 if site .lan_status != "unknown" :
@@ -540,7 +544,11 @@ def check_unifi_network_port_if( ##fixme parsed_section_name
540544 section : Section ,
541545) -> CheckResult :
542546 _converted_ifs = _convert_unifi_counters_if (section )
543- iface = next (filter (lambda x : _safe_int (item ,- 1 ) == _safe_int (x .index ) or item == x .alias ,_converted_ifs ),None ) ## fix Service Discovery appearance alias/descr
547+ try :
548+ iface = next (filter (lambda x : _safe_int (item ,- 1 ) == _safe_int (x .index ) or item == x .alias ,_converted_ifs ),None ) ## fix Service Discovery appearance alias/descr
549+ except StopIteration :
550+ return
551+
544552 yield from interfaces .check_multiple_interfaces (
545553 item ,
546554 params ,
@@ -628,7 +636,11 @@ def discovery_unifi_radios(section):
628636
629637def check_unifi_radios (item ,section ):
630638 _item = { "2.4Ghz" : "ng" , "5Ghz" : "na" }.get (item )
631- radio = next (filter (lambda x : x .radio == _item ,section .values ()))
639+ try :
640+ radio = next (filter (lambda x : x .radio == _item ,section .values ()))
641+ except StopIteration :
642+ return
643+
632644 yield Metric ("read_data" ,_safe_int (radio .rx_bytes ))
633645 yield Metric ("write_data" ,_safe_int (radio .tx_bytes ))
634646 yield Metric ("satisfaction" ,max (0 ,_safe_int (radio .satisfaction )))
@@ -672,7 +684,11 @@ def discovery_unifi_ssids(section):
672684 yield Service (item = _ssid )
673685
674686def check_unifi_ssids (item ,section ):
675- ssid = section .get (item )
687+ try :
688+ ssid = section [item ]
689+ except KeyError :
690+ return
691+
676692 _channels = "," .join (list (filter (lambda x : _safe_int (x ) > 0 ,[ssid .ng_channel ,ssid .na_channel ])))
677693 yield Result (
678694 state = State .OK ,
@@ -731,7 +747,11 @@ def discovery_unifi_ssidlist(section):
731747 yield Service (item = _ssid )
732748
733749def check_unifi_ssidlist (item ,section ):
734- ssid = section .get (item )
750+ try :
751+ ssid = section [item ]
752+ except KeyError :
753+ return
754+
735755 yield Result (
736756 state = State .OK ,
737757 summary = f"Channels: { ssid .channels } "
0 commit comments