This commit is contained in:
Victor Alexandrovich Tsyrenschikov
2026-03-30 20:25:42 +05:00
parent 139f9f1bd2
commit 373ed28445
2449 changed files with 53602 additions and 0 deletions

View File

@@ -0,0 +1,153 @@
"""Constants for Yandex Smart Home."""
from enum import StrEnum
DOMAIN = "yandex_smart_home"
CONF_SETTINGS = "settings"
CONF_PRESSURE_UNIT = "pressure_unit"
CONF_BETA = "beta"
CONF_CLOUD_STREAM = "cloud_stream"
CONF_CONNECTION_TYPE = "connection_type"
CONF_CLOUD_INSTANCE = "cloud_instance"
CONF_CLOUD_INSTANCE_ID = "id"
CONF_CLOUD_INSTANCE_PASSWORD = "password"
CONF_CLOUD_INSTANCE_OTP = "otp"
CONF_CLOUD_INSTANCE_CONNECTION_TOKEN = "token"
CONF_USER_ID = "user_id"
CONF_SKILL = "skill"
CONF_COLOR_PROFILE = "color_profile"
CONF_ENTITY_CONFIG = "entity_config"
CONF_FILTER = "filter"
CONF_FILTER_SOURCE = "filter_source"
CONF_ENTRY_ALIASES = "entry_aliases"
CONF_LABEL = "label"
CONF_ADD_LABEL = "add_label"
CONF_LINKED_PLATFORMS = "linked_platforms"
CONF_TURN_ON = "turn_on"
CONF_TURN_OFF = "turn_off"
CONF_FEATURES = "features"
CONF_SUPPORT_SET_CHANNEL = "support_set_channel"
CONF_STATE_UNKNOWN = "state_unknown"
CONF_BACKLIGHT_ENTITY_ID = "backlight_entity_id"
CONF_ERROR_CODE_TEMPLATE = "error_code_template"
CONF_SLOW = "slow"
CONF_ENTITY_PROPERTY_TYPE = "type"
CONF_ENTITY_PROPERTY_ENTITY = "entity"
CONF_ENTITY_PROPERTY_ATTRIBUTE = "attribute"
CONF_ENTITY_PROPERTY_VALUE_TEMPLATE = "value_template"
CONF_ENTITY_PROPERTY_UNIT_OF_MEASUREMENT = "unit_of_measurement"
CONF_ENTITY_PROPERTY_TARGET_UNIT_OF_MEASUREMENT = "target_unit_of_measurement"
CONF_ENTITY_PROPERTIES = "properties"
CONF_ENTITY_RANGE = "range"
CONF_ENTITY_RANGE_MIN = "min"
CONF_ENTITY_RANGE_MAX = "max"
CONF_ENTITY_RANGE_PRECISION = "precision"
CONF_ENTITY_MODE_MAP = "modes"
CONF_ENTITY_EVENT_MAP = "events"
CONF_ENTITY_CUSTOM_CAPABILITY_STATE_ENTITY_ID = "state_entity_id"
CONF_ENTITY_CUSTOM_CAPABILITY_STATE_ATTRIBUTE = "state_attribute"
CONF_ENTITY_CUSTOM_MODES = "custom_modes"
CONF_ENTITY_CUSTOM_MODE_SET_MODE = "set_mode"
CONF_ENTITY_CUSTOM_TOGGLES = "custom_toggles"
CONF_ENTITY_CUSTOM_TOGGLE_TURN_ON = "turn_on"
CONF_ENTITY_CUSTOM_TOGGLE_TURN_OFF = "turn_off"
CONF_ENTITY_CUSTOM_RANGES = "custom_ranges"
CONF_ENTITY_CUSTOM_RANGE_SET_VALUE = "set_value"
CONF_ENTITY_CUSTOM_RANGE_INCREASE_VALUE = "increase_value"
CONF_ENTITY_CUSTOM_RANGE_DECREASE_VALUE = "decrease_value"
ISSUE_ID_DEPRECATED_PRESSURE_UNIT = "deprecated_pressure_unit"
ISSUE_ID_DEPRECATED_YAML_NOTIFIER = "deprecated_yaml_notifier"
ISSUE_ID_DEPRECATED_YAML_SEVERAL_NOTIFIERS = "deprecated_yaml_several_notifiers"
ISSUE_ID_MISSING_INTEGRATION = "missing_integration"
ISSUE_ID_MISSING_SKILL_DATA = "missing_skill_data"
ISSUE_ID_RECONNECTING_TOO_FAST = "reconnecting_too_fast"
ISSUE_ID_PREFIX_UNEXPOSED_ENTITY_FOUND = "unexposed_entity_found_"
# Legacy
CONF_DEVICES_DISCOVERED = "devices_discovered"
CONF_NOTIFIER = "notifier"
CONF_NOTIFIER_OAUTH_TOKEN = "oauth_token"
CONF_NOTIFIER_SKILL_ID = "skill_id"
CONF_NOTIFIER_USER_ID = "user_id"
CLOUD_BASE_URL = "https://yaha-cloud.ru"
CLOUD_STREAM_BASE_URL = "https://stream.yaha-cloud.ru"
EVENT_DEVICE_ACTION = "yandex_smart_home_device_action"
ATTR_CAPABILITY = "capability"
ATTR_ERROR_CODE = "error_code"
# Additional states
STATE_NONE = "none"
STATE_NONE_UI = "-"
STATE_EMPTY = ""
STATE_CHARGING = "charging"
STATE_LOW = "low"
# Additional attributes
ATTR_CURRENT = "current"
ATTR_ILLUMINANCE = "illuminance"
ATTR_LOAD_POWER = "load_power"
ATTR_CURRENT_CONSUMPTION = "current_consumption"
ATTR_POWER = "power"
ATTR_TVOC = "total_volatile_organic_compounds"
ATTR_WATER_LEVEL = "water_level"
# Custom component Xiaomi Gateway 3
ATTR_ACTION = "action"
# Integration xiaomi_airpurifier
ATTR_TARGET_HUMIDITY = "target_humidity"
DOMAIN_XIAOMI_AIRPURIFIER = "xiaomi_miio_airpurifier"
MODEL_PREFIX_XIAOMI_AIRPURIFIER = "zhimi."
SERVICE_FAN_SET_TARGET_HUMIDITY = "fan_set_target_humidity"
# https://github.com/ClusterM/skykettle-ha/blob/c1b61c4a22693d6e2b7c2f57a989df418011f2c2/custom_components/skykettle/skykettle.py#L53
SKYKETTLE_MODE_BOIL = "Boil"
type EntityId = str
class ConnectionType(StrEnum):
"""Valid connection type."""
DIRECT = "direct"
CLOUD = "cloud"
CLOUD_PLUS = "cloud_plus"
class EntityFilterSource(StrEnum):
"""Possible sources for entity filter."""
CONFIG_ENTRY = "config_entry"
GET_FROM_CONFIG_ENTRY = "get_from_config_entry"
YAML = "yaml"
LABEL = "label"
class MediaPlayerFeature(StrEnum):
"""Media player feature that user can force enable."""
VOLUME_MUTE = "volume_mute"
VOLUME_SET = "volume_set"
NEXT_PREVIOUS_TRACK = "next_previous_track"
SELECT_SOURCE = "select_source"
TURN_ON_OFF = "turn_on_off"
PLAY_PAUSE = "play_pause"
PLAY_MEDIA = "play_media"
class PropertyInstanceType(StrEnum):
"""Property instance type for config validation."""
FLOAT = "float"
EVENT = "event"
class XGW3DeviceClass(StrEnum):
"""Device class for Xiaomi Gateway 3 custom component."""
ACTION = "action"
TVOC = "tvoc"