init
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
"""Constants for the SmartIR config flow and platforms."""
|
||||
from __future__ import annotations
|
||||
|
||||
# ── Sentinels ──────────────────────────────────────────────────────────────────
|
||||
MANUAL_ENTRY_SENTINEL = "__manual__"
|
||||
ALL_CONTROLLERS_SENTINEL = "Any"
|
||||
INDEX_FILENAME = "codes_index.json"
|
||||
|
||||
# ── Config-entry data keys ─────────────────────────────────────────────────────
|
||||
CONF_PLATFORM = "platform"
|
||||
CONF_DEVICE_CODE = "device_code"
|
||||
CONF_CONTROLLER_DATA = "controller_data"
|
||||
CONF_DELAY = "delay"
|
||||
CONF_DEVICE_NAME = "name"
|
||||
CONF_TEMPERATURE_SENSOR = "temperature_sensor"
|
||||
CONF_HUMIDITY_SENSOR = "humidity_sensor"
|
||||
CONF_POWER_SENSOR = "power_sensor"
|
||||
CONF_POWER_SENSOR_RESTORE_STATE = "power_sensor_restore_state"
|
||||
CONF_DEVICE_CLASS = "device_class"
|
||||
CONF_SOURCE_NAMES = "source_names"
|
||||
|
||||
# ── Defaults ───────────────────────────────────────────────────────────────────
|
||||
DEFAULT_DELAY = "0.5"
|
||||
|
||||
# ── Platform choices ───────────────────────────────────────────────────────────
|
||||
PLATFORMS: dict[str, str] = {
|
||||
"climate": "Climate (Air Conditioner / Heat Pump)",
|
||||
"fan": "Fan",
|
||||
"media_player": "Media Player (TV / Receiver)",
|
||||
"light": "Light",
|
||||
}
|
||||
|
||||
PLATFORM_SUBDIR: dict[str, str] = {
|
||||
"climate": "climate",
|
||||
"fan": "fan",
|
||||
"media_player": "media_player",
|
||||
"light": "light",
|
||||
}
|
||||
|
||||
DEFAULT_DEVICE_NAMES: dict[str, str] = {
|
||||
"climate": "SmartIR Climate",
|
||||
"fan": "SmartIR Fan",
|
||||
"media_player": "SmartIR Media Player",
|
||||
"light": "SmartIR Light",
|
||||
}
|
||||
|
||||
# ── Controller metadata ────────────────────────────────────────────────────────
|
||||
# Controllers whose device identifier is a Home Assistant remote entity ID.
|
||||
# These get an EntitySelector in the UI instead of a plain text field.
|
||||
ENTITY_BASED_CONTROLLERS: frozenset[str] = frozenset({"Broadlink", "Xiaomi"})
|
||||
|
||||
CONTROLLER_HINTS: dict[str, str] = {
|
||||
"Broadlink": "Select the Broadlink remote entity that will send IR commands.",
|
||||
"Xiaomi": "Select the Xiaomi remote entity that will send IR commands.",
|
||||
"MQTT": "Enter the MQTT topic to publish IR commands to (e.g. zigbee2mqtt/ir_blaster/set).",
|
||||
"LOOKin": "Enter the LOOKin device IP address (e.g. 192.168.1.42).",
|
||||
"ESPHome": "Enter the ESPHome remote service name (e.g. esphome_ir_blaster).",
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user