diff --git a/README.md b/README.md index 1d9513ced416c37b6f7f86289c6df21c376efe4a..5c5431b2f40f4525be3017ec24c041cc4682dd57 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,7 @@ Next change the version in the following places: # Release Notes +* 0.11.1 Fix event unsubscription in TemperatureManager * 0.11.0 Added StationManager device * 0.10.0 Add `AntennaToSdpMapper` and fpga_sdp_info_* mapped attributes in `Antennafield` device * 0.9.0 Statistics writer: moved the whole functionality to lofar-station-client repository diff --git a/tangostationcontrol/VERSION b/tangostationcontrol/VERSION index d9df1bbc0c7befdbc28d61efc28ed3e5c08d015f..af88ba824866fdf61bd6e3c8f83203f5d93d062b 100644 --- a/tangostationcontrol/VERSION +++ b/tangostationcontrol/VERSION @@ -1 +1 @@ -0.11.0 +0.11.1 diff --git a/tangostationcontrol/tangostationcontrol/devices/temperature_manager.py b/tangostationcontrol/tangostationcontrol/devices/temperature_manager.py index d68bbfe3247486cdf1a77b3466fa59c88917348a..35aca48310b97f6b8b0ba9d02cf010d7659b9e3d 100644 --- a/tangostationcontrol/tangostationcontrol/devices/temperature_manager.py +++ b/tangostationcontrol/tangostationcontrol/devices/temperature_manager.py @@ -137,9 +137,16 @@ class TemperatureManager(LOFARDevice): super().configure_for_off() # unsubscribe from all events - for dev_attr in self.temp_error_attrs.values(): - dev_attr.proxy.unsubscribe_event(dev_attr.subscription_id) - del dev_attr + for attr_name in list(self.temp_error_attrs.keys()): + 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,