From 6865eb5e193a57a211dac366528257f2d37bc278 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Mon, 27 Apr 2026 15:15:44 +0200 Subject: [PATCH] Bugfix 1 --- .../custom_components/sternwarte/api.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sternwarte-homeassistant-integration/custom_components/sternwarte/api.py b/sternwarte-homeassistant-integration/custom_components/sternwarte/api.py index 082eb2a..2b6e266 100644 --- a/sternwarte-homeassistant-integration/custom_components/sternwarte/api.py +++ b/sternwarte-homeassistant-integration/custom_components/sternwarte/api.py @@ -84,18 +84,19 @@ class SternwarteApi: state = SternwarteState() out_index = parts.index("output") if "output" in parts else -1 - if out_index != -1: + if out_index != -1 and out_index + 1 < len(parts): value = int(parts[out_index + 1] or "0", 16) state.outputs = [bool(value & (1 << i)) for i in range(12)] in_index = parts.index("input") if "input" in parts else -1 - if in_index != -1: + if in_index != -1 and in_index + 1 < len(parts): value = int(parts[in_index + 1] or "0", 16) state.inputs = [bool(value & (1 << i)) for i in range(12)] counter_index = parts.index("counter") if "counter" in parts else -1 if counter_index != -1: - state.counters = [int(parts[counter_index + 1 + i] or "0") for i in range(12)] + for i in range(min(12, len(parts) - counter_index - 1)): + state.counters[i] = int(parts[counter_index + 1 + i] or "0") return state