diff --git a/packages/modules/chargepoints/external_openwb/chargepoint_module.py b/packages/modules/chargepoints/external_openwb/chargepoint_module.py index c0b162e4c8..6c4ab63a42 100644 --- a/packages/modules/chargepoints/external_openwb/chargepoint_module.py +++ b/packages/modules/chargepoints/external_openwb/chargepoint_module.py @@ -101,16 +101,17 @@ def on_message(client, userdata, message): current_branch=parse_received_topics("current_branch"), current_commit=parse_received_topics("current_commit") ) - self.store.set(chargepoint_state) - if received_topics[f"{topic_prefix}fault_state"] == 2: - self.fault_state.error(received_topics[f"{topic_prefix}fault_str"]) - elif received_topics[f"{topic_prefix}fault_state"] == 1: - self.fault_state.warning(received_topics[f"{topic_prefix}fault_str"]) - except KeyError: - if received_topics[f"{topic_prefix}fault_state"] == 2: - self.fault_state.error(received_topics[f"{topic_prefix}fault_str"]) - else: - raise KeyError("Es wurden nicht alle notwendigen Daten empfangen.") + except KeyError as e: + raise KeyError(f"Es wurden nicht alle notwendigen Daten empfangen: {e}") + self.store.set(chargepoint_state) + + fault_state = received_topics.get(f"{topic_prefix}fault_state") + if fault_state == 2: + self.fault_state.error(received_topics.get( + f"{topic_prefix}fault_str", "Fehlerstatus vom internen Ladepunkt")) + elif fault_state == 1: + self.fault_state.warning(received_topics.get( + f"{topic_prefix}fault_str", "Warnung vom internen Ladepunkt")) else: self.fault_state.warning(f"Keine MQTT-Daten für Ladepunkt {self.config.name} empfangen. Noch keine " "Daten nach dem Start oder Ladepunkt nicht erreichbar.")