From 11bbb5cf5bc136bd91fc9a413dfa23125a0124da Mon Sep 17 00:00:00 2001 From: Ben Campbell Date: Wed, 20 Mar 2024 23:16:17 +0000 Subject: [PATCH 1/2] Options fix (#28) * Fix options checking --------- Co-authored-by: Meatballs1 --- HCDevice.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/HCDevice.py b/HCDevice.py index ffc20e8..b72ff21 100755 --- a/HCDevice.py +++ b/HCDevice.py @@ -119,10 +119,11 @@ class HCDevice: ) if "options" in data: - for option_uid in data["options"]: + for option in data["options"]: + option_uid = option["uid"] if str(option_uid) not in self.features: raise ValueError( - f"Unable to configure appliance. Option UID {uid} is not" + f"Unable to configure appliance. Option UID {option_uid} is not" " valid for this device." ) From 3336885325f7a78778419b6e59104029b04860e0 Mon Sep 17 00:00:00 2001 From: Ben Campbell Date: Wed, 20 Mar 2024 23:16:34 +0000 Subject: [PATCH 2/2] Use a copy of topics (#29) Co-authored-by: Meatballs1 --- hc2mqtt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hc2mqtt b/hc2mqtt index dd1237c..34ecf53 100755 --- a/hc2mqtt +++ b/hc2mqtt @@ -116,7 +116,7 @@ def client_connect(client, device, mqtt_topic): print(now(), device_name, "ERROR", e, file=sys.stderr) host = device["host"] - device_topics = topics + device_topics = topics.copy() active_program = False for value in device["features"]: