mirror of
https://github.com/no2chem/wideq.git
synced 2025-05-18 00:00:17 -07:00
parent
3ac6cab147
commit
dbab3fd1fe
@ -3,6 +3,7 @@
|
|||||||
import enum
|
import enum
|
||||||
|
|
||||||
from .client import Device
|
from .client import Device
|
||||||
|
from .core import FailedRequestError
|
||||||
|
|
||||||
|
|
||||||
class ACVSwingMode(enum.Enum):
|
class ACVSwingMode(enum.Enum):
|
||||||
@ -256,8 +257,11 @@ class ACDevice(Device):
|
|||||||
def get_volume(self):
|
def get_volume(self):
|
||||||
"""Get the speaker volume level."""
|
"""Get the speaker volume level."""
|
||||||
|
|
||||||
|
try:
|
||||||
value = self._get_control('SpkVolume')
|
value = self._get_control('SpkVolume')
|
||||||
return int(value)
|
return int(value)
|
||||||
|
except FailedRequestError:
|
||||||
|
return 0 # Device does not support volume control.
|
||||||
|
|
||||||
def poll(self):
|
def poll(self):
|
||||||
"""Poll the device's current state.
|
"""Poll the device's current state.
|
||||||
|
@ -85,6 +85,15 @@ class TokenError(APIError):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class FailedRequestError(APIError):
|
||||||
|
"""A failed request typically indicates an unsupported control on a
|
||||||
|
device.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class InvalidRequestError(APIError):
|
class InvalidRequestError(APIError):
|
||||||
"""The server rejected a request as invalid."""
|
"""The server rejected a request as invalid."""
|
||||||
|
|
||||||
@ -105,6 +114,7 @@ class MonitorError(APIError):
|
|||||||
API_ERRORS = {
|
API_ERRORS = {
|
||||||
"0102": NotLoggedInError,
|
"0102": NotLoggedInError,
|
||||||
"0106": NotConnectedError,
|
"0106": NotConnectedError,
|
||||||
|
"0100": FailedRequestError,
|
||||||
9000: InvalidRequestError, # Surprisingly, an integer (not a string).
|
9000: InvalidRequestError, # Surprisingly, an integer (not a string).
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user