def __update_device(self, device: TuyaDevice, DPcode: str, value):
# await hass.bus.async_fire(event_name, event_data)
for listener in self.device_listeners:
listener.update_device(device) #Returns the modified DPcode
def _on_device_report(self, device_id: str, status: list):
device = self.device_map.get(device_id, None)
if not device:
return
logger.debug(f"mq _on_device_report-> {status}")
for item in status:
if "code" in item and "value" in item:
code = item["code"]
value = item["value"]
device.status[code] = value
self.__update_device(device)