Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions ucapi/api_definitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
"""

from dataclasses import dataclass
from enum import Enum, IntEnum
from enum import IntEnum, StrEnum
from typing import Any, Awaitable, Callable, TypeAlias


class DeviceStates(str, Enum):
class DeviceStates(StrEnum):
"""Device states."""

CONNECTED = "CONNECTED"
Expand All @@ -33,7 +33,7 @@ class StatusCodes(IntEnum):
SERVICE_UNAVAILABLE = 503


class IntegrationSetupError(str, Enum):
class IntegrationSetupError(StrEnum):
"""More detailed error reason for ``state: ERROR`` condition."""

NONE = "NONE"
Expand All @@ -45,7 +45,7 @@ class IntegrationSetupError(str, Enum):


# Does WsMessages need to be public?
class WsMessages(str, Enum):
class WsMessages(StrEnum):
"""WebSocket request messages from Remote Two/3."""

AUTHENTICATION = "authentication"
Expand All @@ -64,7 +64,7 @@ class WsMessages(str, Enum):


# Does WsMsgEvents need to be public?
class WsMsgEvents(str, Enum):
class WsMsgEvents(StrEnum):
"""WebSocket event messages from Remote Two/3."""

CONNECT = "connect"
Expand All @@ -84,7 +84,7 @@ class WsMsgEvents(str, Enum):
MEDIA_SEARCH = "media_search"


class Events(str, Enum):
class Events(StrEnum):
"""Internal library events.

All event parameters are named parameters and optional.
Expand Down Expand Up @@ -159,7 +159,7 @@ class Events(str, Enum):


# Does EventCategory need to be public?
class EventCategory(str, Enum):
class EventCategory(StrEnum):
"""Event categories."""

DEVICE = "DEVICE"
Expand Down Expand Up @@ -284,7 +284,7 @@ class SetupComplete(SetupAction):
# ---------------------------------------------------------------------------


class AssistantEventType(str, Enum):
class AssistantEventType(StrEnum):
"""Type discriminator for assistant event messages."""

READY = "ready"
Expand All @@ -295,7 +295,7 @@ class AssistantEventType(str, Enum):
ERROR = "error"


class AssistantErrorCode(str, Enum):
class AssistantErrorCode(StrEnum):
"""Error codes for assistant processing."""

SERVICE_UNAVAILABLE = "SERVICE_UNAVAILABLE"
Expand Down
8 changes: 4 additions & 4 deletions ucapi/button.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,26 @@
:license: MPL-2.0, see LICENSE for more details.
"""

from enum import Enum
from enum import StrEnum

from .api_definitions import CommandHandler
from .entity import Entity, EntityTypes


class States(str, Enum):
class States(StrEnum):
"""Button entity states."""

UNAVAILABLE = "UNAVAILABLE"
AVAILABLE = "AVAILABLE"


class Attributes(str, Enum):
class Attributes(StrEnum):
"""Button entity attributes."""

STATE = "state"


class Commands(str, Enum):
class Commands(StrEnum):
"""Button entity commands."""

PUSH = "push"
Expand Down
14 changes: 7 additions & 7 deletions ucapi/climate.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
:license: MPL-2.0, see LICENSE for more details.
"""

from enum import Enum
from enum import StrEnum
from typing import Any

from .api_definitions import CommandHandler
from .entity import Entity, EntityTypes


class States(str, Enum):
class States(StrEnum):
"""Climate entity states."""

UNAVAILABLE = "UNAVAILABLE"
Expand All @@ -25,7 +25,7 @@ class States(str, Enum):
AUTO = "AUTO"


class Features(str, Enum):
class Features(StrEnum):
"""Climate entity features."""

ON_OFF = "on_off"
Expand All @@ -37,7 +37,7 @@ class Features(str, Enum):
FAN = "fan"


class Attributes(str, Enum):
class Attributes(StrEnum):
"""Climate entity attributes."""

STATE = "state"
Expand All @@ -48,7 +48,7 @@ class Attributes(str, Enum):
FAN_MODE = "fan_mode"


class Commands(str, Enum):
class Commands(StrEnum):
"""Climate entity commands."""

ON = "on"
Expand All @@ -59,11 +59,11 @@ class Commands(str, Enum):
FAN_MODE = "fan_mode"


class DeviceClasses(str, Enum):
class DeviceClasses(StrEnum):
"""Climate entity device classes."""


class Options(str, Enum):
class Options(StrEnum):
"""Climate entity options."""

