filter setting fails if front end offline
This was supposed to be using EPICS_NOFAIL, but it still failed with a filter channel that wasn't available:
2023-04-27T00:18:20.317Z ISC_LOCK [DOWN.main] ezca: L1:SUS-ETMY_L2_OLDAMP_Y_RSET => 2
2023-04-27T00:18:21.951Z ISC_LOCK [DOWN.main] ezca: L1:SUS-ETMX_L1_DRIVEALIGN_L2P_RSET => 2
2023-04-27T00:18:21.960Z ISC_LOCK [DOWN.main] ezca: L1:SUS-ETMX_L1_DRIVEALIGN_L2Y_RSET => 2
2023-04-27T00:18:22.098Z ISC_LOCK [DOWN.main] ezca: L1:GRD-SQZ_MANAGER_REQUEST => INIT
2023-04-27T00:18:34.579Z ISC_LOCK [DOWN.main] ezca: L1:ASC-DHARD_P => OFF: OUTPUT
2023-04-27T00:18:38.580Z ISC_LOCK W: Traceback (most recent call last):
File "/opt/conda/base/envs/cds-py39-2023030301/lib/python3.9/site-packages/guardian/worker.py", line 494, in run
retval = statefunc()
File "/opt/rtcds/userapps/release/isc/l1/guardian/ISC_LOCK.py", line 558, in main
ezca.switch('ASC-' + stiffness + '_' + rot, 'OUTPUT', 'OFF')
File "/opt/conda/base/envs/cds-py39-2023030301/lib/python3.9/site-packages/ezca/ezca.py", line 521, in switch
return LIGOFilter(sfm_name, self).switch(*args, **kwargs)
File "/opt/conda/base/envs/cds-py39-2023030301/lib/python3.9/site-packages/ezca/ligofilter.py", line 489, in switch
mask |= self.__get_mask('on', switch_actions['ON'])
File "/opt/conda/base/envs/cds-py39-2023030301/lib/python3.9/site-packages/ezca/ligofilter.py", line 600, in __get_mask
for sw_name, current_value in self.get_current_switch_dict().items():
File "/opt/conda/base/envs/cds-py39-2023030301/lib/python3.9/site-packages/ezca/ligofilter.py", line 242, in get_current_switch_dict
return {sw_name: int(getattr(self, '_'+sw_name+'R').get()) for sw_name in const.FILTER_SW_NAMES}
File "/opt/conda/base/envs/cds-py39-2023030301/lib/python3.9/site-packages/ezca/ligofilter.py", line 242, in <dictcomp>
return {sw_name: int(getattr(self, '_'+sw_name+'R').get()) for sw_name in const.FILTER_SW_NAMES}
ValueError: cannot convert float NaN to integer