CAP_ALARM = "Alarm"
CAP_COLOR_CONTROL = "ColorControl"
CAP_COLOR_MODE = "ColorMode"
CAP_COLOR_TEMP = "ColorTemperature"
CAP_CONTACT_SENSOR = "ContactSensor"
CAP_DOOR_CONTROL = "DoorControl"
CAP_ENERGY_METER = "EnergyMeter"
CAP_ENERGY_SOURCE = "EnergySource"
CAP_GARAGE_DOOR_CONTROL = "GarageDoorControl"
CAP_HOLDABLE_BUTTON = "HoldableButton"
CAP_ILLUMINANCE_MEASUREMENT = "IlluminanceMeasurement"
CAP_LIGHT = "Light"
CAP_LOCK = "Lock"
CAP_LOCK_CODES = "LockCodes"
CAP_MOTION_SENSOR = "MotionSensor"
CAP_MUSIC_PLAYER = "MusicPlayer"
CAP_POWER_METER = "PowerMeter"
CAP_POWER_SOURCE = "PowerSource"
CAP_PRESENCE_SENSOR = "PresenceSensor"
CAP_PRESSURE_MEASUREMENT = "PressureMeasurement"
CAP_PUSHABLE_BUTTON = "PushableButton"
CAP_DOUBLE_TAPABLE_BUTTON = "DoubleTapableButton"
CAP_RELATIVE_HUMIDITY_MEASUREMENT = "RelativeHumidityMeasurement"
CAP_SECURITY_KEYPAD = "SecurityKeypad"
CAP_SWITCH = "Switch"
CAP_SWITCH_LEVEL = "SwitchLevel"
CAP_TEMPERATURE_MEASUREMENT = "TemperatureMeasurement"
CAP_THERMOSTAT = "Thermostat"
CAP_WINDOW_SHADE = "WindowShade"
CAP_FAN_CONTROL = "FanControl"

ATTR_ACCELERATION = "acceleration"
ATTR_ALARM = "alarm"
ATTR_BATTERY = "battery"
ATTR_CARBON_MONOXIDE = "carbonMonoxide"
ATTR_CODE_CHANGED = "codeChanged"
ATTR_CODE_LENGTH = "codeLength"
ATTR_COLOR_MODE = "colorMode"
ATTR_COLOR_NAME = "colorName"
ATTR_COLOR_TEMP = "colorTemperature"
ATTR_CURRENT = "current"
ATTR_CONTACT = "contact"
ATTR_DEVICE_ID = "device_id"
ATTR_DOOR = "door"
ATTR_DOUBLE_TAPPED = "doubleTapped"
ATTR_ENERGY = "energy"
ATTR_ENERGY_SOURCE = "energySource"
ATTR_ENTRY_DELAY = "entryDelay"
ATTR_EXIT_DELAY = "exitDelay"
ATTR_HELD = "held"
ATTR_HUE = "hue"
ATTR_HUMIDITY = "humidity"
ATTR_ILLUMINANCE = "illuminance"
ATTR_LAST_CODE_NAME = "lastCodeName"
ATTR_LEVEL = "level"
ATTR_LOCK = "lock"
ATTR_LOCK_CODES = "lockCodes"
ATTR_MAX_CODES = "maxCodes"
ATTR_MOTION = "motion"
ATTR_NAME = "name"
ATTR_NUM_BUTTONS = "numberOfButtons"
ATTR_POSITION = "position"
ATTR_POWER = "power"
ATTR_PRESENCE = "presence"
ATTR_PRESSURE = "pressure"
ATTR_POWER_SOURCE = "powerSource"
ATTR_PUSHED = "pushed"
ATTR_SATURATION = "saturation"
ATTR_SECURITY_KEYPAD = "securityKeypad"
ATTR_SMOKE = "smoke"
ATTR_TEMPERATURE = "temperature"
ATTR_UV = "ultravioletIndex"
ATTR_VALUE = "value"
ATTR_VOLTAGE = "voltage"
ATTR_WATER = "water"
ATTR_WINDOW_SHADE = "windowShade"
ATTR_SPEED = "speed"
ATTR_SWITCH = "switch"

