diff --git a/custom_components/mikrotik_router/helper.py b/custom_components/mikrotik_router/helper.py index deed539..9c24298 100644 --- a/custom_components/mikrotik_router/helper.py +++ b/custom_components/mikrotik_router/helper.py @@ -60,6 +60,9 @@ async def from_list(data=None, source=None, key=None, vals=[], ensure_vals=[]): if _type == 'str': _default = val['default'] if 'default' in val else '' + if 'default_val' in val and val['default_val'] in val: + _default = val[val['default_val']] + data[uid][_name] = from_entry(entry, _source, default=_default) elif _type == 'bool': _default = val['default'] if 'default' in val else False diff --git a/custom_components/mikrotik_router/mikrotik_controller.py b/custom_components/mikrotik_router/mikrotik_controller.py index 8387247..0f84977 100644 --- a/custom_components/mikrotik_router/mikrotik_controller.py +++ b/custom_components/mikrotik_router/mikrotik_controller.py @@ -171,7 +171,7 @@ class MikrotikControllerData(): key='default-name', vals=[ {'name': 'default-name'}, - {'name': 'name'}, + {'name': 'name', 'default_val': 'default-name'}, {'name': 'type', 'default': 'unknown'}, {'name': 'running', 'type': 'bool'}, {'name': 'enabled', 'source': 'disabled', 'type': 'bool', 'reverse': True}, @@ -193,9 +193,6 @@ class MikrotikControllerData(): interface_list = "" for uid in self.data['interface']: - if not self.data['interface'][uid]['name']: - self.data['interface'][uid]['name'] = self.data['interface'][uid]['default-name'] - self.data['interface_map'][self.data['interface'][uid]['name']] = self.data['interface'][uid]['default-name'] if interface_list: