diff --git a/ibsystem/ibsystem2mqtt_v5.py b/ibsystem/ibsystem2mqtt_v5.py index 5650a9a..c7782c3 100755 --- a/ibsystem/ibsystem2mqtt_v5.py +++ b/ibsystem/ibsystem2mqtt_v5.py @@ -50,7 +50,7 @@ return logging.getLogger("ibsystem2mqtt") class FriendlyNames: - def __init__(self, config): self.names = config.get("friendly_names", {}) + def __init__(self, config): self.names = config.get("friendly_names") or {} def get_device_name(self, rs, dev_id): return self.names.get(f"rs{rs}_id{dev_id}", f"IBSystem RS{rs} ID{dev_id}") def get_entity_name(self, rs, dev_id, path): safe_path = re.sub(r"[^a-zA-Z0-9_]+", "_", path) @@ -247,6 +247,6 @@ t0 = time.time(); devices = bridge.poll_and_publish(); elapsed = time.time() - t0 STATS.record_poll(elapsed, devices); logger.debug(f"Poll: {devices} in {elapsed:.2f}s") time.sleep(max(0, interval - elapsed)) - except Exception as e: logger.error(f"Loop error: {e}"); STATS.record_error(str(e)); time.sleep(interval) + except Exception as e: import traceback; logger.error(f"Loop error: {e}\n{traceback.format_exc()}"); STATS.record_error(str(e)); time.sleep(interval) if __name__ == "__main__": main()