TEMPERATURE_UNIT = "temperature_unit"
Expand Down
14 changes: 7 additions & 7 deletions ucapi/cover.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
:license: MPL-2.0, see LICENSE for more details.
"""

from enum import Enum
from enum import StrEnum
from typing import Any

from .api_definitions import CommandHandler
from .entity import Entity, EntityTypes


class States(str, Enum):
class States(StrEnum):
"""Cover entity states."""

UNAVAILABLE = "UNAVAILABLE"
Expand All @@ -23,7 +23,7 @@ class States(str, Enum):
CLOSED = "CLOSED"


class Features(str, Enum):
class Features(StrEnum):
"""Cover entity features."""

OPEN = "open"
Expand All @@ -35,15 +35,15 @@ class Features(str, Enum):
TILT_POSITION = "tilt_position"


class Attributes(str, Enum):
class Attributes(StrEnum):
"""Cover entity attributes."""

STATE = "state"
POSITION = "position"
TILT_POSITION = "tilt_position"


class Commands(str, Enum):
class Commands(StrEnum):
"""Cover entity commands."""

OPEN = "open"
Expand All @@ -56,7 +56,7 @@ class Commands(str, Enum):
TILT_STOP = "tilt_stop"


class DeviceClasses(str, Enum):
class DeviceClasses(StrEnum):
"""Cover entity device classes."""

BLIND = "blind"
Expand All @@ -68,7 +68,7 @@ class DeviceClasses(str, Enum):
WINDOW = "window"


class Options(str, Enum):
class Options(StrEnum):
"""Cover entity options."""


Expand Down
6 changes: 3 additions & 3 deletions ucapi/entity.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import inspect
import logging
from enum import Enum
from enum import StrEnum
from typing import Any

from .api_definitions import CommandHandler, StatusCodes
Expand All @@ -34,7 +34,7 @@ def validate_str(name: str, value: str, min_len: int = 1, max_len: int = 255) ->
raise ValueError(f"{name} must be at most {max_len} characters")


class EntityTypes(str, Enum):
class EntityTypes(StrEnum):
"""Entity types."""

COVER = "cover"
Expand All @@ -50,7 +50,7 @@ class EntityTypes(str, Enum):
VOICE_ASSISTANT = "voice_assistant"


class CommonStates(str, Enum):
class CommonStates(StrEnum):
"""Common entity states available in all entities."""

UNAVAILABLE = "UNAVAILABLE"
Expand Down
14 changes: 7 additions & 7 deletions ucapi/ir_emitter.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,45 +5,45 @@
:license: MPL-2.0, see LICENSE for more details.
"""

from enum import Enum
from enum import StrEnum
from typing import Any

from .api_definitions import CommandHandler
from .entity import Entity, EntityTypes


class States(str, Enum):
class States(StrEnum):
"""IR Emitter entity states."""

UNAVAILABLE = "UNAVAILABLE"
UNKNOWN = "UNKNOWN"
ON = "ON"


class Features(str, Enum):
class Features(StrEnum):
"""IR Emitter entity features."""

SEND_IR = "send_ir"


class Attributes(str, Enum):
class Attributes(StrEnum):
"""IR Emitter entity attributes."""

STATE = "state"


class Commands(str, Enum):
class Commands(StrEnum):
"""IR Emitter entity commands."""

SEND_IR = "send_ir"
STOP_IR = "stop_ir"


class DeviceClasses(str, Enum):
class DeviceClasses(StrEnum):
"""IR Emitter entity device classes."""


class Options(str, Enum):
class Options(StrEnum):
"""IR Emitter entity options."""

PORTS = "ports"
Expand Down
14 changes: 7 additions & 7 deletions ucapi/light.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
:license: MPL-2.0, see LICENSE for more details.
"""

from enum import Enum
from enum import StrEnum
from typing import Any

from .api_definitions import CommandHandler
from .entity import Entity, EntityTypes


class States(str, Enum):
class States(StrEnum):
"""Light entity states."""

UNAVAILABLE = "UNAVAILABLE"
Expand All @@ -21,7 +21,7 @@ class States(str, Enum):
OFF = "OFF"


class Features(str, Enum):
class Features(StrEnum):
"""Light entity features."""

ON_OFF = "on_off"
Expand All @@ -31,7 +31,7 @@ class Features(str, Enum):
COLOR_TEMPERATURE = "color_temperature"


class Attributes(str, Enum):
class Attributes(StrEnum):
"""Light entity attributes."""

STATE = "state"
Expand All @@ -41,19 +41,19 @@ class Attributes(str, Enum):
COLOR_TEMPERATURE = "color_temperature"


class Commands(str, Enum):
class Commands(StrEnum):
"""Light entity commands."""

ON = "on"
OFF = "off"
TOGGLE = "toggle"


class DeviceClasses(str, Enum):
class DeviceClasses(StrEnum):
"""Light entity device classes."""


class Options(str, Enum):
class Options(StrEnum):
"""Light entity options."""

COLOR_TEMPERATURE_STEPS = "color_temperature_steps"
Expand Down
Loading