mirror of
https://github.com/andvikt/mega_hacs.git
synced 2025-12-11 17:14:28 +05:00
fix some bugs
This commit is contained in:
@@ -145,6 +145,7 @@ class MegaD:
|
|||||||
ftr.set_result(json.loads(msg.payload).get('value'))
|
ftr.set_result(json.loads(msg.payload).get('value'))
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
self.lg.warning(f'could not parse {msg.payload}: {exc}')
|
self.lg.warning(f'could not parse {msg.payload}: {exc}')
|
||||||
|
ftr.set_result(None)
|
||||||
unsub = await self.mqtt.async_subscribe(
|
unsub = await self.mqtt.async_subscribe(
|
||||||
topic=f'{self.mqtt_id}/{port}',
|
topic=f'{self.mqtt_id}/{port}',
|
||||||
msg_callback=cb,
|
msg_callback=cb,
|
||||||
|
|||||||
@@ -93,7 +93,9 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
|
|||||||
lg.debug(f'values: %s', values)
|
lg.debug(f'values: %s', values)
|
||||||
if values is None:
|
if values is None:
|
||||||
continue
|
continue
|
||||||
if not isinstance(values, dict):
|
if isinstance(values, str) and TEMP_PATT.search(values):
|
||||||
|
values = {TEMP: values}
|
||||||
|
elif not isinstance(values, dict):
|
||||||
values = {None: values}
|
values = {None: values}
|
||||||
for key in values:
|
for key in values:
|
||||||
hub.lg.debug(f'add sensor {W1}:{key}')
|
hub.lg.debug(f'add sensor {W1}:{key}')
|
||||||
@@ -165,7 +167,7 @@ class Mega1WSensor(BaseMegaEntity):
|
|||||||
|
|
||||||
def _update(self, payload: dict):
|
def _update(self, payload: dict):
|
||||||
val = payload.get('value', '')
|
val = payload.get('value', '')
|
||||||
if isinstance(val, str):
|
if isinstance(val, str) and self.patt is not None:
|
||||||
val = self.patt.findall(val)
|
val = self.patt.findall(val)
|
||||||
if val:
|
if val:
|
||||||
self._value = val[0]
|
self._value = val[0]
|
||||||
|
|||||||
Reference in New Issue
Block a user