2017-04-30 05:04:49 +00:00
|
|
|
"""All constants related to the ZHA component."""
|
2018-11-27 20:21:25 +00:00
|
|
|
import enum
|
|
|
|
|
|
|
|
DOMAIN = 'zha'
|
|
|
|
|
|
|
|
BAUD_RATES = [
|
|
|
|
2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200, 128000, 256000
|
|
|
|
]
|
|
|
|
|
|
|
|
DATA_ZHA = 'zha'
|
|
|
|
DATA_ZHA_CONFIG = 'config'
|
|
|
|
DATA_ZHA_BRIDGE_ID = 'zha_bridge_id'
|
|
|
|
DATA_ZHA_RADIO = 'zha_radio'
|
|
|
|
DATA_ZHA_DISPATCHERS = 'zha_dispatchers'
|
|
|
|
DATA_ZHA_CORE_COMPONENT = 'zha_core_component'
|
2018-12-10 15:59:50 +00:00
|
|
|
DATA_ZHA_CORE_EVENTS = 'zha_core_events'
|
2018-11-27 20:21:25 +00:00
|
|
|
ZHA_DISCOVERY_NEW = 'zha_discovery_new_{}'
|
|
|
|
|
|
|
|
COMPONENTS = [
|
|
|
|
'binary_sensor',
|
|
|
|
'fan',
|
|
|
|
'light',
|
|
|
|
'sensor',
|
|
|
|
'switch',
|
|
|
|
]
|
|
|
|
|
|
|
|
CONF_BAUDRATE = 'baudrate'
|
|
|
|
CONF_DATABASE = 'database_path'
|
|
|
|
CONF_DEVICE_CONFIG = 'device_config'
|
|
|
|
CONF_RADIO_TYPE = 'radio_type'
|
|
|
|
CONF_USB_PATH = 'usb_path'
|
|
|
|
DATA_DEVICE_CONFIG = 'zha_device_config'
|
2018-12-12 16:06:22 +00:00
|
|
|
ENABLE_QUIRKS = 'enable_quirks'
|
2018-11-27 20:21:25 +00:00
|
|
|
|
|
|
|
DEFAULT_RADIO_TYPE = 'ezsp'
|
|
|
|
DEFAULT_BAUDRATE = 57600
|
|
|
|
DEFAULT_DATABASE_NAME = 'zigbee.db'
|
|
|
|
|
2019-01-11 19:34:29 +00:00
|
|
|
ATTR_CLUSTER_ID = 'cluster_id'
|
|
|
|
ATTR_CLUSTER_TYPE = 'cluster_type'
|
|
|
|
ATTR_ATTRIBUTE = 'attribute'
|
|
|
|
ATTR_VALUE = 'value'
|
|
|
|
ATTR_MANUFACTURER = 'manufacturer'
|
|
|
|
ATTR_COMMAND = 'command'
|
|
|
|
ATTR_COMMAND_TYPE = 'command_type'
|
|
|
|
ATTR_ARGS = 'args'
|
|
|
|
|
|
|
|
IN = 'in'
|
|
|
|
OUT = 'out'
|
|
|
|
CLIENT_COMMANDS = 'client_commands'
|
|
|
|
SERVER_COMMANDS = 'server_commands'
|
|
|
|
SERVER = 'server'
|
|
|
|
|
2018-11-27 20:21:25 +00:00
|
|
|
|
|
|
|
class RadioType(enum.Enum):
|
|
|
|
"""Possible options for radio type."""
|
|
|
|
|
|
|
|
ezsp = 'ezsp'
|
|
|
|
xbee = 'xbee'
|
2019-01-17 00:09:09 +00:00
|
|
|
deconz = 'deconz'
|
2018-11-27 20:21:25 +00:00
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def list(cls):
|
|
|
|
"""Return list of enum's values."""
|
|
|
|
return [e.value for e in RadioType]
|
|
|
|
|
2017-04-25 05:24:57 +00:00
|
|
|
|
2018-11-22 18:00:46 +00:00
|
|
|
DISCOVERY_KEY = 'zha_discovery_info'
|
2017-04-25 05:24:57 +00:00
|
|
|
DEVICE_CLASS = {}
|
2018-04-30 06:31:27 +00:00
|
|
|
SINGLE_INPUT_CLUSTER_DEVICE_CLASS = {}
|
|
|
|
SINGLE_OUTPUT_CLUSTER_DEVICE_CLASS = {}
|
2018-10-09 10:53:02 +00:00
|
|
|
CUSTOM_CLUSTER_MAPPINGS = {}
|
2017-04-25 05:24:57 +00:00
|
|
|
COMPONENT_CLUSTERS = {}
|
2018-12-10 15:59:50 +00:00
|
|
|
EVENTABLE_CLUSTERS = []
|
2017-04-25 05:24:57 +00:00
|
|
|
|
2018-12-19 13:52:20 +00:00
|
|
|
REPORT_CONFIG_MAX_INT = 900
|
|
|
|
REPORT_CONFIG_MAX_INT_BATTERY_SAVE = 10800
|
|
|
|
REPORT_CONFIG_MIN_INT = 30
|
|
|
|
REPORT_CONFIG_MIN_INT_ASAP = 1
|
|
|
|
REPORT_CONFIG_MIN_INT_IMMEDIATE = 0
|
|
|
|
REPORT_CONFIG_MIN_INT_OP = 5
|
|
|
|
REPORT_CONFIG_MIN_INT_BATTERY_SAVE = 3600
|
|
|
|
REPORT_CONFIG_RPT_CHANGE = 1
|
|
|
|
REPORT_CONFIG_DEFAULT = (REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT,
|
|
|
|
REPORT_CONFIG_RPT_CHANGE)
|
|
|
|
REPORT_CONFIG_ASAP = (REPORT_CONFIG_MIN_INT_ASAP, REPORT_CONFIG_MAX_INT,
|
|
|
|
REPORT_CONFIG_RPT_CHANGE)
|
|
|
|
REPORT_CONFIG_BATTERY_SAVE = (REPORT_CONFIG_MIN_INT_BATTERY_SAVE,
|
|
|
|
REPORT_CONFIG_MAX_INT,
|
|
|
|
REPORT_CONFIG_RPT_CHANGE)
|
|
|
|
REPORT_CONFIG_IMMEDIATE = (REPORT_CONFIG_MIN_INT_IMMEDIATE,
|
|
|
|
REPORT_CONFIG_MAX_INT,
|
|
|
|
REPORT_CONFIG_RPT_CHANGE)
|
|
|
|
REPORT_CONFIG_OP = (REPORT_CONFIG_MIN_INT_OP, REPORT_CONFIG_MAX_INT,
|
|
|
|
REPORT_CONFIG_RPT_CHANGE)
|