From 207f9af937f7c347f5561a48d3b51a247ad5d343 Mon Sep 17 00:00:00 2001 From: Mike Dubman Date: Mon, 29 Sep 2025 16:20:45 +0300 Subject: [PATCH 1/2] fix(alarm): make getEmergencyTypes robust to missing capabilities and empty lists --- pyControl4/alarm.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pyControl4/alarm.py b/pyControl4/alarm.py index aecb476..c461254 100644 --- a/pyControl4/alarm.py +++ b/pyControl4/alarm.py @@ -141,13 +141,14 @@ async def getEmergencyTypes(self): data = await self.director.getItemInfo(self.item_id) jsonDictionary = json.loads(data) - if jsonDictionary[0]["capabilities"]["has_fire"]: + capabilities = jsonDictionary[0].get("capabilities", {}) if jsonDictionary else {} + if capabilities.get("has_fire"): types_list.append("Fire") - if jsonDictionary[0]["capabilities"]["has_medical"]: + if capabilities.get("has_medical"): types_list.append("Medical") - if jsonDictionary[0]["capabilities"]["has_panic"]: + if capabilities.get("has_panic"): types_list.append("Panic") - if jsonDictionary[0]["capabilities"]["has_police"]: + if capabilities.get("has_police"): types_list.append("Police") return types_list From cc8e35d09732a63c6307536be307c15e9ba31d08 Mon Sep 17 00:00:00 2001 From: Mike Dubman Date: Mon, 29 Sep 2025 17:27:51 +0300 Subject: [PATCH 2/2] style: format alarm.py with Black (branch-only); keep branch focused --- pyControl4/alarm.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pyControl4/alarm.py b/pyControl4/alarm.py index c461254..9d3bb64 100644 --- a/pyControl4/alarm.py +++ b/pyControl4/alarm.py @@ -141,7 +141,9 @@ async def getEmergencyTypes(self): data = await self.director.getItemInfo(self.item_id) jsonDictionary = json.loads(data) - capabilities = jsonDictionary[0].get("capabilities", {}) if jsonDictionary else {} + capabilities = ( + jsonDictionary[0].get("capabilities", {}) if jsonDictionary else {} + ) if capabilities.get("has_fire"): types_list.append("Fire") if capabilities.get("has_medical"):