ha_gehome/entities/opal_ice_maker/oim_light_level_options.py

27 lines
903 B
Python

import logging
from typing import List, Any, Optional
from gehomesdk import ErdCodeType, ErdOimLightLevel, ErdCode
from ...devices import ApplianceApi
from ..common import GeErdSelect, OptionsConverter
_LOGGER = logging.getLogger(__name__)
class OimLightLevelOptionsConverter(OptionsConverter):
@property
def options(self) -> List[str]:
return [i.stringify() for i in ErdOimLightLevel]
def from_option_string(self, value: str) -> Any:
try:
return ErdOimLightLevel[value.upper()]
except:
_LOGGER.warning(f"Could not set hood light level to {value.upper()}")
return ErdOimLightLevel.OFF
def to_option_string(self, value: ErdOimLightLevel) -> Optional[str]:
try:
if value is not None:
return value.stringify()
except:
pass
return ErdOimLightLevel.OFF.stringify()