diff --git a/tangostationcontrol/tangostationcontrol/devices/temperature_manager.py b/tangostationcontrol/tangostationcontrol/devices/temperature_manager.py index c134d5150662cf868afb788439383ae9135281d1..e3567d4ccaf57e590415066d3e2be61f130d1fe4 100644 --- a/tangostationcontrol/tangostationcontrol/devices/temperature_manager.py +++ b/tangostationcontrol/tangostationcontrol/devices/temperature_manager.py @@ -138,9 +138,13 @@ class TemperatureManager(LOFARDevice): # unsubscribe from all events for attr_name in list(self.temp_error_attrs.keys()): - dev_attr = self.temp_error_attrs[attr_name] - dev_attr.proxy.unsubscribe_event(dev_attr.subscription_id) - del self.temp_error_attrs[attr_name] + try: + dev_attr = self.temp_error_attrs[attr_name] + dev_attr.proxy.unsubscribe_event(dev_attr.subscription_id) + except Exception as e: + raise Exception(f"Failed to unsubscribe from event regarding device {dev_attr.proxy.dev_name()} attribute {attr_name}") from e + finally: + del self.temp_error_attrs[attr_name] is_alarming_R = attribute( dtype=bool,