234 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			234 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Python
		
	
	
"""Constants for the LCN component."""
 | 
						|
from itertools import product
 | 
						|
 | 
						|
from homeassistant.const import Platform
 | 
						|
 | 
						|
PLATFORMS = [
 | 
						|
    Platform.BINARY_SENSOR,
 | 
						|
    Platform.CLIMATE,
 | 
						|
    Platform.COVER,
 | 
						|
    Platform.LIGHT,
 | 
						|
    Platform.SCENE,
 | 
						|
    Platform.SENSOR,
 | 
						|
    Platform.SWITCH,
 | 
						|
]
 | 
						|
 | 
						|
DOMAIN = "lcn"
 | 
						|
DATA_LCN = "lcn"
 | 
						|
DEFAULT_NAME = "pchk"
 | 
						|
 | 
						|
CONNECTION = "connection"
 | 
						|
CONF_HARDWARE_SERIAL = "hardware_serial"
 | 
						|
CONF_SOFTWARE_SERIAL = "software_serial"
 | 
						|
CONF_HARDWARE_TYPE = "hardware_type"
 | 
						|
CONF_RESOURCE = "resource"
 | 
						|
CONF_DOMAIN_DATA = "domain_data"
 | 
						|
 | 
						|
CONF_CONNECTIONS = "connections"
 | 
						|
CONF_SK_NUM_TRIES = "sk_num_tries"
 | 
						|
CONF_OUTPUT = "output"
 | 
						|
CONF_DIM_MODE = "dim_mode"
 | 
						|
CONF_DIMMABLE = "dimmable"
 | 
						|
CONF_TRANSITION = "transition"
 | 
						|
CONF_MOTOR = "motor"
 | 
						|
CONF_LOCKABLE = "lockable"
 | 
						|
CONF_VARIABLE = "variable"
 | 
						|
CONF_VALUE = "value"
 | 
						|
CONF_RELVARREF = "value_reference"
 | 
						|
CONF_SETPOINT = "setpoint"
 | 
						|
CONF_LED = "led"
 | 
						|
CONF_KEYS = "keys"
 | 
						|
CONF_TIME = "time"
 | 
						|
CONF_TIME_UNIT = "time_unit"
 | 
						|
CONF_TABLE = "table"
 | 
						|
CONF_ROW = "row"
 | 
						|
CONF_TEXT = "text"
 | 
						|
CONF_PCK = "pck"
 | 
						|
CONF_CLIMATES = "climates"
 | 
						|
CONF_MAX_TEMP = "max_temp"
 | 
						|
CONF_MIN_TEMP = "min_temp"
 | 
						|
CONF_SCENES = "scenes"
 | 
						|
CONF_REGISTER = "register"
 | 
						|
CONF_OUTPUTS = "outputs"
 | 
						|
CONF_REVERSE_TIME = "reverse_time"
 | 
						|
 | 
						|
DIM_MODES = ["STEPS50", "STEPS200"]
 | 
						|
 | 
						|
OUTPUT_PORTS = ["OUTPUT1", "OUTPUT2", "OUTPUT3", "OUTPUT4"]
 | 
						|
 | 
						|
RELAY_PORTS = [
 | 
						|
    "RELAY1",
 | 
						|
    "RELAY2",
 | 
						|
    "RELAY3",
 | 
						|
    "RELAY4",
 | 
						|
    "RELAY5",
 | 
						|
    "RELAY6",
 | 
						|
    "RELAY7",
 | 
						|
    "RELAY8",
 | 
						|
    "MOTORONOFF1",
 | 
						|
    "MOTORUPDOWN1",
 | 
						|
    "MOTORONOFF2",
 | 
						|
    "MOTORUPDOWN2",
 | 
						|
    "MOTORONOFF3",
 | 
						|
    "MOTORUPDOWN3",
 | 
						|
    "MOTORONOFF4",
 | 
						|
    "MOTORUPDOWN4",
 | 
						|
]
 | 
						|
 | 
						|
MOTOR_PORTS = ["MOTOR1", "MOTOR2", "MOTOR3", "MOTOR4", "OUTPUTS"]
 | 
						|
 | 
						|
LED_PORTS = [
 | 
						|
    "LED1",
 | 
						|
    "LED2",
 | 
						|
    "LED3",
 | 
						|
    "LED4",
 | 
						|
    "LED5",
 | 
						|
    "LED6",
 | 
						|
    "LED7",
 | 
						|
    "LED8",
 | 
						|
    "LED9",
 | 
						|
    "LED10",
 | 
						|
    "LED11",
 | 
						|
    "LED12",
 | 
						|
]
 | 
						|
 | 
						|
LED_STATUS = ["OFF", "ON", "BLINK", "FLICKER"]
 | 
						|
 | 
						|
LOGICOP_PORTS = ["LOGICOP1", "LOGICOP2", "LOGICOP3", "LOGICOP4"]
 | 
						|
 | 
						|
