mirror of https://github.com/home-assistant/core
182 lines
4.4 KiB
Python
182 lines
4.4 KiB
Python
"""Constants used by insteon component."""
|
|
|
|
import re
|
|
|
|
from pyinsteon.groups import (
|
|
CO_SENSOR,
|
|
COVER,
|
|
DIMMABLE_FAN,
|
|
DIMMABLE_LIGHT,
|
|
DIMMABLE_LIGHT_MAIN,
|
|
DIMMABLE_OUTLET,
|
|
DOOR_SENSOR,
|
|
HEARTBEAT,
|
|
LEAK_SENSOR_WET,
|
|
LIGHT_SENSOR,
|
|
LOW_BATTERY,
|
|
MOTION_SENSOR,
|
|
NEW_SENSOR,
|
|
ON_OFF_OUTLET_BOTTOM,
|
|
ON_OFF_OUTLET_TOP,
|
|
ON_OFF_SWITCH,
|
|
ON_OFF_SWITCH_A,
|
|
ON_OFF_SWITCH_B,
|
|
ON_OFF_SWITCH_C,
|
|
ON_OFF_SWITCH_D,
|
|
ON_OFF_SWITCH_E,
|
|
ON_OFF_SWITCH_F,
|
|
ON_OFF_SWITCH_G,
|
|
ON_OFF_SWITCH_H,
|
|
ON_OFF_SWITCH_MAIN,
|
|
OPEN_CLOSE_SENSOR,
|
|
RELAY,
|
|
SENSOR_MALFUNCTION,
|
|
SMOKE_SENSOR,
|
|
TEST_SENSOR,
|
|
)
|
|
|
|
from homeassistant.const import Platform
|
|
|
|
DOMAIN = "insteon"
|
|
|
|
INSTEON_PLATFORMS = [
|
|
Platform.BINARY_SENSOR,
|
|
Platform.CLIMATE,
|
|
Platform.COVER,
|
|
Platform.FAN,
|
|
Platform.LIGHT,
|
|
Platform.LOCK,
|
|
Platform.SWITCH,
|
|
]
|
|
|
|
X10_PLATFORMS = [
|
|
Platform.BINARY_SENSOR,
|
|
Platform.SWITCH,
|
|
Platform.LIGHT,
|
|
]
|
|
|
|
CONF_IP_PORT = "ip_port"
|
|
CONF_HUB_USERNAME = "username"
|
|
CONF_HUB_PASSWORD = "password"
|
|
CONF_HUB_VERSION = "hub_version"
|
|
CONF_OVERRIDE = "device_override"
|
|
CONF_PLM_HUB_MSG = "Must configure either a PLM port or a Hub host"
|
|
CONF_CAT = "cat"
|
|
CONF_SUBCAT = "subcat"
|
|
CONF_FIRMWARE = "firmware"
|
|
CONF_PRODUCT_KEY = "product_key"
|
|
CONF_X10 = "x10_devices"
|
|
CONF_HOUSECODE = "housecode"
|
|
CONF_UNITCODE = "unitcode"
|
|
CONF_DIM_STEPS = "dim_steps"
|
|
CONF_X10_ALL_UNITS_OFF = "x10_all_units_off"
|
|
CONF_X10_ALL_LIGHTS_ON = "x10_all_lights_on"
|
|
CONF_X10_ALL_LIGHTS_OFF = "x10_all_lights_off"
|
|
CONF_DEV_PATH = "dev_path"
|
|
|
|
PORT_HUB_V1 = 9761
|
|
PORT_HUB_V2 = 25105
|
|
|
|
SRV_ADD_ALL_LINK = "add_all_link"
|
|
SRV_DEL_ALL_LINK = "delete_all_link"
|
|
SRV_LOAD_ALDB = "load_all_link_database"
|
|
SRV_PRINT_ALDB = "print_all_link_database"
|
|
SRV_PRINT_IM_ALDB = "print_im_all_link_database"
|
|
SRV_X10_ALL_UNITS_OFF = "x10_all_units_off"
|
|
SRV_X10_ALL_LIGHTS_OFF = "x10_all_lights_off"
|
|
SRV_X10_ALL_LIGHTS_ON = "x10_all_lights_on"
|
|
SRV_ALL_LINK_GROUP = "group"
|
|
SRV_ALL_LINK_MODE = "mode"
|
|
SRV_LOAD_DB_RELOAD = "reload"
|
|
SRV_CONTROLLER = "controller"
|
|
SRV_RESPONDER = "responder"
|
|
SRV_HOUSECODE = "housecode"
|
|
SRV_SCENE_ON = "scene_on"
|
|
SRV_SCENE_OFF = "scene_off"
|
|
SRV_ADD_DEFAULT_LINKS = "add_default_links"
|
|
|
|
SIGNAL_LOAD_ALDB = "load_aldb"
|
|
SIGNAL_PRINT_ALDB = "print_aldb"
|
|
SIGNAL_SAVE_DEVICES = "save_devices"
|
|
SIGNAL_ADD_ENTITIES = "insteon_add_entities"
|
|
SIGNAL_ADD_DEFAULT_LINKS = "add_default_links"
|
|
SIGNAL_ADD_DEVICE_OVERRIDE = "add_device_override"
|
|
SIGNAL_REMOVE_HA_DEVICE = "insteon_remove_ha_device"
|
|
SIGNAL_REMOVE_INSTEON_DEVICE = "insteon_remove_insteon_device"
|
|
SIGNAL_REMOVE_DEVICE_OVERRIDE = "insteon_remove_device_override"
|
|
SIGNAL_REMOVE_ENTITY = "insteon_remove_entity"
|
|
SIGNAL_ADD_X10_DEVICE = "insteon_add_x10_device"
|
|
SIGNAL_REMOVE_X10_DEVICE = "insteon_remove_x10_device"
|
|
SIGNAL_ADD_DEFAULT_LINKS = "add_default_links"
|
|
|
|
HOUSECODES = [
|
|
"a",
|
|
"b",
|
|
"c",
|
|
"d",
|
|
"e",
|
|
"f",
|
|
"g",
|
|
"h",
|
|
"i",
|
|
"j",
|
|
"k",
|
|
"l",
|
|
"m",
|
|
"n",
|
|
"o",
|
|
"p",
|
|
]
|
|
|
|
EVENT_GROUP_ON = "insteon.button_on"
|
|
EVENT_GROUP_OFF = "insteon.button_off"
|
|
EVENT_GROUP_ON_FAST = "insteon.button_on_fast"
|
|
EVENT_GROUP_OFF_FAST = "insteon.button_off_fast"
|
|
EVENT_CONF_BUTTON = "button"
|
|
|
|
STATE_NAME_LABEL_MAP = {
|
|
DIMMABLE_LIGHT_MAIN: "Main",
|
|
ON_OFF_SWITCH_A: "Button A",
|
|
ON_OFF_SWITCH_B: "Button B",
|
|
ON_OFF_SWITCH_C: "Button C",
|
|
ON_OFF_SWITCH_D: "Button D",
|
|
ON_OFF_SWITCH_E: "Button E",
|
|
ON_OFF_SWITCH_F: "Button F",
|
|
ON_OFF_SWITCH_G: "Button G",
|
|
ON_OFF_SWITCH_H: "Button H",
|
|
ON_OFF_SWITCH_MAIN: "Main",
|
|
DIMMABLE_FAN: "Fan",
|
|
DIMMABLE_LIGHT: "Light",
|
|
DIMMABLE_OUTLET: "Outlet",
|
|
MOTION_SENSOR: "Motion",
|
|
LIGHT_SENSOR: "Light",
|
|
LOW_BATTERY: "Battery",
|
|
LEAK_SENSOR_WET: "Wet",
|
|
DOOR_SENSOR: "Door",
|
|
SMOKE_SENSOR: "Smoke",
|
|
CO_SENSOR: "Carbon Monoxide",
|
|
TEST_SENSOR: "Test",
|
|
NEW_SENSOR: "New",
|
|
SENSOR_MALFUNCTION: "Malfunction",
|
|
HEARTBEAT: "Heartbeat",
|
|
OPEN_CLOSE_SENSOR: "Sensor",
|
|
ON_OFF_SWITCH: "Light",
|
|
ON_OFF_OUTLET_TOP: "Top",
|
|
ON_OFF_OUTLET_BOTTOM: "Bottom",
|
|
COVER: "Cover",
|
|
RELAY: "Relay",
|
|
}
|
|
|
|
TYPE = "type"
|
|
ID = "id"
|
|
DEVICE_ID = "device_id"
|
|
DEVICE_ADDRESS = "device_address"
|
|
ALDB_RECORD = "record"
|
|
PROPERTY_NAME = "name"
|
|
PROPERTY_VALUE = "value"
|
|
HA_DEVICE_NOT_FOUND = "ha_device_not_found"
|
|
INSTEON_DEVICE_NOT_FOUND = "insteon_device_not_found"
|
|
MULTIPLE = "multiple"
|
|
|
|
INSTEON_ADDR_REGEX = re.compile(r"([A-Fa-f0-9]{2}\.?[A-Fa-f0-9]{2}\.?[A-Fa-f0-9]{2})$")
|