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