mirror of
https://github.com/andvikt/mega_hacs.git
synced 2025-12-11 00:54:28 +05:00
edit
This commit is contained in:
@@ -57,7 +57,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 = 5
|
VERSION = 6
|
||||||
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):
|
||||||
|
|||||||
@@ -218,9 +218,9 @@ class MegaOutPort(MegaPushEntity):
|
|||||||
self._is_on = None
|
self._is_on = None
|
||||||
self.dimmer = dimmer
|
self.dimmer = dimmer
|
||||||
|
|
||||||
@property
|
# @property
|
||||||
def assumed_state(self) -> bool:
|
# def assumed_state(self) -> bool:
|
||||||
return True if self.index is not None or self.mega.mqtt is None else False
|
# return True if self.index is not None or self.mega.mqtt is None else False
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def invert(self):
|
def invert(self):
|
||||||
@@ -290,12 +290,12 @@ class MegaOutPort(MegaPushEntity):
|
|||||||
await self.mega.request(**cmd)
|
await self.mega.request(**cmd)
|
||||||
if self.index is not None:
|
if self.index is not None:
|
||||||
# обновление текущего стейта для ds2413
|
# обновление текущего стейта для ds2413
|
||||||
self.hass.async_create_task(self.mega.get_port(
|
await self.mega.get_port(
|
||||||
port=self.port,
|
port=self.port,
|
||||||
force_http=True,
|
force_http=True,
|
||||||
conv=False,
|
conv=False,
|
||||||
http_cmd='list',
|
http_cmd='list',
|
||||||
))
|
)
|
||||||
else:
|
else:
|
||||||
self.mega.values[self.port] = {'value': cmd}
|
self.mega.values[self.port] = {'value': cmd}
|
||||||
await self.get_state()
|
await self.get_state()
|
||||||
@@ -309,12 +309,12 @@ class MegaOutPort(MegaPushEntity):
|
|||||||
await self.mega.request(**cmd)
|
await self.mega.request(**cmd)
|
||||||
if self.index is not None:
|
if self.index is not None:
|
||||||
# обновление текущего стейта для ds2413
|
# обновление текущего стейта для ds2413
|
||||||
self.hass.async_create_task(self.mega.get_port(
|
await self.mega.get_port(
|
||||||
port=self.port,
|
port=self.port,
|
||||||
force_http=True,
|
force_http=True,
|
||||||
conv=False,
|
conv=False,
|
||||||
http_cmd='list',
|
http_cmd='list',
|
||||||
))
|
)
|
||||||
else:
|
else:
|
||||||
self.mega.values[self.port] = {'value': cmd}
|
self.mega.values[self.port] = {'value': cmd}
|
||||||
await self.get_state()
|
await self.get_state()
|
||||||
|
|||||||
@@ -196,15 +196,20 @@ class MegaD:
|
|||||||
Polling ports
|
Polling ports
|
||||||
"""
|
"""
|
||||||
self.lg.debug('poll')
|
self.lg.debug('poll')
|
||||||
|
ds2413_polled = []
|
||||||
for x in self.entities:
|
for x in self.entities:
|
||||||
# обновление ds2413 устройств
|
# обновление ds2413 устройств
|
||||||
if x.http_cmd == '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(
|
await self.get_port(
|
||||||
port=x.port,
|
port=x.port,
|
||||||
force_http=True,
|
force_http=True,
|
||||||
http_cmd='list',
|
http_cmd='list',
|
||||||
conv=False
|
conv=False
|
||||||
)
|
)
|
||||||
|
ds2413_polled.append(x.port)
|
||||||
if self.mqtt is None:
|
if self.mqtt is None:
|
||||||
await self.get_all_ports()
|
await self.get_all_ports()
|
||||||
await self.get_sensors(only_list=True)
|
await self.get_sensors(only_list=True)
|
||||||
@@ -253,7 +258,7 @@ class MegaD:
|
|||||||
if 'busy' in ret:
|
if 'busy' in ret:
|
||||||
return None
|
return None
|
||||||
if ':' in ret:
|
if ':' in ret:
|
||||||
ret = PATT_SPLIT.split(ret)
|
ret = ret.split(';')
|
||||||
ret = {'value': dict([
|
ret = {'value': dict([
|
||||||
x.split(':') for x in ret if x.count(':') == 1
|
x.split(':') for x in ret if x.count(':') == 1
|
||||||
])}
|
])}
|
||||||
|
|||||||
@@ -15,5 +15,5 @@
|
|||||||
"@andvikt"
|
"@andvikt"
|
||||||
],
|
],
|
||||||
"issue_tracker": "https://github.com/andvikt/mega_hacs/issues",
|
"issue_tracker": "https://github.com/andvikt/mega_hacs/issues",
|
||||||
"version": "v0.4.1b"
|
"version": "v0.4.1b3"
|
||||||
}
|
}
|
||||||
@@ -30,6 +30,13 @@
|
|||||||
|
|
||||||
HACS - Integrations - Explore, в поиске ищем MegaD.
|
HACS - Integrations - Explore, в поиске ищем MegaD.
|
||||||
|
|
||||||
|
Чтобы включить возможность использования бета-версий, зайдите в HACS, найдите интеграцию MegaD, нажмите три точки,
|
||||||
|
там кнопка "переустановить" или reinstall, дальше нужно нажать галку "показывать бета-версии"
|
||||||
|
|
||||||
|
Обновления выполняются так же в меню HACS.
|
||||||
|
Информация об обновлениях приходит с некоторым интервалом, чтобы вручную проверить наличие обновлений
|
||||||
|
нажмите три точки возле интеграции в меню HACS и нажмите `обновить информацию`
|
||||||
|
|
||||||
Альтернативный способ установки:
|
Альтернативный способ установки:
|
||||||
```shell
|
```shell
|
||||||
# из папки с конфигом
|
# из папки с конфигом
|
||||||
|
|||||||
Reference in New Issue
Block a user