diff --git a/src/calng/CalibrationManager.py b/src/calng/CalibrationManager.py index 69570eae430f2ea9baac9fa0efddc9212a46cd4c..3e468a62a001b7356991a09a67fb8c3b1dce29fa 100644 --- a/src/calng/CalibrationManager.py +++ b/src/calng/CalibrationManager.py @@ -319,7 +319,7 @@ class CalibrationManager(DeviceClientBase, Device): scene_data = scenes.manager_device_overview_scene( self.deviceId, self._correction_device_schema, - self._correction_device_ids) + sorted(self._correction_device_ids)) payload = Hash('success', True, 'name', name, 'data', scene_data) return Hash('type', 'deviceScene', 'origin', self.deviceId, diff --git a/src/calng/scenes.py b/src/calng/scenes.py index a3ec9ce3ce8473bccb85c38b78afc470bd2eb316..8f6f3aabd500a4072de78de8fa279e0579310a5c 100644 --- a/src/calng/scenes.py +++ b/src/calng/scenes.py @@ -4,6 +4,7 @@ import karathon from karabo.common.scenemodel.api import ( CheckBoxModel, ColorBoolModel, + DeviceSceneLinkModel, DisplayCommandModel, DisplayLabelModel, DisplayStateColorModel, @@ -433,8 +434,12 @@ class CorrectionDeviceStatus: class CompactCorrectionDeviceOverview: def __init__(self, device_id, schema_hash): - self.name = LabelModel( - text=device_id.split("/")[-1], width=5 * BASE_INC, height=BASE_INC + self.name = DeviceSceneLinkModel( + text=device_id.split("/")[-1], + keys=[f"{device_id}.availableScenes"], + target="overview", + width=5 * BASE_INC, + height=BASE_INC ) self.status = DisplayStateColorModel( show_string=True,