Compare commits

...

1 Commits

Author SHA1 Message Date
Andrey
d3f76a88df fix bugs 2021-03-04 22:52:15 +03:00
3 changed files with 6 additions and 5 deletions

View File

@@ -65,7 +65,7 @@ async def validate_input(hass: core.HomeAssistant, data):
class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
"""Handle a config flow for mega.""" """Handle a config flow for mega."""
VERSION = 20 VERSION = 21
CONNECTION_CLASS = config_entries.CONN_CLASS_ASSUMED CONNECTION_CLASS = config_entries.CONN_CLASS_ASSUMED
async def async_step_user(self, user_input=None): async def async_step_user(self, user_input=None):

View File

@@ -60,7 +60,7 @@ class BaseMegaEntity(CoordinatorEntity, RestoreEntity):
self._lg = None self._lg = None
self._unique_id = unique_id or f"mega_{mega.id}_{port}" + \ self._unique_id = unique_id or f"mega_{mega.id}_{port}" + \
(f"_{id_suffix}" if id_suffix else "") (f"_{id_suffix}" if id_suffix else "")
_pt = port if not mega.new_naming else f'{port:02}' _pt = port if not mega.new_naming else f'{port:02}' if isinstance(port, int) else port
self._name = name or f"{mega.id}_{_pt}" + \ self._name = name or f"{mega.id}_{_pt}" + \
(f"_{id_suffix}" if id_suffix else "") (f"_{id_suffix}" if id_suffix else "")
self._customize: dict = None self._customize: dict = None
@@ -123,7 +123,7 @@ class BaseMegaEntity(CoordinatorEntity, RestoreEntity):
def name(self): def name(self):
c = self.customize.get(CONF_NAME) c = self.customize.get(CONF_NAME)
if not isinstance(c, str): if not isinstance(c, str):
_pt = self.port if not self.mega.new_naming else f'{self.port:02}' _pt = self.port if not self.mega.new_naming else f'{self.port:02}' if isinstance(self.port, int) else self.port
c = self._name or f"{self.mega.id}_p{_pt}" c = self._name or f"{self.mega.id}_p{_pt}"
return c return c

View File

@@ -545,7 +545,7 @@ class MegaD:
for n in range(len(values)): for n in range(len(values)):
ext_page = await self.request(pt=port, ext=n) ext_page = await self.request(pt=port, ext=n)
ext_cfg = parse_config(ext_page) ext_cfg = parse_config(ext_page)
pt = f'{port}e{n}' pt = f'{port}e{n}' if not self.new_naming else f'{port:02}e{n}'
if ext_cfg.ety == '1': if ext_cfg.ety == '1':
ret['light'][pt].append({}) ret['light'][pt].append({})
elif ext_cfg.ety == '0': elif ext_cfg.ety == '0':
@@ -557,7 +557,8 @@ class MegaD:
values = await self.request(pt=port, cmd='get') values = await self.request(pt=port, cmd='get')
values = values.split(';') values = values.split(';')
for n in range(len(values)): for n in range(len(values)):
ret['light'][f'{port}e{n}'].append({'dimmer': True, 'dimmer_scale': 16}) pt = f'{port}e{n}' if not self.new_naming else f'{port:02}e{n}'
ret['light'][pt].append({'dimmer': True, 'dimmer_scale': 16})
elif cfg.pty == '4' and (cfg.gr == '0' or _cust.get(CONF_FORCE_I2C_SCAN)): elif cfg.pty == '4' and (cfg.gr == '0' or _cust.get(CONF_FORCE_I2C_SCAN)):
# i2c в режиме ANY # i2c в режиме ANY
scan = cfg.src.find('a', text='I2C Scan') scan = cfg.src.find('a', text='I2C Scan')