1
0
mirror of https://github.com/no2chem/wideq.git synced 2025-05-16 07:10:09 -07:00

fix latest discussion lower-level

This commit is contained in:
pifou 2020-10-28 22:53:53 +01:00
parent bf77fd0f7c
commit 4ac98be936
2 changed files with 10 additions and 11 deletions

View File

@ -35,7 +35,7 @@ def ls(client):
def gen_mon(client, device_id):
"""Monitor any other device but AC device,
"""Monitor any other device but AC device,
displaying generic information about its status.
"""
@ -113,7 +113,7 @@ def mon(client, device_id):
status.
"""
device_class = client.get_device_class(device_id)
device_class = client.get_device_obj(device_id)
if isinstance(device_class, wideq.ACDevice):
ac_mon(device_class)
else:

View File

@ -10,7 +10,7 @@ import re
from collections import namedtuple
from typing import Any, Dict, Generator, List, Optional
from . import core
from . import core, util
#: Represents an unknown enum value.
@ -139,23 +139,22 @@ class Client(object):
return device
return None
def get_device_class(self, device_id):
def get_device_obj(self, device_id):
"""Look up a subclass of Device object by device ID.
Return a Device instance if no subclass exists for the device type.
Return None if the device does not exist.
"""
from . import util
deviceInfo = self.get_device(device_id)
if not deviceInfo:
device_info = self.get_device(device_id)
if not device_info:
return None
classes = util.device_classes()
if deviceInfo.type in classes:
return classes[deviceInfo.type](self, deviceInfo)
if device_info.type in classes:
return classes[device_info.type](self, device_info)
LOGGER.debug('No specific subclass for deviceType %s, using default',
deviceInfo.type)
return Device(self, deviceInfo)
device_info.type)
return Device(self, device_info)
@classmethod
def load(cls, state: Dict[str, Any]) -> 'Client':