Source code for homematicip.base.enums

# coding=utf-8
import logging

from enum import Enum, auto

logger = logging.getLogger(__name__)


[docs] class AutoNameEnum(str, Enum): """auto() will generate the name of the attribute as value""" def _generate_next_value_(name, start, count, last_values): return name def __str__(self): return self.value
[docs] @classmethod def from_str(cls, text: str, default=None): """this function will create the enum object based on its string value Args: text(str): the string value of the enum default(AutoNameEnum): a default value if text could not be used Returns: the enum object or None if the text is None or the default value """ if text is None: return None try: return cls(text) except: logger.warning( "'%s' isn't a valid option for class '%s'", text, cls.__name__ ) return default
[docs] class AcousticAlarmTiming(AutoNameEnum): PERMANENT = auto() THREE_MINUTES = auto() SIX_MINUTES = auto() ONCE_PER_MINUTE = auto()
[docs] class WaterAlarmTrigger(AutoNameEnum): NO_ALARM = auto() MOISTURE_DETECTION = auto() WATER_DETECTION = auto() WATER_MOISTURE_DETECTION = auto()
[docs] class AcousticAlarmSignal(AutoNameEnum): DISABLE_ACOUSTIC_SIGNAL = auto() FREQUENCY_RISING = auto() FREQUENCY_FALLING = auto() FREQUENCY_RISING_AND_FALLING = auto() FREQUENCY_ALTERNATING_LOW_HIGH = auto() FREQUENCY_ALTERNATING_LOW_MID_HIGH = auto() FREQUENCY_HIGHON_OFF = auto() FREQUENCY_HIGHON_LONGOFF = auto() FREQUENCY_LOWON_OFF_HIGHON_OFF = auto() FREQUENCY_LOWON_LONGOFF_HIGHON_LONGOFF = auto() LOW_BATTERY = auto() DISARMED = auto() INTERNALLY_ARMED = auto() EXTERNALLY_ARMED = auto() DELAYED_INTERNALLY_ARMED = auto() DELAYED_EXTERNALLY_ARMED = auto() EVENT = auto() ERROR = auto()
[docs] class AlarmContactType(AutoNameEnum): PASSIVE_GLASS_BREAKAGE_DETECTOR = auto() WINDOW_DOOR_CONTACT = auto()
[docs] class ClimateControlDisplay(AutoNameEnum): ACTUAL = auto() SETPOINT = auto() ACTUAL_HUMIDITY = auto()
[docs] class WindowState(AutoNameEnum): OPEN = auto() CLOSED = auto() TILTED = auto()
[docs] class ValveState(AutoNameEnum): STATE_NOT_AVAILABLE = auto() RUN_TO_START = auto() WAIT_FOR_ADAPTION = auto() ADAPTION_IN_PROGRESS = auto() ADAPTION_DONE = auto() TOO_TIGHT = auto() ADJUSTMENT_TOO_BIG = auto() ADJUSTMENT_TOO_SMALL = auto() ERROR_POSITION = auto()
[docs] class HeatingValveType(AutoNameEnum): NORMALLY_CLOSE = auto() NORMALLY_OPEN = auto()
[docs] class ContactType(AutoNameEnum): NORMALLY_CLOSE = auto() NORMALLY_OPEN = auto()
[docs] class RGBColorState(AutoNameEnum): BLACK = auto() BLUE = auto() GREEN = auto() TURQUOISE = auto() RED = auto() PURPLE = auto() YELLOW = auto() WHITE = auto()
[docs] class DeviceUpdateStrategy(AutoNameEnum): MANUALLY = auto() AUTOMATICALLY_IF_POSSIBLE = auto()
[docs] class ApExchangeState(AutoNameEnum): NONE = auto() REQUESTED = auto() IN_PROGRESS = auto() DONE = auto() REJECTED = auto()
[docs] class HomeUpdateState(AutoNameEnum): UP_TO_DATE = auto() UPDATE_AVAILABLE = auto() PERFORM_UPDATE_SENT = auto() PERFORMING_UPDATE = auto()
[docs] class WeatherCondition(AutoNameEnum): CLEAR = auto() LIGHT_CLOUDY = auto() CLOUDY = auto() CLOUDY_WITH_RAIN = auto() CLOUDY_WITH_SNOW_RAIN = auto() HEAVILY_CLOUDY = auto() HEAVILY_CLOUDY_WITH_RAIN = auto() HEAVILY_CLOUDY_WITH_STRONG_RAIN = auto() HEAVILY_CLOUDY_WITH_SNOW = auto() HEAVILY_CLOUDY_WITH_SNOW_RAIN = auto() HEAVILY_CLOUDY_WITH_THUNDER = auto() HEAVILY_CLOUDY_WITH_RAIN_AND_THUNDER = auto() FOGGY = auto() STRONG_WIND = auto() UNKNOWN = auto()
[docs] class WeatherDayTime(AutoNameEnum): DAY = auto() TWILIGHT = auto() NIGHT = auto()
[docs] class ClimateControlMode(AutoNameEnum): AUTOMATIC = auto() MANUAL = auto() ECO = auto()
[docs] class AbsenceType(AutoNameEnum): NOT_ABSENT = auto() PERIOD = auto() PERMANENT = auto() VACATION = auto() PARTY = auto()
[docs] class EcoDuration(AutoNameEnum): ONE = auto() TWO = auto() FOUR = auto() SIX = auto() PERMANENT = auto()
[docs] class SecurityZoneActivationMode(AutoNameEnum): ACTIVATION_WITH_DEVICE_IGNORELIST = auto() ACTIVATION_IF_ALL_IN_VALID_STATE = auto()
[docs] class ClientType(AutoNameEnum): APP = auto() C2C = auto()
[docs] class DeviceType(AutoNameEnum): DEVICE = auto() BASE_DEVICE = auto() EXTERNAL = auto() ACCELERATION_SENSOR = auto() ALARM_SIREN_INDOOR = auto() ALARM_SIREN_OUTDOOR = auto() BLIND_MODULE = auto() BRAND_BLIND = auto() BRAND_DIMMER = auto() BRAND_PUSH_BUTTON = auto() BRAND_SHUTTER = auto() BRAND_SWITCH_2 = auto() BRAND_SWITCH_MEASURING = auto() BRAND_SWITCH_NOTIFICATION_LIGHT = auto() BRAND_WALL_MOUNTED_THERMOSTAT = auto() CARBON_DIOXIDE_SENSOR = auto() DALI_GATEWAY = auto() DIN_RAIL_BLIND_4 = auto() DIN_RAIL_SWITCH = auto() DIN_RAIL_SWITCH_4 = auto() DIN_RAIL_DIMMER_3 = auto() DOOR_BELL_BUTTON = auto() DOOR_BELL_CONTACT_INTERFACE = auto() DOOR_LOCK_DRIVE = auto() DOOR_LOCK_SENSOR = auto() ENERGY_SENSORS_INTERFACE = auto() FLOOR_TERMINAL_BLOCK_6 = auto() FLOOR_TERMINAL_BLOCK_10 = auto() FLOOR_TERMINAL_BLOCK_12 = auto() FULL_FLUSH_BLIND = auto() FULL_FLUSH_CONTACT_INTERFACE = auto() FULL_FLUSH_CONTACT_INTERFACE_6 = auto() FULL_FLUSH_DIMMER = auto() FULL_FLUSH_INPUT_SWITCH = auto() FULL_FLUSH_SHUTTER = auto() FULL_FLUSH_SWITCH_MEASURING = auto() HEATING_SWITCH_2 = auto() HEATING_THERMOSTAT = auto() HEATING_THERMOSTAT_COMPACT = auto() HEATING_THERMOSTAT_COMPACT_PLUS = auto() HEATING_THERMOSTAT_EVO = auto() HOME_CONTROL_ACCESS_POINT = auto() HOERMANN_DRIVES_MODULE = auto() KEY_REMOTE_CONTROL_4 = auto() KEY_REMOTE_CONTROL_ALARM = auto() LIGHT_SENSOR = auto() MOTION_DETECTOR_INDOOR = auto() MOTION_DETECTOR_OUTDOOR = auto() MOTION_DETECTOR_PUSH_BUTTON = auto() MULTI_IO_BOX = auto() OPEN_COLLECTOR_8_MODULE = auto() PASSAGE_DETECTOR = auto() PLUGGABLE_MAINS_FAILURE_SURVEILLANCE = auto() PLUGABLE_SWITCH = auto() PLUGABLE_SWITCH_MEASURING = auto() PLUGGABLE_DIMMER = auto() PRESENCE_DETECTOR_INDOOR = auto() PRINTED_CIRCUIT_BOARD_SWITCH_BATTERY = auto() PRINTED_CIRCUIT_BOARD_SWITCH_2 = auto() PUSH_BUTTON = auto() PUSH_BUTTON_6 = auto() PUSH_BUTTON_FLAT = auto() RAIN_SENSOR = auto() REMOTE_CONTROL_8 = auto() REMOTE_CONTROL_8_MODULE = auto() RGBW_DIMMER = auto() ROOM_CONTROL_DEVICE = auto() ROOM_CONTROL_DEVICE_ANALOG = auto() ROTARY_HANDLE_SENSOR = auto() SHUTTER_CONTACT = auto() SHUTTER_CONTACT_INTERFACE = auto() SHUTTER_CONTACT_INVISIBLE = auto() SHUTTER_CONTACT_MAGNETIC = auto() SHUTTER_CONTACT_OPTICAL_PLUS = auto() SMOKE_DETECTOR = auto() TEMPERATURE_HUMIDITY_SENSOR = auto() TEMPERATURE_HUMIDITY_SENSOR_DISPLAY = auto() TEMPERATURE_HUMIDITY_SENSOR_OUTDOOR = auto() TEMPERATURE_SENSOR_2_EXTERNAL_DELTA = auto() TILT_VIBRATION_SENSOR = auto() TORMATIC_MODULE = auto() WALL_MOUNTED_THERMOSTAT_BASIC_HUMIDITY = auto() WALL_MOUNTED_THERMOSTAT_PRO = auto() WALL_MOUNTED_GARAGE_DOOR_CONTROLLER = auto() WALL_MOUNTED_UNIVERSAL_ACTUATOR = auto() WATER_SENSOR = auto() WEATHER_SENSOR = auto() WEATHER_SENSOR_PLUS = auto() WEATHER_SENSOR_PRO = auto() WIRED_BLIND_4 = auto() WIRED_DIMMER_3 = auto() WIRED_DIN_RAIL_ACCESS_POINT = auto() WIRED_FLOOR_TERMINAL_BLOCK_12 = auto() WIRED_INPUT_32 = auto() WIRED_INPUT_SWITCH_6 = auto() WIRED_MOTION_DETECTOR_PUSH_BUTTON = auto() WIRED_PRESENCE_DETECTOR_INDOOR = auto() WIRED_PUSH_BUTTON_2 = auto() WIRED_PUSH_BUTTON_6 = auto() WIRED_SWITCH_8 = auto() WIRED_SWITCH_4 = auto() WIRED_WALL_MOUNTED_THERMOSTAT = auto()
[docs] class GroupType(AutoNameEnum): GROUP = auto() ACCESS_AUTHORIZATION_PROFILE = auto() ACCESS_CONTROL = auto() ALARM_SWITCHING = auto() ENERGY = auto() ENVIRONMENT = auto() EXTENDED_LINKED_GARAGE_DOOR = auto() EXTENDED_LINKED_SHUTTER = auto() EXTENDED_LINKED_SWITCHING = auto() HEATING = auto() HEATING_CHANGEOVER = auto() HEATING_COOLING_DEMAND = auto() HEATING_COOLING_DEMAND_BOILER = auto() HEATING_COOLING_DEMAND_PUMP = auto() HEATING_DEHUMIDIFIER = auto() HEATING_EXTERNAL_CLOCK = auto() HEATING_FAILURE_ALERT_RULE_GROUP = auto() HEATING_HUMIDITY_LIMITER = auto() HEATING_TEMPERATURE_LIMITER = auto() HOT_WATER = auto() HUMIDITY_WARNING_RULE_GROUP = auto() INBOX = auto() INDOOR_CLIMATE = auto() LINKED_SWITCHING = auto() LOCK_OUT_PROTECTION_RULE = auto() OVER_HEAT_PROTECTION_RULE = auto() SECURITY = auto() SECURITY_BACKUP_ALARM_SWITCHING = auto() SECURITY_ZONE = auto() SHUTTER_PROFILE = auto() SHUTTER_WIND_PROTECTION_RULE = auto() SMOKE_ALARM_DETECTION_RULE = auto() SWITCHING = auto() SWITCHING_PROFILE = auto()
[docs] class SecurityEventType(AutoNameEnum): SENSOR_EVENT = auto() ACCESS_POINT_DISCONNECTED = auto() ACCESS_POINT_CONNECTED = auto() ACTIVATION_CHANGED = auto() SILENCE_CHANGED = auto() SABOTAGE = auto() MOISTURE_DETECTION_EVENT = auto() SMOKE_ALARM = auto() EXTERNAL_TRIGGERED = auto() OFFLINE_ALARM = auto() WATER_DETECTION_EVENT = auto() MAINS_FAILURE_EVENT = auto() OFFLINE_WATER_DETECTION_EVENT = auto()
[docs] class AutomationRuleType(AutoNameEnum): SIMPLE = auto()
[docs] class FunctionalHomeType(AutoNameEnum): ACCESS_CONTROL = auto() INDOOR_CLIMATE = auto() ENERGY = auto() LIGHT_AND_SHADOW = auto() SECURITY_AND_ALARM = auto() WEATHER_AND_ENVIRONMENT = auto()
[docs] class EventType(AutoNameEnum): SECURITY_JOURNAL_CHANGED = auto() GROUP_ADDED = auto() GROUP_REMOVED = auto() DEVICE_REMOVED = auto() DEVICE_CHANGED = auto() DEVICE_ADDED = auto() DEVICE_CHANNEL_EVENT = auto() CLIENT_REMOVED = auto() CLIENT_CHANGED = auto() CLIENT_ADDED = auto() HOME_CHANGED = auto() GROUP_CHANGED = auto()
[docs] class MotionDetectionSendInterval(AutoNameEnum): SECONDS_30 = auto() SECONDS_60 = auto() SECONDS_120 = auto() SECONDS_240 = auto() SECONDS_480 = auto()
[docs] class SmokeDetectorAlarmType(AutoNameEnum): IDLE_OFF = auto() PRIMARY_ALARM = auto() INTRUSION_ALARM = auto() SECONDARY_ALARM = auto()
[docs] class LiveUpdateState(AutoNameEnum): UP_TO_DATE = auto() UPDATE_AVAILABLE = auto() UPDATE_INCOMPLETE = auto() LIVE_UPDATE_NOT_SUPPORTED = auto()
[docs] class OpticalAlarmSignal(AutoNameEnum): DISABLE_OPTICAL_SIGNAL = auto() BLINKING_ALTERNATELY_REPEATING = auto() BLINKING_BOTH_REPEATING = auto() DOUBLE_FLASHING_REPEATING = auto() FLASHING_BOTH_REPEATING = auto() CONFIRMATION_SIGNAL_0 = auto() CONFIRMATION_SIGNAL_1 = auto() CONFIRMATION_SIGNAL_2 = auto()
[docs] class WindValueType(AutoNameEnum): CURRENT_VALUE = auto() MIN_VALUE = auto() MAX_VALUE = auto() AVERAGE_VALUE = auto()
[docs] class FunctionalChannelType(AutoNameEnum): FUNCTIONAL_CHANNEL = auto() ACCELERATION_SENSOR_CHANNEL = auto() ACCESS_AUTHORIZATION_CHANNEL = auto() ACCESS_CONTROLLER_CHANNEL = auto() ACCESS_CONTROLLER_WIRED_CHANNEL = auto() ALARM_SIREN_CHANNEL = auto() ANALOG_OUTPUT_CHANNEL = auto() ANALOG_ROOM_CONTROL_CHANNEL = auto() BLIND_CHANNEL = auto() CHANGE_OVER_CHANNEL = auto() CARBON_DIOXIDE_SENSOR_CHANNEL = auto() CLIMATE_SENSOR_CHANNEL = auto() CONTACT_INTERFACE_CHANNEL = auto() DEHUMIDIFIER_DEMAND_CHANNEL = auto() DEVICE_BASE = auto() DEVICE_BASE_FLOOR_HEATING = auto() DEVICE_GLOBAL_PUMP_CONTROL = auto() DEVICE_INCORRECT_POSITIONED = auto() DEVICE_OPERATIONLOCK = auto() DEVICE_OPERATIONLOCK_WITH_SABOTAGE = auto() DEVICE_PERMANENT_FULL_RX = auto() DEVICE_RECHARGEABLE_WITH_SABOTAGE = auto() DEVICE_SABOTAGE = auto() DIMMER_CHANNEL = auto() DOOR_CHANNEL = auto() DOOR_LOCK_CHANNEL = auto() DOOR_LOCK_SENSOR_CHANNEL = auto() EXTERNAL_BASE_CHANNEL = auto() EXTERNAL_UNIVERSAL_LIGHT_CHANNEL = auto() ENERGY_SENSORS_INTERFACE_CHANNEL = auto() FLOOR_TERMINAL_BLOCK_CHANNEL = auto() FLOOR_TERMINAL_BLOCK_LOCAL_PUMP_CHANNEL = auto() FLOOR_TERMINAL_BLOCK_MECHANIC_CHANNEL = auto() GENERIC_INPUT_CHANNEL = auto() HEAT_DEMAND_CHANNEL = auto() HEATING_THERMOSTAT_CHANNEL = auto() IMPULSE_OUTPUT_CHANNEL = auto() INTERNAL_SWITCH_CHANNEL = auto() LIGHT_SENSOR_CHANNEL = auto() MAINS_FAILURE_CHANNEL = auto() MOTION_DETECTION_CHANNEL = auto() MULTI_MODE_INPUT_BLIND_CHANNEL = auto() MULTI_MODE_INPUT_CHANNEL = auto() MULTI_MODE_INPUT_DIMMER_CHANNEL = auto() MULTI_MODE_INPUT_SWITCH_CHANNEL = auto() NOTIFICATION_LIGHT_CHANNEL = auto() OPTICAL_SIGNAL_CHANNEL = auto() OPTICAL_SIGNAL_GROUP_CHANNEL = auto() PASSAGE_DETECTOR_CHANNEL = auto() PRESENCE_DETECTION_CHANNEL = auto() RAIN_DETECTION_CHANNEL = auto() ROTARY_HANDLE_CHANNEL = auto() SHADING_CHANNEL = auto() SHUTTER_CHANNEL = auto() SHUTTER_CONTACT_CHANNEL = auto() SINGLE_KEY_CHANNEL = auto() SMOKE_DETECTOR_CHANNEL = auto() SWITCH_CHANNEL = auto() SWITCH_MEASURING_CHANNEL = auto() TEMPERATURE_SENSOR_2_EXTERNAL_DELTA_CHANNEL = auto() TILT_VIBRATION_SENSOR_CHANNEL = auto() UNIVERSAL_ACTUATOR_CHANNEL = auto() UNIVERSAL_LIGHT_CHANNEL = auto() UNIVERSAL_LIGHT_GROUP_CHANNEL = auto() WALL_MOUNTED_THERMOSTAT_PRO_CHANNEL = auto() WALL_MOUNTED_THERMOSTAT_WITHOUT_DISPLAY_CHANNEL = auto() WATER_SENSOR_CHANNEL = auto() WEATHER_SENSOR_CHANNEL = auto() WEATHER_SENSOR_PLUS_CHANNEL = auto() WEATHER_SENSOR_PRO_CHANNEL = auto()
[docs] class HeatingLoadType(AutoNameEnum): LOAD_BALANCING = auto() LOAD_COLLECTION = auto()
[docs] class DeviceUpdateState(AutoNameEnum): UP_TO_DATE = auto() TRANSFERING_UPDATE = auto() UPDATE_AVAILABLE = auto() UPDATE_AUTHORIZED = auto() BACKGROUND_UPDATE_NOT_SUPPORTED = auto()
[docs] class PassageDirection(AutoNameEnum): LEFT = auto() RIGHT = auto()
[docs] class MultiModeInputMode(AutoNameEnum): KEY_BEHAVIOR = auto() SWITCH_BEHAVIOR = auto() BINARY_BEHAVIOR = auto()
[docs] class BinaryBehaviorType(AutoNameEnum): NORMALLY_CLOSE = auto() NORMALLY_OPEN = auto()
[docs] class HeatingFailureValidationType(AutoNameEnum): NO_HEATING_FAILURE = auto() HEATING_FAILURE_WARNING = auto() HEATING_FAILURE_ALARM = auto()
[docs] class HumidityValidationType(AutoNameEnum): LESSER_LOWER_THRESHOLD = auto() GREATER_UPPER_THRESHOLD = auto() GREATER_LOWER_LESSER_UPPER_THRESHOLD = auto()
[docs] class AccelerationSensorMode(AutoNameEnum): ANY_MOTION = auto() FLAT_DECT = auto()
[docs] class AccelerationSensorNeutralPosition(AutoNameEnum): HORIZONTAL = auto() VERTICAL = auto()
[docs] class AccelerationSensorSensitivity(AutoNameEnum): SENSOR_RANGE_16G = auto() SENSOR_RANGE_8G = auto() SENSOR_RANGE_4G = auto() SENSOR_RANGE_2G = auto() SENSOR_RANGE_2G_PLUS_SENS = auto() SENSOR_RANGE_2G_2PLUS_SENSE = auto()
[docs] class NotificationSoundType(AutoNameEnum): SOUND_NO_SOUND = auto() SOUND_SHORT = auto() SOUND_SHORT_SHORT = auto() SOUND_LONG = auto()
[docs] class DoorState(AutoNameEnum): CLOSED = auto() OPEN = auto() VENTILATION_POSITION = auto() POSITION_UNKNOWN = auto()
[docs] class DoorCommand(AutoNameEnum): OPEN = auto() STOP = auto() CLOSE = auto() PARTIAL_OPEN = auto()
class ShadingStateType(AutoNameEnum): NOT_POSSIBLE = auto() NOT_EXISTENT = auto() POSITION_USED = auto() TILT_USED = auto() NOT_USED = auto() MIXED = auto()
[docs] class GroupVisibility(AutoNameEnum): INVISIBLE_GROUP_AND_CONTROL = auto() INVISIBLE_CONTROL = auto() VISIBLE = auto()
[docs] class ProfileMode(AutoNameEnum): AUTOMATIC = auto() MANUAL = auto()
[docs] class AlarmSignalType(AutoNameEnum): NO_ALARM = auto() SILENT_ALARM = auto() FULL_ALARM = auto()
[docs] class ConnectionType(AutoNameEnum): EXTERNAL = auto() HMIP_RF = auto() HMIP_WIRED = auto() HMIP_LAN = auto() HMIP_WLAN = auto()
[docs] class DeviceArchetype(AutoNameEnum): EXTERNAL = auto() HMIP = auto()
[docs] class ShadingStateType(AutoNameEnum): NOT_POSSIBLE = auto() NOT_EXISTENT = auto() POSITION_USED = auto() TILT_USED = auto() NOT_USED = auto() MIXED = auto()
[docs] class DriveSpeed(AutoNameEnum): CREEP_SPEED = auto() SLOW_SPEED = auto() NOMINAL_SPEED = auto() OPTIONAL_SPEED = auto()
[docs] class ShadingPackagePosition(AutoNameEnum): LEFT = auto() RIGHT = auto() CENTER = auto() SPLIT = auto() TOP = auto() BOTTOM = auto() TDBU = auto() NOT_USED = auto()
[docs] class LockState(AutoNameEnum): OPEN = auto() UNLOCKED = auto() LOCKED = auto() NONE = auto()
[docs] class MotorState(AutoNameEnum): STOPPED = auto() CLOSING = auto() OPENING = auto()
[docs] class OpticalSignalBehaviour(AutoNameEnum): ON = auto() BLINKING_MIDDLE = auto() FLASH_MIDDLE = auto() BILLOW_MIDDLE = auto() OFF = auto()
[docs] class CliActions(AutoNameEnum): SET_DIM_LEVEL = auto() SET_LOCK_STATE = auto() SET_SHUTTER_LEVEL = auto() SET_SHUTTER_STOP = auto() SET_SLATS_LEVEL = auto() TOGGLE_GARAGE_DOOR = auto() SET_SWITCH_STATE = auto() RESET_ENERGY_COUNTER = auto() SEND_DOOR_COMMAND = auto()