mirror of
https://github.com/andvikt/mega_hacs.git
synced 2025-12-12 09:34:28 +05:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c50b81bff | ||
|
|
c810693ba5 | ||
|
|
1fd321d4c1 | ||
|
|
6732e1b7a2 |
@@ -63,7 +63,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 = 19
|
VERSION = 20
|
||||||
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):
|
||||||
|
|||||||
@@ -530,9 +530,11 @@ class MegaD:
|
|||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
_params = tuple(params.items())
|
_params = tuple(params.items())
|
||||||
return {
|
ret = {
|
||||||
_params: await self.request(**params)
|
_params: await self.request(**params)
|
||||||
}
|
}
|
||||||
|
self.lg.debug('i2c response: %s', ret)
|
||||||
|
return ret
|
||||||
|
|
||||||
async def get_config(self, nports=37):
|
async def get_config(self, nports=37):
|
||||||
ret = defaultdict(lambda: defaultdict(list))
|
ret = defaultdict(lambda: defaultdict(list))
|
||||||
@@ -590,6 +592,9 @@ class MegaD:
|
|||||||
self.lg.debug(f'scan results: %s', (req, parsed))
|
self.lg.debug(f'scan results: %s', (req, parsed))
|
||||||
ret['i2c'][port].extend(parsed)
|
ret['i2c'][port].extend(parsed)
|
||||||
i2c_sensors.extend(req)
|
i2c_sensors.extend(req)
|
||||||
|
elif cfg.pty == '4' and cfg.m == '2':
|
||||||
|
# scl исключаем из сканирования
|
||||||
|
continue
|
||||||
elif cfg.pty in ('3', '2', '4'):
|
elif cfg.pty in ('3', '2', '4'):
|
||||||
http_cmd = 'get'
|
http_cmd = 'get'
|
||||||
if cfg.d == '5' and cfg.pty == '3':
|
if cfg.d == '5' and cfg.pty == '3':
|
||||||
|
|||||||
@@ -109,8 +109,10 @@ class MegaI2C(MegaPushEntity):
|
|||||||
def device_class(self):
|
def device_class(self):
|
||||||
return self._device_class
|
return self._device_class
|
||||||
|
|
||||||
|
@property
|
||||||
def state(self):
|
def state(self):
|
||||||
return self.mega.values[self._params]
|
# self.lg.debug(f'get % all states: %', self._params, self.mega.values)
|
||||||
|
return self.mega.values.get(self._params)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def device_class(self):
|
def device_class(self):
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ class PriorityLock(asyncio.Lock):
|
|||||||
locked and returns True.
|
locked and returns True.
|
||||||
"""
|
"""
|
||||||
if (not self._locked and (self._waiters is None or
|
if (not self._locked and (self._waiters is None or
|
||||||
all(w.cancelled() for _, w in self._waiters))):
|
all(w.cancelled() for _, _, w in self._waiters))):
|
||||||
self._locked = True
|
self._locked = True
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user