From 60f2876d9cf75ec80739a0ed7a8b2bf79e554dc6 Mon Sep 17 00:00:00 2001 From: Andy Voigt Date: Thu, 13 Jul 2023 14:06:05 +0200 Subject: [PATCH] Fixed index out of bounds --- tools/rpi/hoymiles/decoders/__init__.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/tools/rpi/hoymiles/decoders/__init__.py b/tools/rpi/hoymiles/decoders/__init__.py index ad49d664..279d54c0 100644 --- a/tools/rpi/hoymiles/decoders/__init__.py +++ b/tools/rpi/hoymiles/decoders/__init__.py @@ -154,15 +154,16 @@ class StatusResponse(Response): while s_exists: s_exists = False string_id = len(strings) - string = {} - string['name'] = self.inv_strings[string_id]['s_name'] - for key in self.string_keys: - prop = f'dc_{key}_{string_id}' - if hasattr(self, prop): - s_exists = True - string[key] = getattr(self, prop) - if s_exists: - strings.append(string) + if string_id < len(self.inv_strings): + string = {} + string['name'] = self.inv_strings[string_id]['s_name'] + for key in self.string_keys: + prop = f'dc_{key}_{string_id}' + if hasattr(self, prop): + s_exists = True + string[key] = getattr(self, prop) + if s_exists: + strings.append(string) return strings