This commit is contained in:
Andrey
2021-02-17 18:04:09 +03:00
parent 896e02a457
commit af2360b0a0
5 changed files with 22 additions and 10 deletions

View File

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

View File

@@ -218,9 +218,9 @@ class MegaOutPort(MegaPushEntity):
self._is_on = None
self.dimmer = dimmer
@property
def assumed_state(self) -> bool:
return True if self.index is not None or self.mega.mqtt is None else False
# @property
# def assumed_state(self) -> bool:
# return True if self.index is not None or self.mega.mqtt is None else False
@property
def invert(self):
@@ -290,12 +290,12 @@ class MegaOutPort(MegaPushEntity):
await self.mega.request(**cmd)
if self.index is not None:
# обновление текущего стейта для ds2413
self.hass.async_create_task(self.mega.get_port(
await self.mega.get_port(
port=self.port,
force_http=True,
conv=False,
http_cmd='list',
))
)
else:
self.mega.values[self.port] = {'value': cmd}
await self.get_state()
@@ -309,12 +309,12 @@ class MegaOutPort(MegaPushEntity):
await self.mega.request(**cmd)
if self.index is not None:
# обновление текущего стейта для ds2413
self.hass.async_create_task(self.mega.get_port(
await self.mega.get_port(
port=self.port,
force_http=True,
conv=False,
http_cmd='list',
))
)
else:
self.mega.values[self.port] = {'value': cmd}
await self.get_state()

View File

@@ -196,15 +196,20 @@ class MegaD:
Polling ports
"""
self.lg.debug('poll')
ds2413_polled = []
for x in self.entities:
# обновление ds2413 устройств
if x.http_cmd == 'ds2413':
self.lg.debug(f'poll ds2413 for {x.entity_id}')
if x.port in ds2413_polled:
continue
await self.get_port(
port=x.port,
force_http=True,
http_cmd='list',
conv=False
)
ds2413_polled.append(x.port)
if self.mqtt is None:
await self.get_all_ports()
await self.get_sensors(only_list=True)
@@ -253,7 +258,7 @@ class MegaD:
if 'busy' in ret:
return None
if ':' in ret:
ret = PATT_SPLIT.split(ret)
ret = ret.split(';')
ret = {'value': dict([
x.split(':') for x in ret if x.count(':') == 1
])}

View File

@@ -15,5 +15,5 @@
"@andvikt"
],
"issue_tracker": "https://github.com/andvikt/mega_hacs/issues",
"version": "v0.4.1b"
"version": "v0.4.1b3"
}

View File

@@ -30,6 +30,13 @@
HACS - Integrations - Explore, в поиске ищем MegaD.
Чтобы включить возможность использования бета-версий, зайдите в HACS, найдите интеграцию MegaD, нажмите три точки,
там кнопка "переустановить" или reinstall, дальше нужно нажать галку "показывать бета-версии"
Обновления выполняются так же в меню HACS.
Информация об обновлениях приходит с некоторым интервалом, чтобы вручную проверить наличие обновлений
нажмите три точки возле интеграции в меню HACS и нажмите `обновить информацию`
Альтернативный способ установки:
```shell
# из папки с конфигом