text: import enum
  
  from .device import STATE_OPTIONITEM_NONE
  
  
  # Dryer State
  class STATE_DRYER(enum.Enum):
      POWER_OFF = STATE_OPTIONITEM_NONE
      COOLING = "Cooling"
      DRYING = "Drying"
      END = "End"
      ERROR = "Error"
      ERRORSTATE = "An error occurred"
      INITIAL = "Select Course"
      PAUSE = "Paused"
      RUNNING = "Drying"
      SMART_DIAGNOSIS = "Smart Diagnosis"
      WRINKLE_CARE = "Wrinkle Care"
  
  
  # Dryer Level
  class STATE_DRYER_DRYLEVEL(enum.Enum):
      OFF = STATE_OPTIONITEM_NONE
      NO_SELECT = "Not selected"
      COOLING = "Cooling"
      CUPBOARD = "Cupboard"
      DAMP = "Damp"
      ECO = "Eco"
      EXTRA = "Extra"
      ENERGY = "Energy"
      IRON = "Iron"
      LESS = "Less"
      LOW = "Low"
      MORE = "More"
      NORMAL = "Normal"
      SPEED = "Speed"
      VERY = "Very"
      TIME_30 = "30 min"
      TIME_60 = "60 min"
      TIME_90 = "90 min"
      TIME_120 = "120 min"
      TIME_150 = "150 min"
  
  
  # Dryer Temp
  class STATE_DRYER_TEMP(enum.Enum):
      OFF = STATE_OPTIONITEM_NONE
      NO_SELECT = "Not selected"
      HIGH = "High"
      LOW = "Low"
      MEDIUM = "Medium"
      MID_HIGH = "Medium High"
      ULTRA_LOW = "Ultra Low"
  
  
  # Dryer Error
  class STATE_DRYER_ERROR(enum.Enum):
      OFF = STATE_OPTIONITEM_NONE
      NO_ERROR = "Normal"
      ERROR_AE = "AE - Contact Service Center"
      ERROR_CE1 = "CE1 - Contact Service Center"
      ERROR_DE = "Door open - Please close the door"
      ERROR_DE4 = "DE4 - Contact Service Center"
      ERROR_EMPTYWATER = "Error Empty Water"
      ERROR_F1 = "F1 - Contact Service Center"
      ERROR_LE1 = "LE1 - Contact Service Center"
      ERROR_LE2 = "LE2 - Contact Service Center"
      ERROR_NOFILTER = "Error No Filter"
      ERROR_NP = "NP - Contact Service Center"
      ERROR_OE = "Drain error - Please make sure the pipe is not clogged/frozen"
      ERROR_PS = "PS - Contact Service Center"
      ERROR_TE1 = "TE1 - Contact Service Center"
      ERROR_TE2 = "TE2 - Contact Service Center"
      ERROR_TE5 = "TE5 - Contact Service Center"
      ERROR_TE6 = "TE6 - Contact Service Center"
  
  
  """------------------for Dryers"""
  
  DRYERSTATES = {
      "ERROR": STATE_DRYER.ERROR,
      "@WM_STATE_COOLING_W": STATE_DRYER.COOLING,
      "@WM_STATE_END_W": STATE_DRYER.END,
      "@WM_STATE_ERROR_W": STATE_DRYER.ERRORSTATE,
      "@WM_STATE_DRYING_W": STATE_DRYER.DRYING,
      "@WM_STATE_INITIAL_W": STATE_DRYER.INITIAL,
      "@WM_STATE_POWER_OFF_W": STATE_DRYER.POWER_OFF,
      "@WM_STATE_PAUSE_W": STATE_DRYER.PAUSE,
      "@WM_STATE_RUNNING_W": STATE_DRYER.RUNNING,
      "@WM_STATE_SMART_DIAGNOSIS_W": STATE_DRYER.SMART_DIAGNOSIS,
      "@WM_STATE_WRINKLECARE_W": STATE_DRYER.WRINKLE_CARE,
  }
  
  DRYERDRYLEVELS = {
      "-": STATE_DRYER_DRYLEVEL.OFF,
      "OFF": STATE_DRYER_DRYLEVEL.OFF,
      "NOT_SELECTED": STATE_DRYER_DRYLEVEL.NO_SELECT,
      "@WM_TERM_NO_SELECT_W": STATE_DRYER_DRYLEVEL.NO_SELECT,
      "@WM_OPTION_DRY_DAMP_DRY_W": STATE_DRYER_DRYLEVEL.DAMP,
      "@WM_OPTION_DRY_LESS_DRY_W": STATE_DRYER_DRYLEVEL.LESS,
      "@WM_OPTION_DRY_MORE_DRY_W": STATE_DRYER_DRYLEVEL.MORE,
      "@WM_OPTION_DRY_NORMAL_W": STATE_DRYER_DRYLEVEL.NORMAL,
      "@WM_OPTION_DRY_VERY_DRY_W": STATE_DRYER_DRYLEVEL.VERY,
      "@WM_DRY24_DRY_LEVEL_CUPBOARD_W": STATE_DRYER_DRYLEVEL.CUPBOARD,
      "@WM_DRY24_DRY_LEVEL_DAMP_W": STATE_DRYER_DRYLEVEL.DAMP,
      "@WM_DRY24_DRY_LEVEL_EXTRA_W": STATE_DRYER_DRYLEVEL.EXTRA,
      "@WM_DRY24_DRY_LEVEL_IRON_W": STATE_DRYER_DRYLEVEL.IRON,
      "@WM_DRY24_DRY_LEVEL_LESS_W": STATE_DRYER_DRYLEVEL.LESS,
      "@WM_DRY24_DRY_LEVEL_MORE_W": STATE_DRYER_DRYLEVEL.MORE,
      "@WM_DRY24_DRY_LEVEL_NORMAL_W": STATE_DRYER_DRYLEVEL.NORMAL,
      "@WM_DRY24_DRY_LEVEL_VERY_W": STATE_DRYER_DRYLEVEL.VERY,
      "@WM_DRY27_DRY_LEVEL_CUPBOARD_W": STATE_DRYER_DRYLEVEL.CUPBOARD,
      "@WM_DRY27_DRY_LEVEL_DAMP_W": STATE_DRYER_DRYLEVEL.DAMP,
      "@WM_DRY27_DRY_LEVEL_EXTRA_W": STATE_DRYER_DRYLEVEL.EXTRA,
      "@WM_DRY27_DRY_LEVEL_IRON_W": STATE_DRYER_DRYLEVEL.IRON,
      "@WM_DRY27_DRY_LEVEL_LESS_W": STATE_DRYER_DRYLEVEL.LESS,
      "@WM_DRY27_DRY_LEVEL_MORE_W": STATE_DRYER_DRYLEVEL.MORE,
      "@WM_DRY27_DRY_LEVEL_NORMAL_W": STATE_DRYER_DRYLEVEL.NORMAL,
      "@WM_DRY27_DRY_LEVEL_VERY_W": STATE_DRYER_DRYLEVEL.VERY,
      "@WM_TITAN2_OPTION_DRY_NORMAL_W": STATE_DRYER_DRYLEVEL.NORMAL,
      "@WM_TITAN2_OPTION_DRY_ECO_W": STATE_DRYER_DRYLEVEL.ECO,
      "@WM_TITAN2_OPTION_DRY_VERY_W": STATE_DRYER_DRYLEVEL.VERY,
      "@WM_TITAN2_OPTION_DRY_IRON_W": STATE_DRYER_DRYLEVEL.IRON,
      "@WM_TITAN2_OPTION_DRY_LOW_W": STATE_DRYER_DRYLEVEL.LOW,
      "@WM_TITAN2_OPTION_DRY_ENERGY_W": STATE_DRYER_DRYLEVEL.ENERGY,
      "@WM_TITAN2_OPTION_DRY_SPEED_W": STATE_DRYER_DRYLEVEL.SPEED,
      "@WM_TITAN2_OPTION_DRY_COOLING_W": STATE_DRYER_DRYLEVEL.COOLING,
      "@WM_TITAN2_OPTION_DRY_30_W": STATE_DRYER_DRYLEVEL.TIME_30,
      "@WM_TITAN2_OPTION_DRY_60_W": STATE_DRYER_DRYLEVEL.TIME_60,
      "@WM_TITAN2_OPTION_DRY_90_W": STATE_DRYER_DRYLEVEL.TIME_90,
      "@WM_TITAN2_OPTION_DRY_120_W": STATE_DRYER_DRYLEVEL.TIME_120,
      "@WM_TITAN2_OPTION_DRY_150_W": STATE_DRYER_DRYLEVEL.TIME_150,
      "@WM_FL24_TITAN_DRY_NORMAL_W": STATE_DRYER_DRYLEVEL.NORMAL,
      "@WM_FL24_TITAN_DRY_ECO_W": STATE_DRYER_DRYLEVEL.ECO,
      "@WM_FL24_TITAN_DRY_VERY_W": STATE_DRYER_DRYLEVEL.VERY,
      "@WM_FL24_TITAN_DRY_IRON_W": STATE_DRYER_DRYLEVEL.IRON,
      "@WM_FL24_TITAN_DRY_LOW_W": STATE_DRYER_DRYLEVEL.LOW,
      "@WM_FL24_TITAN_DRY_ENERGY_W": STATE_DRYER_DRYLEVEL.ENERGY,
      "@WM_FL24_TITAN_DRY_SPEED_W": STATE_DRYER_DRYLEVEL.SPEED,
      "@WM_FL24_TITAN_DRY_COOLING_W": STATE_DRYER_DRYLEVEL.COOLING,
      "@WM_FL24_TITAN_DRY_30_W": STATE_DRYER_DRYLEVEL.TIME_30,
      "@WM_FL24_TITAN_DRY_60_W": STATE_DRYER_DRYLEVEL.TIME_60,
      "@WM_FL24_TITAN_DRY_90_W": STATE_DRYER_DRYLEVEL.TIME_90,
      "@WM_FL24_TITAN_DRY_120_W": STATE_DRYER_DRYLEVEL.TIME_120,
      "@WM_FL24_TITAN_DRY_150_W": STATE_DRYER_DRYLEVEL.TIME_150,
  }
  
  DRYERTEMPS = {
      "-": STATE_DRYER_TEMP.OFF,
      "OFF": STATE_DRYER_TEMP.OFF,
      "@WM_TERM_NO_SELECT_W": STATE_DRYER_TEMP.NO_SELECT,
      "@WM_OPTION_TEMP_HIGH_W": STATE_DRYER_TEMP.HIGH,
      "@WM_OPTION_TEMP_LOW_W": STATE_DRYER_TEMP.LOW,
      "@WM_OPTION_TEMP_MEDIUM_W": STATE_DRYER_TEMP.MEDIUM,
      "@WM_OPTION_TEMP_MEDIUM_HIGH_W": STATE_DRYER_TEMP.MID_HIGH,
      "@WM_OPTION_TEMP_ULTRA_LOW_W": STATE_DRYER_TEMP.ULTRA_LOW,
      "@WM_DRY27_TEMP_HIGH_W": STATE_DRYER_TEMP.HIGH,
      "@WM_DRY27_TEMP_LOW_W": STATE_DRYER_TEMP.LOW,
      "@WM_DRY27_TEMP_MEDIUM_W": STATE_DRYER_TEMP.MEDIUM,
      "@WM_DRY27_TEMP_MID_HIGH_W": STATE_DRYER_TEMP.MID_HIGH,
      "@WM_DRY27_TEMP_ULTRA_LOW_W": STATE_DRYER_TEMP.ULTRA_LOW,
  }
  
  DRYERREFERRORS = {
      "OFF": STATE_DRYER_ERROR.OFF,
      "No Error": STATE_DRYER_ERROR.NO_ERROR,
      "AE Error": STATE_DRYER_ERROR.ERROR_AE,
      "CE1 Error": STATE_DRYER_ERROR.ERROR_CE1,
      "DE Error": STATE_DRYER_ERROR.ERROR_DE,
      "DE4 Error": STATE_DRYER_ERROR.ERROR_DE4,
      "EMPTYWATER Error": STATE_DRYER_ERROR.ERROR_EMPTYWATER,
      "F1 Error": STATE_DRYER_ERROR.ERROR_F1,
      "LE1 Error": STATE_DRYER_ERROR.ERROR_LE1,
      "LE2 Error": STATE_DRYER_ERROR.ERROR_LE2,
      "NOFILTER Error": STATE_DRYER_ERROR.ERROR_NOFILTER,
      "NP Error": STATE_DRYER_ERROR.ERROR_NP,
      "OE Error": STATE_DRYER_ERROR.ERROR_OE,
      "PS Error": STATE_DRYER_ERROR.ERROR_PS,
      "TE1 Error": STATE_DRYER_ERROR.ERROR_TE1,
      "TE2 Error": STATE_DRYER_ERROR.ERROR_TE2,
      "TE5 Error": STATE_DRYER_ERROR.ERROR_TE5,
      "TE6 Error": STATE_DRYER_ERROR.ERROR_TE6,
  }
  
  # this is not used
  DRYERERRORS = {
      "OFF": STATE_DRYER_ERROR.OFF,
      "ERROR_NOERROR": STATE_DRYER_ERROR.NO_ERROR,
      "@WM_US_DRYER_ERROR_AE_W": STATE_DRYER_ERROR.ERROR_AE,
      "@WM_US_DRYER_ERROR_CE1_W": STATE_DRYER_ERROR.ERROR_CE1,
      "@WM_US_DRYER_ERROR_DE_W": STATE_DRYER_ERROR.ERROR_DE,
      "@WM_WW_FL_ERROR_DE4_W": STATE_DRYER_ERROR.ERROR_DE4,
      "@WM_US_DRYER_ERROR_EMPTYWATER_W": STATE_DRYER_ERROR.ERROR_EMPTYWATER,
      "@WM_US_DRYER_ERROR_F1_W": STATE_DRYER_ERROR.ERROR_F1,
      "@WM_US_DRYER_ERROR_LE1_W": STATE_DRYER_ERROR.ERROR_LE1,
      "@WM_US_DRYER_ERROR_LE2_W": STATE_DRYER_ERROR.ERROR_LE2,
      "@WM_US_DRYER_ERROR_NOFILTER_W": STATE_DRYER_ERROR.ERROR_NOFILTER,
      "@WM_US_DRYER_ERROR_NP_GAS_W": STATE_DRYER_ERROR.ERROR_NP,
      "@WM_US_DRYER_ERROR_PS_W": STATE_DRYER_ERROR.ERROR_PS,
      "@WM_US_DRYER_ERROR_OE_W": STATE_DRYER_ERROR.ERROR_OE,
      "@WM_US_DRYER_ERROR_TE1_W": STATE_DRYER_ERROR.ERROR_TE1,
      "@WM_US_DRYER_ERROR_TE2_W": STATE_DRYER_ERROR.ERROR_TE2,
      "@WM_US_DRYER_ERROR_TE5_W": STATE_DRYER_ERROR.ERROR_TE5,
      "@WM_US_DRYER_ERROR_TE6_W": STATE_DRYER_ERROR.ERROR_TE6,
  }
  