"""Support for Melissa climate.""" import melissa import voluptuous as vol from homeassistant.const import CONF_PASSWORD, CONF_USERNAME, Platform from homeassistant.core import HomeAssistant from homeassistant.helpers import config_validation as cv from homeassistant.helpers.discovery import async_load_platform from homeassistant.helpers.typing import ConfigType DOMAIN = "melissa" DATA_MELISSA = "MELISSA" CONFIG_SCHEMA = vol.Schema( { DOMAIN: vol.Schema( { vol.Required(CONF_USERNAME): cv.string, vol.Required(CONF_PASSWORD): cv.string, } ) }, extra=vol.ALLOW_EXTRA, ) async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: """Set up the Melissa Climate component.""" conf = config[DOMAIN] username = conf.get(CONF_USERNAME) password = conf.get(CONF_PASSWORD) api = melissa.AsyncMelissa(username=username, password=password) await api.async_connect() hass.data[DATA_MELISSA] = api hass.async_create_task( async_load_platform(hass, Platform.CLIMATE, DOMAIN, {}, config) ) return True