from enum import Enum


class Abbreviation(Enum):
    ACTION_TOPIC = ("action_topic", "act_t")
    ACTION_TEMPLATE = ("action_template", "act_tpl")
    AUTOMATION_TYPE = ("automation_type", "atype")
    AUX_COMMAND_TOPIC = ("aux_command_topic", "aux_cmd_t")
    AUX_STATE_TOPIC = ("aux_state_topic", "aux_stat_t")
    AUX_STATE_TEMPLATE = ("aux_state_template", "aux_stat_tpl")
    AVAILABLE_TONES = ("available_tones", "av_tones")
    AVAILABILITY = ("availability", "avty")
    AVAILABILITY_MODE = ("availability_mode", "avty_mode")
    AVAILABILITY_TOPIC = ("availability_topic", "avty_t")
    AVAILABILITY_TEMPLATE = ("availability_template", "avty_tpl")
    AWAY_MODE_COMMAND_TOPIC = ("away_mode_command_topic", "away_mode_cmd_t")
    AWAY_MODE_STATE_TOPIC = ("away_mode_state_topic", "away_mode_stat_t")
    AWAY_MODE_STATE_TEMPLATE = ("away_mode_state_template", "away_mode_stat_tpl")
    BLUE_TEMPLATE = ("blue_template", "b_tpl")
    BRIGHTNESS_COMMAND_TOPIC = ("brightness_command_topic", "bri_cmd_t")
    BRIGHTNESS_COMMAND_TEMPLATE = ("brightness_command_template", "bri_cmd_tpl")
    BRIGHTNESS_SCALE = ("brightness_scale", "bri_scl")
    BRIGHTNESS_STATE_TOPIC = ("brightness_state_topic", "bri_stat_t")
    BRIGHTNESS_TEMPLATE = ("brightness_template", "bri_tpl")
    BRIGHTNESS_VALUE_TEMPLATE = ("brightness_value_template", "bri_val_tpl")
    COLOR_TEMP_COMMAND_TEMPLATE = ("color_temp_command_template", "clr_temp_cmd_tpl")
    COLOR_TEMP_COMMAND_TOPIC = ("color_temp_command_topic", "clr_temp_cmd_t")
    COLOR_TEMP_KELVIN = ("color_temp_kelvin", "clr_temp_k")
    COLOR_TEMP_STATE_TOPIC = ("color_temp_state_topic", "clr_temp_stat_t")
    COLOR_TEMP_TEMPLATE = ("color_temp_template", "clr_temp_tpl")
    COLOR_TEMP_VALUE_TEMPLATE = ("color_temp_value_template", "clr_temp_val_tpl")
    COLOR_MODE = ("color_mode", "clrm")
    COLOR_MODE_STATE_TOPIC = ("color_mode_state_topic", "clrm_stat_t")
    COLOR_MODE_VALUE_TEMPLATE = ("color_mode_value_template", "clrm_val_tpl")
    COMMAND_OFF_TEMPLATE = ("command_off_template", "cmd_off_tpl")
    COMMAND_ON_TEMPLATE = ("command_on_template", "cmd_on_tpl")
    COMMAND_TOPIC = ("command_topic", "cmd_t")
    COMMAND_TEMPLATE = ("command_template", "cmd_tpl")
    COMPONENTS = ("components", "cmps")
    CODE_ARM_REQUIRED = ("code_arm_required", "cod_arm_req")
    CODE_DISARM_REQUIRED = ("code_disarm_required", "cod_dis_req")
    CODE_TRIGGER_REQUIRED = ("code_trigger_required", "cod_trig_req")
    CONTENT_TYPE = ("content_type", "cont_type")
    CURRENT_TEMPERATURE_TOPIC = ("current_temperature_topic", "curr_temp_t")
    CURRENT_TEMPERATURE_TEMPLATE = ("current_temperature_template", "curr_temp_tpl")
    DEFAULT_ENTITY_ID = ("default_entity_id", "def_ent_id")
    DEVICE = ("device", "dev")
    DEVICE_CLASS = ("device_class", "dev_cla")
    DIRECTION_COMMAND_TOPIC = ("direction_command_topic", "dir_cmd_t")
    DIRECTION_COMMAND_TEMPLATE = ("direction_command_template", "dir_cmd_tpl")
    DIRECTION_STATE_TOPIC = ("direction_state_topic", "dir_stat_t")
    DIRECTION_VALUE_TEMPLATE = ("direction_value_template", "dir_val_tpl")
    DISPLAY_PRECISION = ("display_precision", "dsp_prc")
    ENCODING = ("encoding", "e")
    ENABLED_BY_DEFAULT = ("enabled_by_default", "en")
    ENTITY_CATEGORY = ("entity_category", "ent_cat")
    ENTITY_PICTURE = ("entity_picture", "ent_pic")
    EVENT_TYPES = ("event_types", "evt_typ")
    EXPIRE_AFTER = ("expire_after", "exp_aft")
    FAN_SPEED_LIST = ("fan_speed_list", "fanspd_lst")
    FLASH = ("flash", "flsh")
    FLASH_TIME_LONG = ("flash_time_long", "flsh_tlng")
    FLASH_TIME_SHORT = ("flash_time_short", "flsh_tsht")
    EFFECT_COMMAND_TOPIC = ("effect_command_topic", "fx_cmd_t")
    EFFECT_COMMAND_TEMPLATE = ("effect_command_template", "fx_cmd_tpl")
    EFFECT_LIST = ("effect_list", "fx_list")
    EFFECT_STATE_TOPIC = ("effect_state_topic", "fx_stat_t")
    EFFECT_TEMPLATE = ("effect_template", "fx_tpl")
    EFFECT_VALUE_TEMPLATE = ("effect_value_template", "fx_val_tpl")
    FAN_MODE_COMMAND_TOPIC = ("fan_mode_command_topic", "fan_mode_cmd_t")
    FAN_MODE_COMMAND_TEMPLATE = ("fan_mode_command_template", "fan_mode_cmd_tpl")
    FAN_MODE_STATE_TOPIC = ("fan_mode_state_topic", "fan_mode_stat_t")
    FAN_MODE_STATE_TEMPLATE = ("fan_mode_state_template", "fan_mode_stat_tpl")
    FORCE_UPDATE = ("force_update", "frc_upd")
    GREEN_TEMPLATE = ("green_template", "g_tpl")
    HS_COMMAND_TOPIC = ("hs_command_topic", "hs_cmd_t")
    HS_COMMAND_TEMPLATE = ("hs_command_template", "hs_cmd_tpl")
    HS_STATE_TOPIC = ("hs_state_topic", "hs_stat_t")
    HS_VALUE_TEMPLATE = ("hs_value_template", "hs_val_tpl")
    ICON = ("icon", "ic")
    IMAGE_ENCODING = ("image_encoding", "img_e")
    IMAGE_TOPIC = ("image_topic", "img_t")
    INITIAL = ("initial", "init")
    TARGET_HUMIDITY_COMMAND_TOPIC = ("target_humidity_command_topic", "hum_cmd_t")
    TARGET_HUMIDITY_COMMAND_TEMPLATE = ("target_humidity_command_template", "hum_cmd_tpl")
    TARGET_HUMIDITY_STATE_TOPIC = ("target_humidity_state_topic", "hum_stat_t")
    TARGET_HUMIDITY_STATE_TEMPLATE = ("target_humidity_state_template", "hum_state_tpl")
    JSON_ATTRIBUTES = ("json_attributes", "json_attr")
    JSON_ATTRIBUTES_TOPIC = ("json_attributes_topic", "json_attr_t")
    JSON_ATTRIBUTES_TEMPLATE = ("json_attributes_template", "json_attr_tpl")
    LATEST_VERSION_TOPIC = ("latest_version_topic", "l_ver_t")
    LATEST_VERSION_TEMPLATE = ("latest_version_template", "l_ver_tpl")
    LAST_RESET_TOPIC = ("last_reset_topic", "lrst_t")
    LAST_RESET_VALUE_TEMPLATE = ("last_reset_value_template", "lrst_val_tpl")
    MAX = ("max", "max")
    MAX_HUMIDITY = ("max_humidity", "max_hum")
    MAX_KELVIN = ("max_kelvin", "max_k")
    MAX_MIREDS = ("max_mireds", "max_mirs")
    MAX_TEMP = ("max_temp", "max_temp")
    MIGRATE_DISCOVERY = ("migrate_discovery", "migr_discvry")
    MIN = ("min", "min")
    MIN_HUMIDITY = ("min_humidity", "min_hum")
    MIN_KELVIN = ("min_kelvin", "min_k")
    MIN_MIREDS = ("min_mireds", "min_mirs")
    MIN_TEMP = ("min_temp", "min_temp")
    MODE = ("mode", "mode")
    MODE_COMMAND_TOPIC = ("mode_command_topic", "mode_cmd_t")
    MODE_COMMAND_TEMPLATE = ("mode_command_template", "mode_cmd_tpl")
    MODE_STATE_TOPIC = ("mode_state_topic", "mode_stat_t")
    MODE_STATE_TEMPLATE = ("mode_state_template", "mode_stat_tpl")
    MODES = ("modes", "modes")
    NAME = ("name", "name")
    ORIGIN = ("origin", "o")
    OFF_DELAY = ("off_delay", "off_dly")
    ON_COMMAND_TYPE = ("on_command_type", "on_cmd_type")
    OPTIONS = ("options", "ops")
    OPTIMISTIC = ("optimistic", "opt")
    OSCILLATION_COMMAND_TOPIC = ("oscillation_command_topic", "osc_cmd_t")
    OSCILLATION_COMMAND_TEMPLATE = ("oscillation_command_template", "osc_cmd_tpl")
    OSCILLATION_STATE_TOPIC = ("oscillation_state_topic", "osc_stat_t")
    OSCILLATION_VALUE_TEMPLATE = ("oscillation_value_template", "osc_val_tpl")
    PLATFORM = ("platform", "p")
    PERCENTAGE_COMMAND_TOPIC = ("percentage_command_topic", "pct_cmd_t")
    PERCENTAGE_COMMAND_TEMPLATE = ("percentage_command_template", "pct_cmd_tpl")
    PERCENTAGE_STATE_TOPIC = ("percentage_state_topic", "pct_stat_t")
    PERCENTAGE_VALUE_TEMPLATE = ("percentage_value_template", "pct_val_tpl")
    PAYLOAD = ("payload", "pl")
    PAYLOAD_ARM_AWAY = ("payload_arm_away", "pl_arm_away")
    PAYLOAD_ARM_CUSTOM_BYPASS = ("payload_arm_custom_bypass", "pl_arm_custom_b")
    PAYLOAD_ARM_HOME = ("payload_arm_home", "pl_arm_home")
    PAYLOAD_ARM_NIGHT = ("payload_arm_night", "pl_arm_nite")
    PAYLOAD_ARM_VACATION = ("payload_arm_vacation", "pl_arm_vacation")
    PAYLOAD_AVAILABLE = ("payload_available", "pl_avail")
    PAYLOAD_CLEAN_SPOT = ("payload_clean_spot", "pl_cln_sp")
    PAYLOAD_CLOSE = ("payload_close", "pl_cls")
    PAYLOAD_DIRECTION_FORWARD = ("payload_direction_forward", "pl_dir_fwd")
    PAYLOAD_DIRECTION_REVERSE = ("payload_direction_reverse", "pl_dir_rev")
    PAYLOAD_DISARM = ("payload_disarm", "pl_disarm")
    PAYLOAD_HOME = ("payload_home", "pl_home")
    PAYLOAD_INSTALL = ("payload_install", "pl_inst")
    PAYLOAD_LOCATE = ("payload_locate", "pl_loc")
    PAYLOAD_LOCK = ("payload_lock", "pl_lock")
    PAYLOAD_NOT_AVAILABLE = ("payload_not_available", "pl_not_avail")
    PAYLOAD_NOT_HOME = ("payload_not_home", "pl_not_home")
    PAYLOAD_OFF = ("payload_off", "pl_off")
    PAYLOAD_ON = ("payload_on", "pl_on")
    PAYLOAD_OPEN = ("payload_open", "pl_open")
    PAYLOAD_OSCILLATION_OFF = ("payload_oscillation_off", "pl_osc_off")
    PAYLOAD_OSCILLATION_ON = ("payload_oscillation_on", "pl_osc_on")
    PAYLOAD_PAUSE = ("payload_pause", "pl_paus")
    PAYLOAD_STOP = ("payload_stop", "pl_stop")
    PAYLOAD_START = ("payload_start", "pl_strt")
    PAYLOAD_PRESS = ("payload_press", "pl_prs")
    PAYLOAD_RETURN_TO_BASE = ("payload_return_to_base", "pl_ret")
    PAYLOAD_RESET = ("payload_reset", "pl_rst")
    PAYLOAD_RESET_HUMIDITY = ("payload_reset_humidity", "pl_rst_hum")
    PAYLOAD_RESET_MODE = ("payload_reset_mode", "pl_rst_mode")
    PAYLOAD_RESET_PERCENTAGE = ("payload_reset_percentage", "pl_rst_pct")
    PAYLOAD_RESET_PRESET_MODE = ("payload_reset_preset_mode", "pl_rst_pr_mode")
    PAYLOAD_STOP_TILT = ("payload_stop_tilt", "pl_stop_tilt")
    PAYLOAD_START_PAUSE = ("payload_start_pause", "pl_stpa")
    PAYLOAD_TURN_OFF = ("payload_turn_off", "pl_toff")
    PAYLOAD_TURN_ON = ("payload_turn_on", "pl_ton")
    PAYLOAD_TRIGGER = ("payload_trigger", "pl_trig")
    PAYLOAD_UNLOCK = ("payload_unlock", "pl_unlk")
    REPORTS_POSITION = ("reports_position", "pos")
    POSITION_CLOSED = ("position_closed", "pos_clsd")
    POSITION_OPEN = ("position_open", "pos_open")
    PRESET_MODE_COMMAND_TOPIC = ("preset_mode_command_topic", "pr_mode_cmd_t")
    PRESET_MODE_COMMAND_TEMPLATE = ("preset_mode_command_template", "pr_mode_cmd_tpl")
    PRESET_MODE_STATE_TOPIC = ("preset_mode_state_topic", "pr_mode_stat_t")
    PRESET_MODE_VALUE_TEMPLATE = ("preset_mode_value_template", "pr_mode_val_tpl")
    PRESET_MODES = ("preset_modes", "pr_modes")
    PATTERN = ("pattern", "ptrn")
    RED_TEMPLATE = ("red_template", "r_tpl")
    RELEASE_SUMMARY = ("release_summary", "rel_s")
    RELEASE_URL = ("release_url", "rel_u")
    RETAIN = ("retain", "ret")
    RGB_COMMAND_TOPIC = ("rgb_command_topic", "rgb_cmd_t")
    RGB_COMMAND_TEMPLATE = ("rgb_command_template", "rgb_cmd_tpl")
    RGB_STATE_TOPIC = ("rgb_state_topic", "rgb_stat_t")
    RGB_VALUE_TEMPLATE = ("rgb_value_template", "rgb_val_tpl")
    RGBW_COMMAND_TOPIC = ("rgbw_command_topic", "rgbw_cmd_t")
    RGBW_COMMAND_TEMPLATE = ("rgbw_command_template", "rgbw_cmd_tpl")
    RGBW_STATE_TOPIC = ("rgbw_state_topic", "rgbw_stat_t")
    RGBW_VALUE_TEMPLATE = ("rgbw_value_template", "rgbw_val_tpl")
    RGBWW_COMMAND_TOPIC = ("rgbww_command_topic", "rgbww_cmd_t")
    RGBWW_COMMAND_TEMPLATE = ("rgbww_command_template", "rgbww_cmd_tpl")
    RGBWW_STATE_TOPIC = ("rgbww_state_topic", "rgbww_stat_t")
    RGBWW_VALUE_TEMPLATE = ("rgbww_value_template", "rgbww_val_tpl")
    SEND_COMMAND_TOPIC = ("send_command_topic", "send_cmd_t")
    SEND_IF_OFF = ("send_if_off", "send_if_off")
    SET_FAN_SPEED_TOPIC = ("set_fan_speed_topic", "set_fan_spd_t")
    SET_POSITION_TOPIC = ("set_position_topic", "set_pos_t")
    SET_POSITION_TEMPLATE = ("set_position_template", "set_pos_tpl")
    POSITION_TOPIC = ("position_topic", "pos_t")
    POSITION_TEMPLATE = ("position_template", "pos_tpl")
    SPEED_RANGE_MIN = ("speed_range_min", "spd_rng_min")
    SPEED_RANGE_MAX = ("speed_range_max", "spd_rng_max")
    SOURCE_TYPE = ("source_type", "src_type")
    STATE_CLASS = ("state_class", "stat_cla")
    STATE_CLOSING = ("state_closing", "stat_closing")
    STATE_CLOSED = ("state_closed", "stat_clsd")
    STATE_JAMMED = ("state_jammed", "stat_jam")
    STATE_LOCKED = ("state_locked", "stat_locked")
    STATE_LOCKING = ("state_locking", "stat_locking")
    STATE_OFF = ("state_off", "stat_off")
    STATE_ON = ("state_on", "stat_on")
    STATE_OPEN = ("state_open", "stat_open")
    STATE_OPENING = ("state_opening", "stat_opening")
    STATE_STOPPED = ("state_stopped", "stat_stopped")
    STATE_UNLOCKED = ("state_unlocked", "stat_unlocked")
    STATE_UNLOCKING = ("state_unlocking", "stat_unlocking")
    STATE_TOPIC = ("state_topic", "stat_t")
    STATE_TEMPLATE = ("state_template", "stat_tpl")
    STATE_VALUE_TEMPLATE = ("state_value_template", "stat_val_tpl")
    STEP = ("step", "step")
    SUBTYPE = ("subtype", "stype")
    SUGGESTED_DISPLAY_PRECISION = ("suggested_display_precision", "sug_dsp_prc")
    SUPPORTED_COLOR_MODES = ("supported_color_modes", "sup_clrm")
    SUPPORT_DURATION = ("support_duration", "sup_dur")
    SUPPORT_VOLUME_SET = ("support_volume_set", "sup_vol")
    SUPPORTED_FEATURES = ("supported_features", "sup_feat")
    SWING_MODE_COMMAND_TOPIC = ("swing_mode_command_topic", "swing_mode_cmd_t")
    SWING_MODE_COMMAND_TEMPLATE = ("swing_mode_command_template", "swing_mode_cmd_tpl")
    SWING_MODE_STATE_TOPIC = ("swing_mode_state_topic", "swing_mode_stat_t")
    SWING_MODE_STATE_TEMPLATE = ("swing_mode_state_template", "swing_mode_stat_tpl")
    TOPIC = ("topic", "t")
    TEMPERATURE_COMMAND_TOPIC = ("temperature_command_topic", "temp_cmd_t")
    TEMPERATURE_COMMAND_TEMPLATE = ("temperature_command_template", "temp_cmd_tpl")
    TEMPERATURE_HIGH_COMMAND_TOPIC = ("temperature_high_command_topic", "temp_hi_cmd_t")
    TEMPERATURE_HIGH_COMMAND_TEMPLATE = ("temperature_high_command_template", "temp_hi_cmd_tpl")
    TEMPERATURE_HIGH_STATE_TOPIC = ("temperature_high_state_topic", "temp_hi_stat_t")
    TEMPERATURE_HIGH_STATE_TEMPLATE = ("temperature_high_state_template", "temp_hi_stat_tpl")
    TEMPERATURE_LOW_COMMAND_TOPIC = ("temperature_low_command_topic", "temp_lo_cmd_t")
    TEMPERATURE_LOW_COMMAND_TEMPLATE = ("temperature_low_command_template", "temp_lo_cmd_tpl")
    TEMPERATURE_LOW_STATE_TOPIC = ("temperature_low_state_topic", "temp_lo_stat_t")
    TEMPERATURE_LOW_STATE_TEMPLATE = ("temperature_low_state_template", "temp_lo_stat_tpl")
    TEMPERATURE_STATE_TOPIC = ("temperature_state_topic", "temp_stat_t")
    TEMPERATURE_STATE_TEMPLATE = ("temperature_state_template", "temp_stat_tpl")
    TEMPERATURE_UNIT = ("temperature_unit", "temp_unit")
    TILT_CLOSED_VALUE = ("tilt_closed_value", "tilt_clsd_val")
    TILT_COMMAND_TOPIC = ("tilt_command_topic", "tilt_cmd_t")
    TILT_COMMAND_TEMPLATE = ("tilt_command_template", "tilt_cmd_tpl")
    TILT_MAX = ("tilt_max", "tilt_max")
    TILT_MIN = ("tilt_min", "tilt_min")
    TILT_OPENED_VALUE = ("tilt_opened_value", "tilt_opnd_val")
    TILT_OPTIMISTIC = ("tilt_optimistic", "tilt_opt")
    TILT_STATUS_TOPIC = ("tilt_status_topic", "tilt_status_t")
    TILT_STATUS_TEMPLATE = ("tilt_status_template", "tilt_status_tpl")
    TITLE = ("title", "tit")
    TRANSITION = ("transition", "trns")
    UNIQUE_ID = ("unique_id", "uniq_id")
    UNIT_OF_MEASUREMENT = ("unit_of_measurement", "unit_of_meas")
    URL_TOPIC = ("url_topic", "url_t")
    URL_TEMPLATE = ("url_template", "url_tpl")
    VALUE_TEMPLATE = ("value_template", "val_tpl")
    WHITE_COMMAND_TOPIC = ("white_command_topic", "whit_cmd_t")
    WHITE_SCALE = ("white_scale", "whit_scl")
    XY_COMMAND_TOPIC = ("xy_command_topic", "xy_cmd_t")
    XY_COMMAND_TEMPLATE = ("xy_command_template", "xy_cmd_tpl")
    XY_STATE_TOPIC = ("xy_state_topic", "xy_stat_t")
    XY_VALUE_TEMPLATE = ("xy_value_template", "xy_val_tpl")