Files
srv-docker/homeassistant/config/custom_components/yandex_smart_home/schema/response.py
2026-03-07 17:28:59 +00:00

53 lines
1.4 KiB
Python

"""Schema for an API response.
https://yandex.ru/dev/dialogs/smart-home/doc/concepts/response-codes.html
"""
from enum import StrEnum
from .base import APIModel
class ResponseCode(StrEnum):
"""Response code."""
DOOR_OPEN = "DOOR_OPEN"
LID_OPEN = "LID_OPEN"
REMOTE_CONTROL_DISABLED = "REMOTE_CONTROL_DISABLED"
NOT_ENOUGH_WATER = "NOT_ENOUGH_WATER"
LOW_CHARGE_LEVEL = "LOW_CHARGE_LEVEL"
CONTAINER_FULL = "CONTAINER_FULL"
CONTAINER_EMPTY = "CONTAINER_EMPTY"
DRIP_TRAY_FULL = "DRIP_TRAY_FULL"
DEVICE_STUCK = "DEVICE_STUCK"
DEVICE_OFF = "DEVICE_OFF"
FIRMWARE_OUT_OF_DATE = "FIRMWARE_OUT_OF_DATE"
NOT_ENOUGH_DETERGENT = "NOT_ENOUGH_DETERGENT"
HUMAN_INVOLVEMENT_NEEDED = "HUMAN_INVOLVEMENT_NEEDED"
DEVICE_UNREACHABLE = "DEVICE_UNREACHABLE"
DEVICE_BUSY = "DEVICE_BUSY"
INTERNAL_ERROR = "INTERNAL_ERROR"
INVALID_ACTION = "INVALID_ACTION"
INVALID_VALUE = "INVALID_VALUE"
NOT_SUPPORTED_IN_CURRENT_MODE = "NOT_SUPPORTED_IN_CURRENT_MODE"
ACCOUNT_LINKING_ERROR = "ACCOUNT_LINKING_ERROR"
DEVICE_NOT_FOUND = "DEVICE_NOT_FOUND"
class ResponsePayload(APIModel):
"""Base class for an API response payload."""
class Error(ResponsePayload):
"""Error payload."""
error_code: ResponseCode
error_message: str | None = None
class Response(APIModel):
"""Base API response."""
request_id: str | None = None
payload: ResponsePayload | None = None