CMD_ARM_AWAY = "armAway"
CMD_ARM_HOME = "armHome"
CMD_ARM_NIGHT = "armNight"
CMD_AUTO = "auto"
CMD_AWAY = "away"
CMD_BOTH = "both"
CMD_CLOSE = "close"
CMD_COOL = "cool"
CMD_DELETE_CODE = "deleteCode"
CMD_DISARM = "disarm"
CMD_ECO = "eco"
CMD_EMERGENCY_HEAT = "emergencyHeat"
CMD_FAN_AUTO = "fanAuto"
CMD_FAN_CIRCULATE = "fanCirculate"
CMD_FAN_ON = "fanOn"
CMD_FLASH = "flash"
CMD_GET_CODES = "getCodes"
CMD_HEAT = "heat"
CMD_LOCK = "lock"
CMD_OFF = "off"
CMD_ON = "on"
CMD_OPEN = "open"
CMD_PRESENT = "present"
CMD_SET_CODE = "setCode"
CMD_SET_CODE_LENGTH = "setCodeLength"
CMD_SET_COLOR = "setColor"
CMD_SET_COLOR_TEMP = "setColorTemperature"
CMD_SET_ENTRY_DELAY = "setEntryDelay"
CMD_SET_EXIT_DELAY = "setExitDelay"
CMD_SET_HUE = "setHue"
CMD_SET_LEVEL = "setLevel"
CMD_SET_POSITION = "setPosition"
CMD_SET_SAT = "setSaturation"
CMD_SET_HEATING_SETPOINT = "setHeatingSetpoint"
CMD_SET_COOLING_SETPOINT = "setCoolingSetpoint"
CMD_SET_PRESENCE = "setPresence"
CMD_SET_THERMOSTAT_MODE = "setThermostatMode"
CMD_SET_FAN_MODE = "setThermostatFanMode"
CMD_SIREN = "siren"
CMD_STROBE = "strobe"
CMD_UNLOCK = "unlock"
CMD_SET_SPEED = "setSpeed"
CMD_CYCLE_SPEED = "cycleSpeed"

# See https://docs.hubitat.com/index.php?title=Hubitat®_Safety_Monitor_Interface
HSM_ARM_ALL = "armAll"
HSM_ARM_AWAY = "armAway"
HSM_ARM_HOME = "armHome"
HSM_ARM_NIGHT = "armNight"
HSM_ARM_RULES = "armRules"
HSM_CANCEL_ALERTS = "cancelAlerts"
HSM_DISARM = "disarm"
HSM_DISARM_ALL = "disarmAll"
HSM_DISARM_RULES = "disarmRules"

HSM_STATUS_ARMED_AWAY = "armedAway"
HSM_STATUS_ARMING_AWAY = "armingAway"
HSM_STATUS_ARMED_HOME = "armedHome"
HSM_STATUS_ARMING_HOME = "armingHome"
HSM_STATUS_ARMED_NIGHT = "armedNight"
HSM_STATUS_ARMING_NIGHT = "armingNight"
HSM_STATUS_DISARMED = "disarmed"
HSM_STATUS_ALL_DISARMED = "allDisarmed"

ID_MODE = "hub_mode"
ID_HSM_STATUS = "hub_hsm_status"

STATE_ARMED_AWAY = "armed away"
STATE_ARMED_HOME = "armed home"
STATE_ARMED_NIGHT = "armed night"
STATE_CLOSED = "closed"
STATE_CLOSING = "closing"
STATE_DISARMED = "disarmed"
STATE_LOCKED = "locked"
STATE_LOW = "low"
STATE_OFF = "off"
STATE_ON = "on"
STATE_OPEN = "open"
STATE_OPENING = "opening"
STATE_PARTIALLY_OPEN = "partially open"
STATE_UNKNOWN = "unknown"
STATE_UNLOCKED = "unlocked"
STATE_UNLOCKED_WITH_TIMEOUT = "unlocked with timeout"

DEFAULT_FAN_SPEEDS = [
    "low",
    "medium-low",
    "medium",
    "medium-high",
    "high",
    "on",
    "off",
    "auto",
]

COLOR_MODE_RGB = "RGB"
COLOR_MODE_CT = "CT"
