try:
(mac, name, keywords) = line.split(",")
except ValueError:
- logger.warning(f'SH-CONFIG> {line} is malformed?!')
+ msg = f'SH-CONFIG> "{line}" is malformed?! Skipping it.'
+ logger.warning(msg)
continue
mac = mac.strip()
name = name.strip()
else:
logger.debug(' ...a TPLinkOutlet')
return outlets.TPLinkOutlet(name, mac, kws)
+ elif 'meross' in kws.lower():
+ logger.debug(' ...a MerossOutlet')
+ return outlets.MerossOutlet(name, mac, kws)
elif 'goog' in kws.lower():
logger.debug(' ...a GoogleOutlet')
return outlets.GoogleOutlet(name, mac, kws)
logger.debug(' ...an unknown device (should this be here?)')
return device.Device(name, mac, kws)
except Exception as e:
- logger.warning(
- f'Got exception {e} while trying to communicate with device {name}/{mac}.'
+ logger.exception(e)
+ logger.debug(
+ f'Device {name} at {mac} with {kws} confused me, returning a generic Device'
)
return device.Device(name, mac, kws)
- logger.warning(f'{mac} is not a known smart home device, returning None')
+ msg = f'{mac} is not a known smart home device, returning None'
+ logger.warning(msg)
return None
def query(self, query: str) -> List[device.Device]: