diff --git a/classes/transports/transport_base.py b/classes/transports/transport_base.py index dc45fa1..d639708 100644 --- a/classes/transports/transport_base.py +++ b/classes/transports/transport_base.py @@ -95,6 +95,7 @@ def __init__(self, settings : "SectionProxy") -> None: if settings: self.device_serial_number = settings.get(["device_serial_number", "serial_number"], self.device_serial_number) self.device_manufacturer = settings.get(["device_manufacturer", "manufacturer"], self.device_manufacturer) + self.device_model = settings.get(["device_model", "model"], self.device_model) self.device_name = settings.get(["device_name", "name"], fallback=self.device_manufacturer+"_"+self.device_serial_number) self.bridge = settings.get("bridge", self.bridge) self.read_interval = settings.getfloat("read_interval", self.read_interval) diff --git a/config.cfg.example b/config.cfg.example index d498bdf..e82d948 100644 --- a/config.cfg.example +++ b/config.cfg.example @@ -27,6 +27,7 @@ bridge = transport.1 # Device identity (for MQTT topic structure or HA discovery) manufacturer = HDHK model = HDHK 16CH AC +name = HDHK 1 # Optional; auto-detect if omitted serial_number = HDHK777 diff --git a/protocol_gateway.py b/protocol_gateway.py index 0e1220d..54c63e8 100644 --- a/protocol_gateway.py +++ b/protocol_gateway.py @@ -126,7 +126,12 @@ def __init__(self, config_file : str): self.__log.addHandler(handler) self.config_file = os.path.dirname(os.path.realpath(__file__)) + "/growatt2mqtt.cfg" - newcfg = os.path.dirname(os.path.realpath(__file__)) + "/"+ config_file + if config_file: + if os.path.isabs(config_file): + newcfg = config_file + else: + newcfg = os.path.dirname(os.path.realpath(__file__)) + "/" + config_file + if os.path.isfile(newcfg): self.config_file = newcfg