fix some bugs

This commit is contained in:
Andrey
2020-12-28 23:32:24 +03:00
parent c4b597d019
commit 7822f50500
2 changed files with 5 additions and 2 deletions

View File

@@ -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,

View File

@@ -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]