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:
parent
bf77fd0f7c
commit
4ac98be936
@ -35,7 +35,7 @@ def ls(client):
|
|||||||
|
|
||||||
|
|
||||||
def gen_mon(client, device_id):
|
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.
|
displaying generic information about its status.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -113,7 +113,7 @@ def mon(client, device_id):
|
|||||||
status.
|
status.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
device_class = client.get_device_class(device_id)
|
device_class = client.get_device_obj(device_id)
|
||||||
if isinstance(device_class, wideq.ACDevice):
|
if isinstance(device_class, wideq.ACDevice):
|
||||||
ac_mon(device_class)
|
ac_mon(device_class)
|
||||||
else:
|
else:
|
||||||
|
@ -10,7 +10,7 @@ import re
|
|||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
from typing import Any, Dict, Generator, List, Optional
|
from typing import Any, Dict, Generator, List, Optional
|
||||||
|
|
||||||
from . import core
|
from . import core, util
|
||||||
|
|
||||||
|
|
||||||
#: Represents an unknown enum value.
|
#: Represents an unknown enum value.
|
||||||
@ -139,23 +139,22 @@ class Client(object):
|
|||||||
return device
|
return device
|
||||||
return None
|
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.
|
"""Look up a subclass of Device object by device ID.
|
||||||
|
|
||||||
Return a Device instance if no subclass exists for the device type.
|
Return a Device instance if no subclass exists for the device type.
|
||||||
Return None if the device does not exist.
|
Return None if the device does not exist.
|
||||||
"""
|
"""
|
||||||
from . import util
|
|
||||||
|
|
||||||
deviceInfo = self.get_device(device_id)
|
device_info = self.get_device(device_id)
|
||||||
if not deviceInfo:
|
if not device_info:
|
||||||
return None
|
return None
|
||||||
classes = util.device_classes()
|
classes = util.device_classes()
|
||||||
if deviceInfo.type in classes:
|
if device_info.type in classes:
|
||||||
return classes[deviceInfo.type](self, deviceInfo)
|
return classes[device_info.type](self, device_info)
|
||||||
LOGGER.debug('No specific subclass for deviceType %s, using default',
|
LOGGER.debug('No specific subclass for deviceType %s, using default',
|
||||||
deviceInfo.type)
|
device_info.type)
|
||||||
return Device(self, deviceInfo)
|
return Device(self, device_info)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def load(cls, state: Dict[str, Any]) -> 'Client':
|
def load(cls, state: Dict[str, Any]) -> 'Client':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user