Compare commits

...

4 Commits

Author SHA1 Message Date
Andrey
e0eaafd0fa fix bugs 2021-02-18 10:40:09 +03:00
Andrey
51f3eb3b19 fix bugs 2021-02-18 10:23:27 +03:00
Andrey
1716651497 fix bugs 2021-02-18 10:12:01 +03:00
Andrey
a87e8139a7 fix bugs 2021-02-18 09:53:30 +03:00
2 changed files with 16 additions and 15 deletions

View File

@@ -48,8 +48,9 @@ class BaseMegaEntity(CoordinatorEntity, RestoreEntity):
index=None,
):
super().__init__(mega.updater)
if self.http_cmd == 'ds2413':
self.mega.ds2413_ports |= {self.port}
self.http_cmd = http_cmd
self._state: State = None
self.port = port
self.config_entry = config_entry
@@ -62,9 +63,10 @@ class BaseMegaEntity(CoordinatorEntity, RestoreEntity):
self._name = name or f"{mega.id}_{port}" + \
(f"_{id_suffix}" if id_suffix else "")
self._customize: dict = None
self.http_cmd = http_cmd
self.index = index
self.addr = addr
if self.http_cmd == 'ds2413':
self.mega.ds2413_ports |= {self.port}
@property
def customize(self):
@@ -253,17 +255,17 @@ class MegaOutPort(MegaPushEntity):
val = val.get("value")
if self.index and self.addr:
if not isinstance(val, dict):
self.mega.lg.warning(f'{self.entity_id} has wrong state: {val}')
self.mega.lg.warning(f'{self.entity_id}: {val} is not a dict')
return
_val = val.get(self.addr)
if not isinstance(val, str):
self.mega.lg.warning(f'{self.entity_id} has wrong state: {val}')
self.mega.lg.warning(f'{self.entity_id}: can not get {self.addr} from {val}')
return
_val = _val.split('/')
if len(_val) >= 2:
val = val[self.index]
val = _val[self.index]
else:
self.mega.lg.warning(f'{self.entity_id} has wrong state: {val}')
self.mega.lg.warning(f'{self.entity_id}: {_val} has wrong length')
return
elif self.index and self.addr is None:
self.mega.lg.warning(f'{self.entity_id} does not has addr')

View File

@@ -198,14 +198,13 @@ class MegaD:
:return:
"""
for x in self.ds2413_ports:
if x.http_cmd == 'ds2413':
self.lg.debug(f'poll ds2413 for %s', x)
await self.get_port(
port=x,
force_http=True,
http_cmd='list',
conv=False
)
self.lg.debug(f'poll ds2413 for %s', x)
await self.get_port(
port=x,
force_http=True,
http_cmd='list',
conv=False
)
async def poll(self):
"""