BINSENSOR_PORTS = [
 | 
						|
    "BINSENSOR1",
 | 
						|
    "BINSENSOR2",
 | 
						|
    "BINSENSOR3",
 | 
						|
    "BINSENSOR4",
 | 
						|
    "BINSENSOR5",
 | 
						|
    "BINSENSOR6",
 | 
						|
    "BINSENSOR7",
 | 
						|
    "BINSENSOR8",
 | 
						|
]
 | 
						|
 | 
						|
KEYS = [f"{t[0]:s}{t[1]:d}" for t in product(["A", "B", "C", "D"], range(1, 9))]
 | 
						|
 | 
						|
VARIABLES = [
 | 
						|
    "VAR1ORTVAR",
 | 
						|
    "VAR2ORR1VAR",
 | 
						|
    "VAR3ORR2VAR",
 | 
						|
    "TVAR",
 | 
						|
    "R1VAR",
 | 
						|
    "R2VAR",
 | 
						|
    "VAR1",
 | 
						|
    "VAR2",
 | 
						|
    "VAR3",
 | 
						|
    "VAR4",
 | 
						|
    "VAR5",
 | 
						|
    "VAR6",
 | 
						|
    "VAR7",
 | 
						|
    "VAR8",
 | 
						|
    "VAR9",
 | 
						|
    "VAR10",
 | 
						|
    "VAR11",
 | 
						|
    "VAR12",
 | 
						|
]
 | 
						|
 | 
						|
SETPOINTS = ["R1VARSETPOINT", "R2VARSETPOINT"]
 | 
						|
 | 
						|
THRESHOLDS = [
 | 
						|
    "THRS1",
 | 
						|
    "THRS2",
 | 
						|
    "THRS3",
 | 
						|
    "THRS4",
 | 
						|
    "THRS5",
 | 
						|
    "THRS2_1",
 | 
						|
    "THRS2_2",
 | 
						|
    "THRS2_3",
 | 
						|
    "THRS2_4",
 | 
						|
    "THRS3_1",
 | 
						|
    "THRS3_2",
 | 
						|
    "THRS3_3",
 | 
						|
    "THRS3_4",
 | 
						|
    "THRS4_1",
 | 
						|
    "THRS4_2",
 | 
						|
    "THRS4_3",
 | 
						|
    "THRS4_4",
 | 
						|
]
 | 
						|
 | 
						|
S0_INPUTS = ["S0INPUT1", "S0INPUT2", "S0INPUT3", "S0INPUT4"]
 | 
						|
 | 
						|
VAR_UNITS = [
 | 
						|
    "",
 | 
						|
    "LCN",
 | 
						|
    "NATIVE",
 | 
						|
    "°C",
 | 
						|
    "K",
 | 
						|
    "°F",
 | 
						|
    "LUX_T",
 | 
						|
    "LX_T",
 | 
						|
    "LUX_I",
 | 
						|
    "LUX",
 | 
						|
    "LX",
 | 
						|
    "M/S",
 | 
						|
    "METERPERSECOND",
 | 
						|
    "%",
 | 
						|
    "PERCENT",
 | 
						|
    "PPM",
 | 
						|
    "VOLT",
 | 
						|
    "V",
 | 
						|
    "AMPERE",
 | 
						|
    "AMP",
 | 
						|
    "A",
 | 
						|
    "DEGREE",
 | 
						|
    "°",
 | 
						|
]
 | 
						|
 | 
						|
RELVARREF = ["CURRENT", "PROG"]
 | 
						|
 | 
						|
SENDKEYCOMMANDS = ["HIT", "MAKE", "BREAK", "DONTSEND"]
 | 
						|
 | 
						|
SENDKEYS = [
 | 
						|
    "A1",
 | 
						|
    "A2",
 | 
						|
    "A3",
 | 
						|
    "A4",
 | 
						|
    "A5",
 | 
						|
    "A6",
 | 
						|
    "A7",
 | 
						|
    "A8",
 | 
						|
    "B1",
 | 
						|
    "B2",
 | 
						|
    "B3",
 | 
						|
    "B4",
 | 
						|
    "B5",
 | 
						|
    "B6",
 | 
						|
    "B7",
 | 
						|
    "B8",
 | 
						|
    "C1",
 | 
						|
    "C2",
 | 
						|
    "C3",
 | 
						|
    "C4",
 | 
						|
    "C5",
 | 
						|
    "C6",
 | 
						|
    "C7",
 | 
						|
    "C8",
 | 
						|
]
 | 
						|
 | 
						|
KEY_ACTIONS = ["HIT", "MAKE", "BREAK"]
 | 
						|
 | 
						|
TIME_UNITS = [
 | 
						|
    "SECONDS",
 | 
						|
    "SECOND",
 | 
						|
    "SEC",
 | 
						|
    "S",
 | 
						|
    "MINUTES",
 | 
						|
    "MINUTE",
 | 
						|
    "MIN",
 | 
						|
    "M",
 | 
						|
    "HOURS",
 | 
						|
    "HOUR",
 | 
						|
    "H",
 | 
						|
    "DAYS",
 | 
						|
    "DAY",
 | 
						|
    "D",
 | 
						|
]
 | 
						|
 | 
						|
MOTOR_REVERSE_TIME = ["RT70", "RT600", "RT1200"]
 |