Use platform enum (1) [A-D] (#60908)

* Use platform enum (1) [A-D]

* Fix imports

* Fix tests

* Use Platform even in tests
This commit is contained in:
Marc Mueller 2021-12-03 17:51:30 +01:00 committed by GitHub
parent ef458b237c
commit f57d42a9e8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
65 changed files with 272 additions and 183 deletions

View file

@ -16,6 +16,7 @@ from homeassistant.const import (
CONF_PASSWORD, CONF_PASSWORD,
CONF_USERNAME, CONF_USERNAME,
EVENT_HOMEASSISTANT_STOP, EVENT_HOMEASSISTANT_STOP,
Platform,
) )
from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
from homeassistant.helpers import config_validation as cv from homeassistant.helpers import config_validation as cv
@ -53,14 +54,14 @@ CAPTURE_IMAGE_SCHEMA = vol.Schema({ATTR_ENTITY_ID: cv.entity_ids})
AUTOMATION_SCHEMA = vol.Schema({ATTR_ENTITY_ID: cv.entity_ids}) AUTOMATION_SCHEMA = vol.Schema({ATTR_ENTITY_ID: cv.entity_ids})
PLATFORMS = [ PLATFORMS = [
"alarm_control_panel", Platform.ALARM_CONTROL_PANEL,
"binary_sensor", Platform.BINARY_SENSOR,
"lock", Platform.LOCK,
"switch", Platform.SWITCH,
"cover", Platform.COVER,
"camera", Platform.CAMERA,
"light", Platform.LIGHT,
"sensor", Platform.SENSOR,
] ]

View file

@ -11,7 +11,7 @@ from aiohttp.client_exceptions import ClientConnectorError
from async_timeout import timeout from async_timeout import timeout
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY from homeassistant.const import CONF_API_KEY, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
@ -20,7 +20,7 @@ from .const import ATTR_FORECAST, CONF_FORECAST, DOMAIN
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
PLATFORMS = ["sensor", "weather"] PLATFORMS = [Platform.SENSOR, Platform.WEATHER]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:

View file

@ -1,13 +1,14 @@
"""The Rollease Acmeda Automate integration.""" """The Rollease Acmeda Automate integration."""
from homeassistant import config_entries, core from homeassistant import config_entries, core
from homeassistant.const import Platform
from .const import DOMAIN from .const import DOMAIN
from .hub import PulseHub from .hub import PulseHub
CONF_HUBS = "hubs" CONF_HUBS = "hubs"
PLATFORMS = ["cover", "sensor"] PLATFORMS = [Platform.COVER, Platform.SENSOR]
async def async_setup_entry( async def async_setup_entry(

View file

@ -2,9 +2,10 @@
from __future__ import annotations from __future__ import annotations
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
PLATFORMS = ["climate"] PLATFORMS = [Platform.CLIMATE]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:

View file

@ -16,6 +16,7 @@ from homeassistant.const import (
CONF_URL, CONF_URL,
CONF_USERNAME, CONF_USERNAME,
CONF_VERIFY_SSL, CONF_VERIFY_SSL,
Platform,
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
@ -46,7 +47,7 @@ SERVICE_REFRESH_SCHEMA = vol.Schema(
{vol.Optional(CONF_FORCE, default=False): cv.boolean} {vol.Optional(CONF_FORCE, default=False): cv.boolean}
) )
PLATFORMS = ["sensor", "switch"] PLATFORMS = [Platform.SENSOR, Platform.SWITCH]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:

View file

@ -5,14 +5,21 @@ import logging
from advantage_air import ApiError, advantage_air from advantage_air import ApiError, advantage_air
from homeassistant.const import CONF_IP_ADDRESS, CONF_PORT from homeassistant.const import CONF_IP_ADDRESS, CONF_PORT, Platform
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import ADVANTAGE_AIR_RETRY, DOMAIN from .const import ADVANTAGE_AIR_RETRY, DOMAIN
ADVANTAGE_AIR_SYNC_INTERVAL = 15 ADVANTAGE_AIR_SYNC_INTERVAL = 15
PLATFORMS = ["binary_sensor", "climate", "cover", "select", "sensor", "switch"] PLATFORMS = [
Platform.BINARY_SENSOR,
Platform.CLIMATE,
Platform.COVER,
Platform.SELECT,
Platform.SENSOR,
Platform.SWITCH,
]
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)

View file

@ -33,11 +33,12 @@ from homeassistant.const import (
PRESSURE_HPA, PRESSURE_HPA,
SPEED_KILOMETERS_PER_HOUR, SPEED_KILOMETERS_PER_HOUR,
TEMP_CELSIUS, TEMP_CELSIUS,
Platform,
) )
ATTRIBUTION = "Powered by AEMET OpenData" ATTRIBUTION = "Powered by AEMET OpenData"
CONF_STATION_UPDATES = "station_updates" CONF_STATION_UPDATES = "station_updates"
PLATFORMS = ["sensor", "weather"] PLATFORMS = [Platform.SENSOR, Platform.WEATHER]
DEFAULT_NAME = "AEMET" DEFAULT_NAME = "AEMET"
DOMAIN = "aemet" DOMAIN = "aemet"
ENTRY_NAME = "name" ENTRY_NAME = "name"

View file

@ -3,6 +3,7 @@
from agent import AgentError from agent import AgentError
from agent.a import Agent from agent.a import Agent
from homeassistant.const import Platform
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers import device_registry as dr from homeassistant.helpers import device_registry as dr
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
@ -12,7 +13,7 @@ from .const import CONNECTION, DOMAIN as AGENT_DOMAIN, SERVER_URL
ATTRIBUTION = "ispyconnect.com" ATTRIBUTION = "ispyconnect.com"
DEFAULT_BRAND = "Agent DVR by ispyconnect.com" DEFAULT_BRAND = "Agent DVR by ispyconnect.com"
FORWARDS = ["alarm_control_panel", "camera"] PLATFORMS = [Platform.ALARM_CONTROL_PANEL, Platform.CAMERA]
async def async_setup_entry(hass, config_entry): async def async_setup_entry(hass, config_entry):
@ -46,14 +47,16 @@ async def async_setup_entry(hass, config_entry):
sw_version=agent_client.version, sw_version=agent_client.version,
) )
hass.config_entries.async_setup_platforms(config_entry, FORWARDS) hass.config_entries.async_setup_platforms(config_entry, PLATFORMS)
return True return True
async def async_unload_entry(hass, config_entry): async def async_unload_entry(hass, config_entry):
"""Unload a config entry.""" """Unload a config entry."""
unload_ok = await hass.config_entries.async_unload_platforms(config_entry, FORWARDS) unload_ok = await hass.config_entries.async_unload_platforms(
config_entry, PLATFORMS
)
await hass.data[AGENT_DOMAIN][config_entry.entry_id][CONNECTION].close() await hass.data[AGENT_DOMAIN][config_entry.entry_id][CONNECTION].close()

View file

@ -13,7 +13,7 @@ import async_timeout
from homeassistant.components.air_quality import DOMAIN as AIR_QUALITY_PLATFORM from homeassistant.components.air_quality import DOMAIN as AIR_QUALITY_PLATFORM
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry from homeassistant.helpers import entity_registry
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
@ -33,7 +33,7 @@ from .const import (
NO_AIRLY_SENSORS, NO_AIRLY_SENSORS,
) )
PLATFORMS = ["sensor"] PLATFORMS = [Platform.SENSOR]
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)

View file

@ -8,7 +8,13 @@ from pyairnow.conv import aqi_to_concentration
from pyairnow.errors import AirNowError from pyairnow.errors import AirNowError
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE, CONF_RADIUS from homeassistant.const import (
CONF_API_KEY,
CONF_LATITUDE,
CONF_LONGITUDE,
CONF_RADIUS,
Platform,
)
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
@ -33,7 +39,7 @@ from .const import (
) )
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
PLATFORMS = ["sensor"] PLATFORMS = [Platform.SENSOR]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:

View file

@ -7,6 +7,7 @@ import logging
from airthings import Airthings, AirthingsError from airthings import Airthings, AirthingsError
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
@ -15,7 +16,7 @@ from .const import CONF_ID, CONF_SECRET, DOMAIN
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
PLATFORMS: list[str] = ["sensor"] PLATFORMS: list[Platform] = [Platform.SENSOR]
SCAN_INTERVAL = timedelta(minutes=6) SCAN_INTERVAL = timedelta(minutes=6)

View file

@ -6,7 +6,7 @@ from airtouch4pyapi.airtouch import AirTouchStatus
from homeassistant.components.climate import SCAN_INTERVAL from homeassistant.components.climate import SCAN_INTERVAL
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST from homeassistant.const import CONF_HOST, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
@ -15,7 +15,7 @@ from .const import DOMAIN
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
PLATFORMS = ["climate"] PLATFORMS = [Platform.CLIMATE]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:

View file

@ -23,6 +23,7 @@ from homeassistant.const import (
CONF_PASSWORD, CONF_PASSWORD,
CONF_SHOW_ON_MAP, CONF_SHOW_ON_MAP,
CONF_STATE, CONF_STATE,
Platform,
) )
from homeassistant.core import HomeAssistant, callback from homeassistant.core import HomeAssistant, callback
from homeassistant.exceptions import ConfigEntryAuthFailed from homeassistant.exceptions import ConfigEntryAuthFailed
@ -51,7 +52,7 @@ from .const import (
LOGGER, LOGGER,
) )
PLATFORMS = ["sensor"] PLATFORMS = [Platform.SENSOR]
DEFAULT_ATTRIBUTION = "Data provided by AirVisual" DEFAULT_ATTRIBUTION = "Data provided by AirVisual"
DEFAULT_NODE_PRO_UPDATE_INTERVAL = timedelta(minutes=1) DEFAULT_NODE_PRO_UPDATE_INTERVAL = timedelta(minutes=1)

View file

@ -12,6 +12,7 @@ from homeassistant.const import (
CONF_PORT, CONF_PORT,
CONF_PROTOCOL, CONF_PROTOCOL,
EVENT_HOMEASSISTANT_STOP, EVENT_HOMEASSISTANT_STOP,
Platform,
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.util import dt as dt_util from homeassistant.util import dt as dt_util
@ -35,7 +36,11 @@ from .const import (
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
PLATFORMS = ["alarm_control_panel", "sensor", "binary_sensor"] PLATFORMS = [
Platform.ALARM_CONTROL_PANEL,
Platform.SENSOR,
Platform.BINARY_SENSOR,
]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:

View file

@ -3,16 +3,15 @@ from __future__ import annotations
from ambee import AirQuality, Ambee, AmbeeAuthenticationError, Pollen from ambee import AirQuality, Ambee, AmbeeAuthenticationError, Pollen
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed from homeassistant.exceptions import ConfigEntryAuthFailed
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
from .const import DOMAIN, LOGGER, SCAN_INTERVAL, SERVICE_AIR_QUALITY, SERVICE_POLLEN from .const import DOMAIN, LOGGER, SCAN_INTERVAL, SERVICE_AIR_QUALITY, SERVICE_POLLEN
PLATFORMS = (SENSOR_DOMAIN,) PLATFORMS = [Platform.SENSOR]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:

View file

@ -1,6 +1,8 @@
"""Amber Electric Constants.""" """Amber Electric Constants."""
import logging import logging
from homeassistant.const import Platform
DOMAIN = "amberelectric" DOMAIN = "amberelectric"
CONF_API_TOKEN = "api_token" CONF_API_TOKEN = "api_token"
CONF_SITE_NAME = "site_name" CONF_SITE_NAME = "site_name"
@ -10,4 +12,4 @@ CONF_SITE_NMI = "site_nmi"
ATTRIBUTION = "Data provided by Amber Electric" ATTRIBUTION = "Data provided by Amber Electric"
LOGGER = logging.getLogger(__package__) LOGGER = logging.getLogger(__package__)
PLATFORMS = ["sensor", "binary_sensor"] PLATFORMS = [Platform.SENSOR, Platform.BINARY_SENSOR]

View file

@ -13,6 +13,7 @@ from homeassistant.const import (
ATTR_NAME, ATTR_NAME,
CONF_API_KEY, CONF_API_KEY,
EVENT_HOMEASSISTANT_STOP, EVENT_HOMEASSISTANT_STOP,
Platform,
) )
from homeassistant.core import Event, HomeAssistant, callback from homeassistant.core import Event, HomeAssistant, callback
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
@ -34,7 +35,7 @@ from .const import (
TYPE_SOLARRADIATION_LX, TYPE_SOLARRADIATION_LX,
) )
PLATFORMS = ["binary_sensor", "sensor"] PLATFORMS = [Platform.BINARY_SENSOR, Platform.SENSOR]
DATA_CONFIG = "config" DATA_CONFIG = "config"

View file

@ -8,7 +8,7 @@ from arcam.fmj.client import Client
import async_timeout import async_timeout
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST, CONF_PORT, EVENT_HOMEASSISTANT_STOP from homeassistant.const import CONF_HOST, CONF_PORT, EVENT_HOMEASSISTANT_STOP, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.typing import ConfigType from homeassistant.helpers.typing import ConfigType
@ -27,7 +27,7 @@ _LOGGER = logging.getLogger(__name__)
CONFIG_SCHEMA = cv.deprecated(DOMAIN) CONFIG_SCHEMA = cv.deprecated(DOMAIN)
PLATFORMS = ["media_player"] PLATFORMS = [Platform.MEDIA_PLAYER]
async def _await_cancel(task): async def _await_cancel(task):

View file

@ -12,6 +12,7 @@ from homeassistant.const import (
CONF_SENSORS, CONF_SENSORS,
CONF_USERNAME, CONF_USERNAME,
EVENT_HOMEASSISTANT_STOP, EVENT_HOMEASSISTANT_STOP,
Platform,
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import config_validation as cv from homeassistant.helpers import config_validation as cv
@ -33,7 +34,7 @@ from .const import (
) )
from .router import AsusWrtRouter from .router import AsusWrtRouter
PLATFORMS = ["device_tracker", "sensor"] PLATFORMS = [Platform.DEVICE_TRACKER, Platform.SENSOR]
CONF_PUB_KEY = "pub_key" CONF_PUB_KEY = "pub_key"
SECRET_GROUP = "Password or SSH Key" SECRET_GROUP = "Password or SSH Key"

View file

@ -5,10 +5,8 @@ import logging
import async_timeout import async_timeout
from pyatag import AtagException, AtagOne from pyatag import AtagException, AtagOne
from homeassistant.components.climate import DOMAIN as CLIMATE
from homeassistant.components.sensor import DOMAIN as SENSOR
from homeassistant.components.water_heater import DOMAIN as WATER_HEATER
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.entity import DeviceInfo
@ -21,7 +19,7 @@ from homeassistant.helpers.update_coordinator import (
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
DOMAIN = "atag" DOMAIN = "atag"
PLATFORMS = [CLIMATE, WATER_HEATER, SENSOR] PLATFORMS = [Platform.CLIMATE, Platform.WATER_HEATER, Platform.SENSOR]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:

View file

@ -12,9 +12,9 @@ from homeassistant.components.climate.const import (
SUPPORT_PRESET_MODE, SUPPORT_PRESET_MODE,
SUPPORT_TARGET_TEMPERATURE, SUPPORT_TARGET_TEMPERATURE,
) )
from homeassistant.const import ATTR_TEMPERATURE from homeassistant.const import ATTR_TEMPERATURE, Platform
from . import CLIMATE, DOMAIN, AtagEntity from . import DOMAIN, AtagEntity
PRESET_MAP = { PRESET_MAP = {
"Manual": "manual", "Manual": "manual",
@ -31,7 +31,7 @@ HVAC_MODES = [HVAC_MODE_AUTO, HVAC_MODE_HEAT]
async def async_setup_entry(hass, entry, async_add_entities): async def async_setup_entry(hass, entry, async_add_entities):
"""Load a config entry.""" """Load a config entry."""
coordinator = hass.data[DOMAIN][entry.entry_id] coordinator = hass.data[DOMAIN][entry.entry_id]
async_add_entities([AtagThermostat(coordinator, CLIMATE)]) async_add_entities([AtagThermostat(coordinator, Platform.CLIMATE)])
class AtagThermostat(AtagEntity, ClimateEntity): class AtagThermostat(AtagEntity, ClimateEntity):

View file

@ -5,9 +5,9 @@ from homeassistant.components.water_heater import (
STATE_PERFORMANCE, STATE_PERFORMANCE,
WaterHeaterEntity, WaterHeaterEntity,
) )
from homeassistant.const import STATE_OFF, TEMP_CELSIUS from homeassistant.const import STATE_OFF, TEMP_CELSIUS, Platform
from . import DOMAIN, WATER_HEATER, AtagEntity from . import DOMAIN, AtagEntity
SUPPORT_FLAGS_HEATER = 0 SUPPORT_FLAGS_HEATER = 0
OPERATION_LIST = [STATE_OFF, STATE_ECO, STATE_PERFORMANCE] OPERATION_LIST = [STATE_OFF, STATE_ECO, STATE_PERFORMANCE]
@ -16,7 +16,7 @@ OPERATION_LIST = [STATE_OFF, STATE_ECO, STATE_PERFORMANCE]
async def async_setup_entry(hass, config_entry, async_add_entities): async def async_setup_entry(hass, config_entry, async_add_entities):
"""Initialize DHW device from config entry.""" """Initialize DHW device from config entry."""
coordinator = hass.data[DOMAIN][config_entry.entry_id] coordinator = hass.data[DOMAIN][config_entry.entry_id]
async_add_entities([AtagWaterHeater(coordinator, WATER_HEATER)]) async_add_entities([AtagWaterHeater(coordinator, Platform.WATER_HEATER)])
class AtagWaterHeater(AtagEntity, WaterHeaterEntity): class AtagWaterHeater(AtagEntity, WaterHeaterEntity):

View file

@ -2,6 +2,8 @@
from datetime import timedelta from datetime import timedelta
from homeassistant.const import Platform
DEFAULT_TIMEOUT = 10 DEFAULT_TIMEOUT = 10
CONF_ACCESS_TOKEN_CACHE_FILE = "access_token_cache_file" CONF_ACCESS_TOKEN_CACHE_FILE = "access_token_cache_file"
@ -43,4 +45,9 @@ ACTIVITY_UPDATE_INTERVAL = timedelta(seconds=10)
LOGIN_METHODS = ["phone", "email"] LOGIN_METHODS = ["phone", "email"]
PLATFORMS = ["camera", "binary_sensor", "lock", "sensor"] PLATFORMS = [
Platform.CAMERA,
Platform.BINARY_SENSOR,
Platform.LOCK,
Platform.SENSOR,
]

View file

@ -7,7 +7,7 @@ from aiohttp import ClientError
from auroranoaa import AuroraForecast from auroranoaa import AuroraForecast
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_LATITUDE, CONF_LONGITUDE, CONF_NAME from homeassistant.const import CONF_LATITUDE, CONF_LONGITUDE, CONF_NAME, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import aiohttp_client from homeassistant.helpers import aiohttp_client
from homeassistant.helpers.device_registry import DeviceEntryType from homeassistant.helpers.device_registry import DeviceEntryType
@ -30,7 +30,7 @@ from .const import (
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
PLATFORMS = ["binary_sensor", "sensor"] PLATFORMS = [Platform.BINARY_SENSOR, Platform.SENSOR]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:

View file

@ -13,14 +13,14 @@ import logging
from aurorapy.client import AuroraError, AuroraSerialClient from aurorapy.client import AuroraError, AuroraSerialClient
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_ADDRESS, CONF_PORT from homeassistant.const import CONF_ADDRESS, CONF_PORT, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
from .config_flow import validate_and_connect from .config_flow import validate_and_connect
from .const import ATTR_SERIAL_NUMBER, DOMAIN from .const import ATTR_SERIAL_NUMBER, DOMAIN
PLATFORMS = ["sensor"] PLATFORMS = [Platform.SENSOR]
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)

View file

@ -8,14 +8,14 @@ from async_timeout import timeout
from python_awair import Awair from python_awair import Awair
from python_awair.exceptions import AuthError from python_awair.exceptions import AuthError
from homeassistant.const import CONF_ACCESS_TOKEN from homeassistant.const import CONF_ACCESS_TOKEN, Platform
from homeassistant.exceptions import ConfigEntryAuthFailed from homeassistant.exceptions import ConfigEntryAuthFailed
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import API_TIMEOUT, DOMAIN, LOGGER, UPDATE_INTERVAL, AwairResult from .const import API_TIMEOUT, DOMAIN, LOGGER, UPDATE_INTERVAL, AwairResult
PLATFORMS = ["sensor"] PLATFORMS = [Platform.SENSOR]
async def async_setup_entry(hass, config_entry) -> bool: async def async_setup_entry(hass, config_entry) -> bool:

View file

@ -12,6 +12,7 @@ from aioazuredevops.core import DevOpsProject
import aiohttp import aiohttp
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed from homeassistant.exceptions import ConfigEntryAuthFailed
from homeassistant.helpers.device_registry import DeviceEntryType from homeassistant.helpers.device_registry import DeviceEntryType
@ -26,7 +27,7 @@ from .const import CONF_ORG, CONF_PAT, CONF_PROJECT, DOMAIN
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
PLATFORMS = ["sensor"] PLATFORMS = [Platform.SENSOR]
BUILDS_QUERY: Final = "?queryOrder=queueTimeDescending&maxBuildsPerDefinition=1" BUILDS_QUERY: Final = "?queryOrder=queueTimeDescending&maxBuildsPerDefinition=1"

View file

@ -11,6 +11,7 @@ from homeassistant.components.climate.const import (
HVAC_MODE_OFF, HVAC_MODE_OFF,
) )
from homeassistant.components.fan import SPEED_HIGH, SPEED_LOW, SPEED_OFF from homeassistant.components.fan import SPEED_HIGH, SPEED_LOW, SPEED_OFF
from homeassistant.const import Platform
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -21,7 +22,7 @@ CLIMATE_SUPPORTED_MODES = [HVAC_MODE_AUTO, HVAC_MODE_HEAT, HVAC_MODE_OFF]
CONF_SYNC_TIME = "sync_time" CONF_SYNC_TIME = "sync_time"
DEFAULT_SYNC_TIME = False DEFAULT_SYNC_TIME = False
FAN_SUPPORTED_SPEEDS = [SPEED_OFF, SPEED_LOW, SPEED_HIGH] FAN_SUPPORTED_SPEEDS = [SPEED_OFF, SPEED_LOW, SPEED_HIGH]
PLATFORMS = ["binary_sensor", "climate"] PLATFORMS = [Platform.BINARY_SENSOR, Platform.CLIMATE]
AUX = "Aux" AUX = "Aux"
CIRC_PUMP = "Circ Pump" CIRC_PUMP = "Circ Pump"

View file

@ -6,7 +6,7 @@ from blebox_uniapi.products import Products
from blebox_uniapi.session import ApiHost from blebox_uniapi.session import ApiHost
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST, CONF_PORT from homeassistant.const import CONF_HOST, CONF_PORT, Platform
from homeassistant.core import HomeAssistant, callback from homeassistant.core import HomeAssistant, callback
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
@ -16,7 +16,14 @@ from .const import DEFAULT_SETUP_TIMEOUT, DOMAIN, PRODUCT
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
PLATFORMS = ["cover", "sensor", "switch", "air_quality", "light", "climate"] PLATFORMS = [
Platform.COVER,
Platform.SENSOR,
Platform.SWITCH,
Platform.AIR_QUALITY,
Platform.LIGHT,
Platform.CLIMATE,
]
PARALLEL_UPDATES = 0 PARALLEL_UPDATES = 0

View file

@ -1,4 +1,6 @@
"""Constants for Blink.""" """Constants for Blink."""
from homeassistant.const import Platform
DOMAIN = "blink" DOMAIN = "blink"
DEVICE_ID = "Home Assistant" DEVICE_ID = "Home Assistant"
@ -23,4 +25,9 @@ SERVICE_TRIGGER = "trigger_camera"
SERVICE_SAVE_VIDEO = "save_video" SERVICE_SAVE_VIDEO = "save_video"
SERVICE_SEND_PIN = "send_pin" SERVICE_SEND_PIN = "send_pin"
PLATFORMS = ("alarm_control_panel", "binary_sensor", "camera", "sensor") PLATFORMS = [
Platform.ALARM_CONTROL_PANEL,
Platform.BINARY_SENSOR,
Platform.CAMERA,
Platform.SENSOR,
]

View file

@ -18,6 +18,7 @@ from homeassistant.const import (
CONF_PASSWORD, CONF_PASSWORD,
CONF_REGION, CONF_REGION,
CONF_USERNAME, CONF_USERNAME,
Platform,
) )
from homeassistant.core import HomeAssistant, ServiceCall, callback from homeassistant.core import HomeAssistant, ServiceCall, callback
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
@ -67,7 +68,13 @@ DEFAULT_OPTIONS = {
CONF_USE_LOCATION: False, CONF_USE_LOCATION: False,
} }
PLATFORMS = ["binary_sensor", "device_tracker", "lock", "notify", "sensor"] PLATFORMS = [
Platform.BINARY_SENSOR,
Platform.DEVICE_TRACKER,
Platform.LOCK,
Platform.NOTIFY,
Platform.SENSOR,
]
UPDATE_INTERVAL = 5 # in minutes UPDATE_INTERVAL = 5 # in minutes
SERVICE_UPDATE_STATE = "update_state" SERVICE_UPDATE_STATE = "update_state"
@ -150,7 +157,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
await _async_update_all() await _async_update_all()
hass.config_entries.async_setup_platforms( hass.config_entries.async_setup_platforms(
entry, [platform for platform in PLATFORMS if platform != NOTIFY_DOMAIN] entry, [platform for platform in PLATFORMS if platform != Platform.NOTIFY]
) )
# set up notify platform, no entry support for notify platform yet, # set up notify platform, no entry support for notify platform yet,
@ -171,7 +178,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Unload a config entry.""" """Unload a config entry."""
unload_ok = await hass.config_entries.async_unload_platforms( unload_ok = await hass.config_entries.async_unload_platforms(
entry, [platform for platform in PLATFORMS if platform != NOTIFY_DOMAIN] entry, [platform for platform in PLATFORMS if platform != Platform.NOTIFY]
) )
# Only remove services if it is the last account and not read only # Only remove services if it is the last account and not read only

View file

@ -8,7 +8,12 @@ from aiohttp import ClientError, ClientResponseError, ClientTimeout
from bond_api import Bond, BPUPSubscriptions, start_bpup from bond_api import Bond, BPUPSubscriptions, start_bpup
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_ACCESS_TOKEN, CONF_HOST, EVENT_HOMEASSISTANT_STOP from homeassistant.const import (
CONF_ACCESS_TOKEN,
CONF_HOST,
EVENT_HOMEASSISTANT_STOP,
Platform,
)
from homeassistant.core import HomeAssistant, callback from homeassistant.core import HomeAssistant, callback
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers import device_registry as dr from homeassistant.helpers import device_registry as dr
@ -18,7 +23,12 @@ from homeassistant.helpers.entity import SLOW_UPDATE_WARNING
from .const import BPUP_SUBS, BRIDGE_MAKE, DOMAIN, HUB from .const import BPUP_SUBS, BRIDGE_MAKE, DOMAIN, HUB
from .utils import BondHub from .utils import BondHub
PLATFORMS = ["cover", "fan", "light", "switch"] PLATFORMS = [
Platform.COVER,
Platform.FAN,
Platform.LIGHT,
Platform.SWITCH,
]
_API_TIMEOUT = SLOW_UPDATE_WARNING - 1 _API_TIMEOUT = SLOW_UPDATE_WARNING - 1
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)

View file

@ -6,7 +6,7 @@ from boschshcpy.exceptions import SHCAuthenticationError, SHCConnectionError
from homeassistant.components.zeroconf import async_get_instance from homeassistant.components.zeroconf import async_get_instance
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST, EVENT_HOMEASSISTANT_STOP from homeassistant.const import CONF_HOST, EVENT_HOMEASSISTANT_STOP, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
from homeassistant.helpers import device_registry as dr from homeassistant.helpers import device_registry as dr
@ -19,7 +19,7 @@ from .const import (
DOMAIN, DOMAIN,
) )
PLATFORMS = ["binary_sensor", "cover", "sensor"] PLATFORMS = [Platform.BINARY_SENSOR, Platform.COVER, Platform.SENSOR]
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)

View file

@ -10,10 +10,8 @@ from typing import Final
from bravia_tv import BraviaRC from bravia_tv import BraviaRC
from bravia_tv.braviarc import NoIPControl from bravia_tv.braviarc import NoIPControl
from homeassistant.components.media_player import DOMAIN as MEDIA_PLAYER_DOMAIN
from homeassistant.components.remote import DOMAIN as REMOTE_DOMAIN
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST, CONF_MAC, CONF_PIN from homeassistant.const import CONF_HOST, CONF_MAC, CONF_PIN, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.debounce import Debouncer from homeassistant.helpers.debounce import Debouncer
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
@ -22,7 +20,7 @@ from .const import CLIENTID_PREFIX, CONF_IGNORED_SOURCES, DOMAIN, NICKNAME
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
PLATFORMS: Final[list[str]] = [MEDIA_PLAYER_DOMAIN, REMOTE_DOMAIN] PLATFORMS: Final[list[Platform]] = [Platform.MEDIA_PLAYER, Platform.REMOTE]
SCAN_INTERVAL: Final = timedelta(seconds=10) SCAN_INTERVAL: Final = timedelta(seconds=10)

View file

@ -1,14 +1,11 @@
"""Constants.""" """Constants."""
from homeassistant.components.light import DOMAIN as LIGHT_DOMAIN from homeassistant.const import Platform
from homeassistant.components.remote import DOMAIN as REMOTE_DOMAIN
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
from homeassistant.components.switch import DOMAIN as SWITCH_DOMAIN
DOMAIN = "broadlink" DOMAIN = "broadlink"
DOMAINS_AND_TYPES = { DOMAINS_AND_TYPES = {
REMOTE_DOMAIN: {"RM4MINI", "RM4PRO", "RMMINI", "RMMINIB", "RMPRO"}, Platform.REMOTE: {"RM4MINI", "RM4PRO", "RMMINI", "RMMINIB", "RMPRO"},
SENSOR_DOMAIN: { Platform.SENSOR: {
"A1", "A1",
"RM4MINI", "RM4MINI",
"RM4PRO", "RM4PRO",
@ -18,7 +15,7 @@ DOMAINS_AND_TYPES = {
"SP4", "SP4",
"SP4B", "SP4B",
}, },
SWITCH_DOMAIN: { Platform.SWITCH: {
"BG1", "BG1",
"MP1", "MP1",
"RM4MINI", "RM4MINI",
@ -34,7 +31,7 @@ DOMAINS_AND_TYPES = {
"SP4", "SP4",
"SP4B", "SP4B",
}, },
LIGHT_DOMAIN: {"LB1"}, Platform.LIGHT: {"LB1"},
} }
DEVICE_TYPES = set.union(*DOMAINS_AND_TYPES.values()) DEVICE_TYPES = set.union(*DOMAINS_AND_TYPES.values())

View file

@ -22,11 +22,12 @@ from homeassistant.const import (
CONF_TIMEOUT, CONF_TIMEOUT,
CONF_TYPE, CONF_TYPE,
STATE_ON, STATE_ON,
Platform,
) )
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.restore_state import RestoreEntity from homeassistant.helpers.restore_state import RestoreEntity
from .const import DOMAIN, SWITCH_DOMAIN from .const import DOMAIN
from .entity import BroadlinkEntity from .entity import BroadlinkEntity
from .helpers import data_packet, import_device, mac_address from .helpers import data_packet, import_device, mac_address
@ -90,7 +91,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=
) )
if switches: if switches:
platform_data = hass.data[DOMAIN].platforms.setdefault(SWITCH_DOMAIN, {}) platform_data = hass.data[DOMAIN].platforms.setdefault(Platform.SWITCH, {})
platform_data.setdefault(mac_addr, []).extend(switches) platform_data.setdefault(mac_addr, []).extend(switches)
else: else:
@ -110,7 +111,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
switches = [] switches = []
if device.api.type in {"RM4MINI", "RM4PRO", "RMMINI", "RMMINIB", "RMPRO"}: if device.api.type in {"RM4MINI", "RM4PRO", "RMMINI", "RMMINIB", "RMPRO"}:
platform_data = hass.data[DOMAIN].platforms.get(SWITCH_DOMAIN, {}) platform_data = hass.data[DOMAIN].platforms.get(Platform.SWITCH, {})
user_defined_switches = platform_data.get(device.api.mac, {}) user_defined_switches = platform_data.get(device.api.mac, {})
switches.extend( switches.extend(
BroadlinkRMSwitch(device, config) for config in user_defined_switches BroadlinkRMSwitch(device, config) for config in user_defined_switches

View file

@ -8,14 +8,14 @@ from brother import Brother, DictToObj, SnmpError, UnsupportedModel
import pysnmp.hlapi.asyncio as SnmpEngine import pysnmp.hlapi.asyncio as SnmpEngine
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST, CONF_TYPE from homeassistant.const import CONF_HOST, CONF_TYPE, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import DATA_CONFIG_ENTRY, DOMAIN, SNMP from .const import DATA_CONFIG_ENTRY, DOMAIN, SNMP
from .utils import get_snmp_engine from .utils import get_snmp_engine
PLATFORMS = ["sensor"] PLATFORMS = [Platform.SENSOR]
SCAN_INTERVAL = timedelta(seconds=30) SCAN_INTERVAL = timedelta(seconds=30)

View file

@ -1,12 +1,14 @@
"""Constants for Brunt.""" """Constants for Brunt."""
from datetime import timedelta from datetime import timedelta
from homeassistant.const import Platform
DOMAIN = "brunt" DOMAIN = "brunt"
ATTR_REQUEST_POSITION = "request_position" ATTR_REQUEST_POSITION = "request_position"
NOTIFICATION_ID = "brunt_notification" NOTIFICATION_ID = "brunt_notification"
NOTIFICATION_TITLE = "Brunt Cover Setup" NOTIFICATION_TITLE = "Brunt Cover Setup"
ATTRIBUTION = "Based on an unofficial Brunt SDK." ATTRIBUTION = "Based on an unofficial Brunt SDK."
PLATFORMS = ["cover"] PLATFORMS = [Platform.COVER]
DATA_BAPI = "bapi" DATA_BAPI = "bapi"
DATA_COOR = "coordinator" DATA_COOR = "coordinator"

View file

@ -3,9 +3,14 @@ from datetime import timedelta
from bsblan import BSBLan, BSBLanConnectionError from bsblan import BSBLan, BSBLanConnectionError
from homeassistant.components.climate import DOMAIN as CLIMATE_DOMAIN
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_PORT, CONF_USERNAME from homeassistant.const import (
CONF_HOST,
CONF_PASSWORD,
CONF_PORT,
CONF_USERNAME,
Platform,
)
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
@ -14,7 +19,7 @@ from .const import CONF_PASSKEY, DATA_BSBLAN_CLIENT, DOMAIN
SCAN_INTERVAL = timedelta(seconds=30) SCAN_INTERVAL = timedelta(seconds=30)
PLATFORMS = [CLIMATE_DOMAIN] PLATFORMS = [Platform.CLIMATE]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:

View file

@ -2,11 +2,12 @@
from __future__ import annotations from __future__ import annotations
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from .const import DOMAIN from .const import DOMAIN
PLATFORMS = ["camera", "sensor", "weather"] PLATFORMS = [Platform.CAMERA, Platform.SENSOR, Platform.WEATHER]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:

View file

@ -11,7 +11,7 @@ import voluptuous as vol
from homeassistant.components.camera.const import DOMAIN as CAMERA_DOMAIN from homeassistant.components.camera.const import DOMAIN as CAMERA_DOMAIN
from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry
from homeassistant.const import CONF_PASSWORD, CONF_TIMEOUT, CONF_USERNAME from homeassistant.const import CONF_PASSWORD, CONF_TIMEOUT, CONF_USERNAME, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
@ -49,7 +49,11 @@ CONFIG_SCHEMA: Final = vol.Schema(
extra=vol.ALLOW_EXTRA, extra=vol.ALLOW_EXTRA,
) )
PLATFORMS: Final[list[str]] = ["alarm_control_panel", "camera", "sensor"] PLATFORMS: Final[list[Platform]] = [
Platform.ALARM_CONTROL_PANEL,
Platform.CAMERA,
Platform.SENSOR,
]
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:

View file

@ -6,7 +6,12 @@ import logging
from typing import Optional from typing import Optional
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST, CONF_PORT, EVENT_HOMEASSISTANT_STARTED from homeassistant.const import (
CONF_HOST,
CONF_PORT,
EVENT_HOMEASSISTANT_STARTED,
Platform,
)
from homeassistant.core import CoreState, HomeAssistant from homeassistant.core import CoreState, HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
@ -18,7 +23,7 @@ _LOGGER = logging.getLogger(__name__)
SCAN_INTERVAL = timedelta(hours=12) SCAN_INTERVAL = timedelta(hours=12)
PLATFORMS = ["sensor"] PLATFORMS = [Platform.SENSOR]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:

View file

@ -15,8 +15,6 @@ from pyclimacell.exceptions import (
UnknownException, UnknownException,
) )
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
from homeassistant.components.weather import DOMAIN as WEATHER_DOMAIN
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ( from homeassistant.const import (
CONF_API_KEY, CONF_API_KEY,
@ -24,6 +22,7 @@ from homeassistant.const import (
CONF_LATITUDE, CONF_LATITUDE,
CONF_LONGITUDE, CONF_LONGITUDE,
CONF_NAME, CONF_NAME,
Platform,
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
@ -76,7 +75,7 @@ from .const import (
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
PLATFORMS = [SENSOR_DOMAIN, WEATHER_DOMAIN] PLATFORMS = [Platform.SENSOR, Platform.WEATHER]
def _set_update_interval(hass: HomeAssistant, current_entry: ConfigEntry) -> timedelta: def _set_update_interval(hass: HomeAssistant, current_entry: ConfigEntry) -> timedelta:

View file

@ -8,7 +8,7 @@ from typing import TypedDict, cast
import CO2Signal import CO2Signal
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed, HomeAssistantError from homeassistant.exceptions import ConfigEntryAuthFailed, HomeAssistantError
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
@ -16,7 +16,7 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, Upda
from .const import CONF_COUNTRY_CODE, DOMAIN from .const import CONF_COUNTRY_CODE, DOMAIN
from .util import get_extra_name from .util import get_extra_name
PLATFORMS = ["sensor"] PLATFORMS = [Platform.SENSOR]
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)

View file

@ -9,7 +9,7 @@ from coinbase.wallet.error import AuthenticationError
import voluptuous as vol import voluptuous as vol
from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry
from homeassistant.const import CONF_API_KEY, CONF_API_TOKEN from homeassistant.const import CONF_API_KEY, CONF_API_TOKEN, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry from homeassistant.helpers import entity_registry
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
@ -28,7 +28,7 @@ from .const import (
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
PLATFORMS = ["sensor"] PLATFORMS = [Platform.SENSOR]
MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=1) MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=1)

View file

@ -16,6 +16,7 @@ from homeassistant.const import (
CONF_SCAN_INTERVAL, CONF_SCAN_INTERVAL,
CONF_TOKEN, CONF_TOKEN,
CONF_USERNAME, CONF_USERNAME,
Platform,
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
@ -41,7 +42,7 @@ from .const import (
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
PLATFORMS = ["light"] PLATFORMS = [Platform.LIGHT]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:

View file

@ -4,7 +4,7 @@ import logging
from pycoolmasternet_async import CoolMasterNet from pycoolmasternet_async import CoolMasterNet
from homeassistant.components.climate import SCAN_INTERVAL from homeassistant.components.climate import SCAN_INTERVAL
from homeassistant.const import CONF_HOST, CONF_PORT from homeassistant.const import CONF_HOST, CONF_PORT, Platform
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
@ -12,7 +12,7 @@ from .const import DATA_COORDINATOR, DATA_INFO, DOMAIN
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
PLATFORMS = ["climate"] PLATFORMS = [Platform.CLIMATE]
async def async_setup_entry(hass, entry): async def async_setup_entry(hass, entry):

View file

@ -6,13 +6,14 @@ import async_timeout
import coronavirus import coronavirus
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant, callback from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers import aiohttp_client, entity_registry, update_coordinator from homeassistant.helpers import aiohttp_client, entity_registry, update_coordinator
from homeassistant.helpers.typing import ConfigType from homeassistant.helpers.typing import ConfigType
from .const import DOMAIN from .const import DOMAIN
PLATFORMS = ["sensor"] PLATFORMS = [Platform.SENSOR]
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:

View file

@ -3,9 +3,11 @@ from __future__ import annotations
from typing import Final from typing import Final
from homeassistant.const import Platform
# Platforms # Platforms
DOMAIN: Final = "crownstone" DOMAIN: Final = "crownstone"
PLATFORMS: Final[list[str]] = ["light"] PLATFORMS: Final[list[Platform]] = [Platform.LIGHT]
# Listeners # Listeners
SSE_LISTENERS: Final = "sse_listeners" SSE_LISTENERS: Final = "sse_listeners"

View file

@ -8,7 +8,7 @@ from async_timeout import timeout
from pydaikin.daikin_base import Appliance from pydaikin.daikin_base import Appliance
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY, CONF_HOST, CONF_PASSWORD from homeassistant.const import CONF_API_KEY, CONF_HOST, CONF_PASSWORD, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
@ -23,7 +23,7 @@ _LOGGER = logging.getLogger(__name__)
PARALLEL_UPDATES = 0 PARALLEL_UPDATES = 0
MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=60) MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=60)
PLATFORMS = ["climate", "sensor", "switch"] PLATFORMS = [Platform.CLIMATE, Platform.SENSOR, Platform.SWITCH]
CONFIG_SCHEMA = cv.deprecated(DOMAIN) CONFIG_SCHEMA = cv.deprecated(DOMAIN)

View file

@ -1,20 +1,7 @@
"""Constants for the deCONZ component.""" """Constants for the deCONZ component."""
import logging import logging
from homeassistant.components.alarm_control_panel import ( from homeassistant.const import Platform
DOMAIN as ALARM_CONTROL_PANEL_DOMAIN,
)
from homeassistant.components.binary_sensor import DOMAIN as BINARY_SENSOR_DOMAIN
from homeassistant.components.climate import DOMAIN as CLIMATE_DOMAIN
from homeassistant.components.cover import DOMAIN as COVER_DOMAIN
from homeassistant.components.fan import DOMAIN as FAN_DOMAIN
from homeassistant.components.light import DOMAIN as LIGHT_DOMAIN
from homeassistant.components.lock import DOMAIN as LOCK_DOMAIN
from homeassistant.components.number import DOMAIN as NUMBER_DOMAIN
from homeassistant.components.scene import DOMAIN as SCENE_DOMAIN
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
from homeassistant.components.siren import DOMAIN as SIREN_DOMAIN
from homeassistant.components.switch import DOMAIN as SWITCH_DOMAIN
LOGGER = logging.getLogger(__package__) LOGGER = logging.getLogger(__package__)
@ -34,18 +21,18 @@ CONF_ALLOW_NEW_DEVICES = "allow_new_devices"
CONF_MASTER_GATEWAY = "master" CONF_MASTER_GATEWAY = "master"
PLATFORMS = [ PLATFORMS = [
ALARM_CONTROL_PANEL_DOMAIN, Platform.ALARM_CONTROL_PANEL,
BINARY_SENSOR_DOMAIN, Platform.BINARY_SENSOR,
CLIMATE_DOMAIN, Platform.CLIMATE,
COVER_DOMAIN, Platform.COVER,
FAN_DOMAIN, Platform.FAN,
LIGHT_DOMAIN, Platform.LIGHT,
LOCK_DOMAIN, Platform.LOCK,
NUMBER_DOMAIN, Platform.NUMBER,
SCENE_DOMAIN, Platform.SCENE,
SENSOR_DOMAIN, Platform.SENSOR,
SIREN_DOMAIN, Platform.SIREN,
SWITCH_DOMAIN, Platform.SWITCH,
] ]
ATTR_DARK = "dark" ATTR_DARK = "dark"

View file

@ -4,7 +4,7 @@ import logging
from denonavr.exceptions import AvrNetworkError, AvrTimoutError from denonavr.exceptions import AvrNetworkError, AvrTimoutError
from homeassistant import config_entries, core from homeassistant import config_entries, core
from homeassistant.const import CONF_HOST from homeassistant.const import CONF_HOST, Platform
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers import entity_registry as er from homeassistant.helpers import entity_registry as er
from homeassistant.helpers.httpx_client import get_async_client from homeassistant.helpers.httpx_client import get_async_client
@ -23,7 +23,7 @@ from .receiver import ConnectDenonAVR
CONF_RECEIVER = "receiver" CONF_RECEIVER = "receiver"
UNDO_UPDATE_LISTENER = "undo_update_listener" UNDO_UPDATE_LISTENER = "undo_update_listener"
PLATFORMS = ["media_player"] PLATFORMS = [Platform.MEDIA_PLAYER]
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)

View file

@ -1,9 +1,18 @@
"""Constants for the devolo_home_control integration.""" """Constants for the devolo_home_control integration."""
import re import re
from homeassistant.const import Platform
DOMAIN = "devolo_home_control" DOMAIN = "devolo_home_control"
DEFAULT_MYDEVOLO = "https://www.mydevolo.com" DEFAULT_MYDEVOLO = "https://www.mydevolo.com"
PLATFORMS = ["binary_sensor", "climate", "cover", "light", "sensor", "switch"] PLATFORMS = [
Platform.BINARY_SENSOR,
Platform.CLIMATE,
Platform.COVER,
Platform.LIGHT,
Platform.SENSOR,
Platform.SWITCH,
]
CONF_MYDEVOLO = "mydevolo_url" CONF_MYDEVOLO = "mydevolo_url"
GATEWAY_SERIAL_PATTERN = re.compile(r"\d{16}") GATEWAY_SERIAL_PATTERN = re.compile(r"\d{16}")
SUPPORTED_MODEL_TYPES = ["2600", "2601"] SUPPORTED_MODEL_TYPES = ["2600", "2601"]

View file

@ -2,8 +2,10 @@
from datetime import timedelta from datetime import timedelta
from homeassistant.const import Platform
DOMAIN = "devolo_home_network" DOMAIN = "devolo_home_network"
PLATFORMS = ["sensor"] PLATFORMS = [Platform.SENSOR]
PRODUCT = "product" PRODUCT = "product"
SERIAL_NUMBER = "serial_number" SERIAL_NUMBER = "serial_number"

View file

@ -1,8 +1,8 @@
"""Constants for the Dexcom integration.""" """Constants for the Dexcom integration."""
from homeassistant.const import Platform
DOMAIN = "dexcom" DOMAIN = "dexcom"
PLATFORMS = ["sensor"] PLATFORMS = [Platform.SENSOR]
GLUCOSE_VALUE_ICON = "mdi:diabetes" GLUCOSE_VALUE_ICON = "mdi:diabetes"
GLUCOSE_TREND_ICON = [ GLUCOSE_TREND_ICON = [

View file

@ -6,7 +6,7 @@ from datetime import timedelta
from directv import DIRECTV, DIRECTVError from directv import DIRECTV, DIRECTVError
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST from homeassistant.const import CONF_HOST, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers import config_validation as cv from homeassistant.helpers import config_validation as cv
@ -16,7 +16,7 @@ from .const import DOMAIN
CONFIG_SCHEMA = cv.deprecated(DOMAIN) CONFIG_SCHEMA = cv.deprecated(DOMAIN)
PLATFORMS = ["media_player", "remote"] PLATFORMS = [Platform.MEDIA_PLAYER, Platform.REMOTE]
SCAN_INTERVAL = timedelta(seconds=30) SCAN_INTERVAL = timedelta(seconds=30)

View file

@ -2,12 +2,12 @@
from __future__ import annotations from __future__ import annotations
from homeassistant import config_entries from homeassistant import config_entries
from homeassistant.components.media_player.const import DOMAIN as MEDIA_PLAYER_DOMAIN from homeassistant.const import Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from .const import LOGGER from .const import LOGGER
PLATFORMS = [MEDIA_PLAYER_DOMAIN] PLATFORMS = [Platform.MEDIA_PLAYER]
async def async_setup_entry( async def async_setup_entry(

View file

@ -1,8 +1,8 @@
"""The DoorBird integration constants.""" """The DoorBird integration constants."""
from homeassistant.const import Platform
DOMAIN = "doorbird" DOMAIN = "doorbird"
PLATFORMS = ["switch", "camera"] PLATFORMS = [Platform.SWITCH, Platform.CAMERA]
DOOR_STATION = "door_station" DOOR_STATION = "door_station"
DOOR_STATION_INFO = "door_station_info" DOOR_STATION_INFO = "door_station_info"
DOOR_STATION_EVENT_ENTITY_IDS = "door_station_event_entity_ids" DOOR_STATION_EVENT_ENTITY_IDS = "door_station_event_entity_ids"

View file

@ -6,6 +6,7 @@ import logging
from dsmr_parser import obis_references from dsmr_parser import obis_references
from homeassistant.components.sensor import SensorDeviceClass, SensorStateClass from homeassistant.components.sensor import SensorDeviceClass, SensorStateClass
from homeassistant.const import Platform
from .models import DSMRSensorEntityDescription from .models import DSMRSensorEntityDescription
@ -13,8 +14,7 @@ DOMAIN = "dsmr"
LOGGER = logging.getLogger(__package__) LOGGER = logging.getLogger(__package__)
PLATFORMS = ["sensor"] PLATFORMS = [Platform.SENSOR]
CONF_DSMR_VERSION = "dsmr_version" CONF_DSMR_VERSION = "dsmr_version"
CONF_RECONNECT_INTERVAL = "reconnect_interval" CONF_RECONNECT_INTERVAL = "reconnect_interval"
CONF_PRECISION = "precision" CONF_PRECISION = "precision"

View file

@ -6,12 +6,12 @@ from typing import Final
from pdunehd import DuneHDPlayer from pdunehd import DuneHDPlayer
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST from homeassistant.const import CONF_HOST, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from .const import DOMAIN from .const import DOMAIN
PLATFORMS: Final[list[str]] = ["media_player"] PLATFORMS: Final[list[Platform]] = [Platform.MEDIA_PLAYER]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:

View file

@ -1,12 +1,12 @@
"""Constants for the Dynalite component.""" """Constants for the Dynalite component."""
import logging import logging
from homeassistant.const import CONF_ROOM from homeassistant.const import CONF_ROOM, Platform
LOGGER = logging.getLogger(__package__) LOGGER = logging.getLogger(__package__)
DOMAIN = "dynalite" DOMAIN = "dynalite"
PLATFORMS = ["light", "switch", "cover"] PLATFORMS = [Platform.LIGHT, Platform.SWITCH, Platform.COVER]
CONF_ACTIVE = "active" CONF_ACTIVE = "active"

View file

@ -1,7 +1,7 @@
"""Tests for the Atag climate platform.""" """Tests for the Atag climate platform."""
from unittest.mock import PropertyMock, patch from unittest.mock import PropertyMock, patch
from homeassistant.components.atag.climate import CLIMATE, DOMAIN, PRESET_MAP from homeassistant.components.atag.climate import DOMAIN, PRESET_MAP
from homeassistant.components.climate import ( from homeassistant.components.climate import (
ATTR_HVAC_ACTION, ATTR_HVAC_ACTION,
ATTR_HVAC_MODE, ATTR_HVAC_MODE,
@ -13,7 +13,12 @@ from homeassistant.components.climate import (
) )
from homeassistant.components.climate.const import CURRENT_HVAC_IDLE, PRESET_AWAY from homeassistant.components.climate.const import CURRENT_HVAC_IDLE, PRESET_AWAY
from homeassistant.components.homeassistant import DOMAIN as HA_DOMAIN from homeassistant.components.homeassistant import DOMAIN as HA_DOMAIN
from homeassistant.const import ATTR_ENTITY_ID, ATTR_TEMPERATURE, STATE_UNKNOWN from homeassistant.const import (
ATTR_ENTITY_ID,
ATTR_TEMPERATURE,
STATE_UNKNOWN,
Platform,
)
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er from homeassistant.helpers import entity_registry as er
from homeassistant.setup import async_setup_component from homeassistant.setup import async_setup_component
@ -21,7 +26,7 @@ from homeassistant.setup import async_setup_component
from tests.components.atag import UID, init_integration from tests.components.atag import UID, init_integration
from tests.test_util.aiohttp import AiohttpClientMocker from tests.test_util.aiohttp import AiohttpClientMocker
CLIMATE_ID = f"{CLIMATE}.{DOMAIN}" CLIMATE_ID = f"{Platform.CLIMATE}.{DOMAIN}"
async def test_climate( async def test_climate(
@ -33,7 +38,7 @@ async def test_climate(
assert entity_registry.async_is_registered(CLIMATE_ID) assert entity_registry.async_is_registered(CLIMATE_ID)
entity = entity_registry.async_get(CLIMATE_ID) entity = entity_registry.async_get(CLIMATE_ID)
assert entity.unique_id == f"{UID}-{CLIMATE}" assert entity.unique_id == f"{UID}-{Platform.CLIMATE}"
assert hass.states.get(CLIMATE_ID).attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_IDLE assert hass.states.get(CLIMATE_ID).attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_IDLE
@ -44,7 +49,7 @@ async def test_setting_climate(
await init_integration(hass, aioclient_mock) await init_integration(hass, aioclient_mock)
with patch("pyatag.entities.Climate.set_temp") as mock_set_temp: with patch("pyatag.entities.Climate.set_temp") as mock_set_temp:
await hass.services.async_call( await hass.services.async_call(
CLIMATE, Platform.CLIMATE,
SERVICE_SET_TEMPERATURE, SERVICE_SET_TEMPERATURE,
{ATTR_ENTITY_ID: CLIMATE_ID, ATTR_TEMPERATURE: 15}, {ATTR_ENTITY_ID: CLIMATE_ID, ATTR_TEMPERATURE: 15},
blocking=True, blocking=True,
@ -54,7 +59,7 @@ async def test_setting_climate(
with patch("pyatag.entities.Climate.set_preset_mode") as mock_set_preset: with patch("pyatag.entities.Climate.set_preset_mode") as mock_set_preset:
await hass.services.async_call( await hass.services.async_call(
CLIMATE, Platform.CLIMATE,
SERVICE_SET_PRESET_MODE, SERVICE_SET_PRESET_MODE,
{ATTR_ENTITY_ID: CLIMATE_ID, ATTR_PRESET_MODE: PRESET_AWAY}, {ATTR_ENTITY_ID: CLIMATE_ID, ATTR_PRESET_MODE: PRESET_AWAY},
blocking=True, blocking=True,
@ -64,7 +69,7 @@ async def test_setting_climate(
with patch("pyatag.entities.Climate.set_hvac_mode") as mock_set_hvac: with patch("pyatag.entities.Climate.set_hvac_mode") as mock_set_hvac:
await hass.services.async_call( await hass.services.async_call(
CLIMATE, Platform.CLIMATE,
SERVICE_SET_HVAC_MODE, SERVICE_SET_HVAC_MODE,
{ATTR_ENTITY_ID: CLIMATE_ID, ATTR_HVAC_MODE: HVAC_MODE_HEAT}, {ATTR_ENTITY_ID: CLIMATE_ID, ATTR_HVAC_MODE: HVAC_MODE_HEAT},
blocking=True, blocking=True,

View file

@ -1,16 +1,16 @@
"""Tests for the Atag water heater platform.""" """Tests for the Atag water heater platform."""
from unittest.mock import patch from unittest.mock import patch
from homeassistant.components.atag import DOMAIN, WATER_HEATER from homeassistant.components.atag import DOMAIN
from homeassistant.components.water_heater import SERVICE_SET_TEMPERATURE from homeassistant.components.water_heater import SERVICE_SET_TEMPERATURE
from homeassistant.const import ATTR_ENTITY_ID, ATTR_TEMPERATURE from homeassistant.const import ATTR_ENTITY_ID, ATTR_TEMPERATURE, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er from homeassistant.helpers import entity_registry as er
from tests.components.atag import UID, init_integration from tests.components.atag import UID, init_integration
from tests.test_util.aiohttp import AiohttpClientMocker from tests.test_util.aiohttp import AiohttpClientMocker
WATER_HEATER_ID = f"{WATER_HEATER}.{DOMAIN}" WATER_HEATER_ID = f"{Platform.WATER_HEATER}.{DOMAIN}"
async def test_water_heater( async def test_water_heater(
@ -23,7 +23,7 @@ async def test_water_heater(
assert registry.async_is_registered(WATER_HEATER_ID) assert registry.async_is_registered(WATER_HEATER_ID)
entry = registry.async_get(WATER_HEATER_ID) entry = registry.async_get(WATER_HEATER_ID)
assert entry.unique_id == f"{UID}-{WATER_HEATER}" assert entry.unique_id == f"{UID}-{Platform.WATER_HEATER}"
async def test_setting_target_temperature( async def test_setting_target_temperature(
@ -33,7 +33,7 @@ async def test_setting_target_temperature(
await init_integration(hass, aioclient_mock) await init_integration(hass, aioclient_mock)
with patch("pyatag.entities.DHW.set_temp") as mock_set_temp: with patch("pyatag.entities.DHW.set_temp") as mock_set_temp:
await hass.services.async_call( await hass.services.async_call(
WATER_HEATER, Platform.WATER_HEATER,
SERVICE_SET_TEMPERATURE, SERVICE_SET_TEMPERATURE,
{ATTR_ENTITY_ID: WATER_HEATER_ID, ATTR_TEMPERATURE: 50}, {ATTR_ENTITY_ID: WATER_HEATER_ID, ATTR_TEMPERATURE: 50},
blocking=True, blocking=True,

View file

@ -2,13 +2,13 @@
from base64 import b64decode from base64 import b64decode
from unittest.mock import call from unittest.mock import call
from homeassistant.components.broadlink.const import DOMAIN, REMOTE_DOMAIN from homeassistant.components.broadlink.const import DOMAIN
from homeassistant.components.remote import ( from homeassistant.components.remote import (
SERVICE_SEND_COMMAND, SERVICE_SEND_COMMAND,
SERVICE_TURN_OFF, SERVICE_TURN_OFF,
SERVICE_TURN_ON, SERVICE_TURN_ON,
) )
from homeassistant.const import STATE_OFF, STATE_ON from homeassistant.const import STATE_OFF, STATE_ON, Platform
from homeassistant.helpers.entity_registry import async_entries_for_device from homeassistant.helpers.entity_registry import async_entries_for_device
from . import get_device from . import get_device
@ -34,7 +34,7 @@ async def test_remote_setup_works(hass):
{(DOMAIN, mock_setup.entry.unique_id)} {(DOMAIN, mock_setup.entry.unique_id)}
) )
entries = async_entries_for_device(entity_registry, device_entry.id) entries = async_entries_for_device(entity_registry, device_entry.id)
remotes = {entry for entry in entries if entry.domain == REMOTE_DOMAIN} remotes = {entry for entry in entries if entry.domain == Platform.REMOTE}
assert len(remotes) == 1 assert len(remotes) == 1
remote = remotes.pop() remote = remotes.pop()
@ -54,12 +54,12 @@ async def test_remote_send_command(hass):
{(DOMAIN, mock_setup.entry.unique_id)} {(DOMAIN, mock_setup.entry.unique_id)}
) )
entries = async_entries_for_device(entity_registry, device_entry.id) entries = async_entries_for_device(entity_registry, device_entry.id)
remotes = {entry for entry in entries if entry.domain == REMOTE_DOMAIN} remotes = {entry for entry in entries if entry.domain == Platform.REMOTE}
assert len(remotes) == 1 assert len(remotes) == 1
remote = remotes.pop() remote = remotes.pop()
await hass.services.async_call( await hass.services.async_call(
REMOTE_DOMAIN, Platform.REMOTE,
SERVICE_SEND_COMMAND, SERVICE_SEND_COMMAND,
{"entity_id": remote.entity_id, "command": "b64:" + IR_PACKET}, {"entity_id": remote.entity_id, "command": "b64:" + IR_PACKET},
blocking=True, blocking=True,
@ -81,12 +81,12 @@ async def test_remote_turn_off_turn_on(hass):
{(DOMAIN, mock_setup.entry.unique_id)} {(DOMAIN, mock_setup.entry.unique_id)}
) )
entries = async_entries_for_device(entity_registry, device_entry.id) entries = async_entries_for_device(entity_registry, device_entry.id)
remotes = {entry for entry in entries if entry.domain == REMOTE_DOMAIN} remotes = {entry for entry in entries if entry.domain == Platform.REMOTE}
assert len(remotes) == 1 assert len(remotes) == 1
remote = remotes.pop() remote = remotes.pop()
await hass.services.async_call( await hass.services.async_call(
REMOTE_DOMAIN, Platform.REMOTE,
SERVICE_TURN_OFF, SERVICE_TURN_OFF,
{"entity_id": remote.entity_id}, {"entity_id": remote.entity_id},
blocking=True, blocking=True,
@ -94,7 +94,7 @@ async def test_remote_turn_off_turn_on(hass):
assert hass.states.get(remote.entity_id).state == STATE_OFF assert hass.states.get(remote.entity_id).state == STATE_OFF
await hass.services.async_call( await hass.services.async_call(
REMOTE_DOMAIN, Platform.REMOTE,
SERVICE_SEND_COMMAND, SERVICE_SEND_COMMAND,
{"entity_id": remote.entity_id, "command": "b64:" + IR_PACKET}, {"entity_id": remote.entity_id, "command": "b64:" + IR_PACKET},
blocking=True, blocking=True,
@ -102,7 +102,7 @@ async def test_remote_turn_off_turn_on(hass):
assert mock_setup.api.send_data.call_count == 0 assert mock_setup.api.send_data.call_count == 0
await hass.services.async_call( await hass.services.async_call(
REMOTE_DOMAIN, Platform.REMOTE,
SERVICE_TURN_ON, SERVICE_TURN_ON,
{"entity_id": remote.entity_id}, {"entity_id": remote.entity_id},
blocking=True, blocking=True,
@ -110,7 +110,7 @@ async def test_remote_turn_off_turn_on(hass):
assert hass.states.get(remote.entity_id).state == STATE_ON assert hass.states.get(remote.entity_id).state == STATE_ON
await hass.services.async_call( await hass.services.async_call(
REMOTE_DOMAIN, Platform.REMOTE,
SERVICE_SEND_COMMAND, SERVICE_SEND_COMMAND,
{"entity_id": remote.entity_id, "command": "b64:" + IR_PACKET}, {"entity_id": remote.entity_id, "command": "b64:" + IR_PACKET},
blocking=True, blocking=True,

View file

@ -1,8 +1,9 @@
"""Tests for Broadlink sensors.""" """Tests for Broadlink sensors."""
from datetime import timedelta from datetime import timedelta
from homeassistant.components.broadlink.const import DOMAIN, SENSOR_DOMAIN from homeassistant.components.broadlink.const import DOMAIN
from homeassistant.components.broadlink.updater import BroadlinkSP4UpdateManager from homeassistant.components.broadlink.updater import BroadlinkSP4UpdateManager
from homeassistant.const import Platform
from homeassistant.helpers.entity_registry import async_entries_for_device from homeassistant.helpers.entity_registry import async_entries_for_device
from homeassistant.util import dt from homeassistant.util import dt
@ -33,7 +34,7 @@ async def test_a1_sensor_setup(hass):
{(DOMAIN, mock_setup.entry.unique_id)} {(DOMAIN, mock_setup.entry.unique_id)}
) )
entries = async_entries_for_device(entity_registry, device_entry.id) entries = async_entries_for_device(entity_registry, device_entry.id)
sensors = [entry for entry in entries if entry.domain == SENSOR_DOMAIN] sensors = [entry for entry in entries if entry.domain == Platform.SENSOR]
assert len(sensors) == 5 assert len(sensors) == 5
sensors_and_states = { sensors_and_states = {
@ -70,7 +71,7 @@ async def test_a1_sensor_update(hass):
{(DOMAIN, mock_setup.entry.unique_id)} {(DOMAIN, mock_setup.entry.unique_id)}
) )
entries = async_entries_for_device(entity_registry, device_entry.id) entries = async_entries_for_device(entity_registry, device_entry.id)
sensors = [entry for entry in entries if entry.domain == SENSOR_DOMAIN] sensors = [entry for entry in entries if entry.domain == Platform.SENSOR]
assert len(sensors) == 5 assert len(sensors) == 5
mock_setup.api.check_sensors_raw.return_value = { mock_setup.api.check_sensors_raw.return_value = {
@ -114,7 +115,7 @@ async def test_rm_pro_sensor_setup(hass):
{(DOMAIN, mock_setup.entry.unique_id)} {(DOMAIN, mock_setup.entry.unique_id)}
) )
entries = async_entries_for_device(entity_registry, device_entry.id) entries = async_entries_for_device(entity_registry, device_entry.id)
sensors = [entry for entry in entries if entry.domain == SENSOR_DOMAIN] sensors = [entry for entry in entries if entry.domain == Platform.SENSOR]
assert len(sensors) == 1 assert len(sensors) == 1
sensors_and_states = { sensors_and_states = {
@ -139,7 +140,7 @@ async def test_rm_pro_sensor_update(hass):
{(DOMAIN, mock_setup.entry.unique_id)} {(DOMAIN, mock_setup.entry.unique_id)}
) )
entries = async_entries_for_device(entity_registry, device_entry.id) entries = async_entries_for_device(entity_registry, device_entry.id)
sensors = [entry for entry in entries if entry.domain == SENSOR_DOMAIN] sensors = [entry for entry in entries if entry.domain == Platform.SENSOR]
assert len(sensors) == 1 assert len(sensors) == 1
mock_setup.api.check_sensors.return_value = {"temperature": 25.8} mock_setup.api.check_sensors.return_value = {"temperature": 25.8}
@ -173,7 +174,7 @@ async def test_rm_pro_filter_crazy_temperature(hass):
{(DOMAIN, mock_setup.entry.unique_id)} {(DOMAIN, mock_setup.entry.unique_id)}
) )
entries = async_entries_for_device(entity_registry, device_entry.id) entries = async_entries_for_device(entity_registry, device_entry.id)
sensors = [entry for entry in entries if entry.domain == SENSOR_DOMAIN] sensors = [entry for entry in entries if entry.domain == Platform.SENSOR]
assert len(sensors) == 1 assert len(sensors) == 1
mock_setup.api.check_sensors.return_value = {"temperature": -7} mock_setup.api.check_sensors.return_value = {"temperature": -7}
@ -205,7 +206,7 @@ async def test_rm_mini3_no_sensor(hass):
{(DOMAIN, mock_setup.entry.unique_id)} {(DOMAIN, mock_setup.entry.unique_id)}
) )
entries = async_entries_for_device(entity_registry, device_entry.id) entries = async_entries_for_device(entity_registry, device_entry.id)
sensors = [entry for entry in entries if entry.domain == SENSOR_DOMAIN] sensors = [entry for entry in entries if entry.domain == Platform.SENSOR]
assert len(sensors) == 0 assert len(sensors) == 0
@ -225,7 +226,7 @@ async def test_rm4_pro_hts2_sensor_setup(hass):
{(DOMAIN, mock_setup.entry.unique_id)} {(DOMAIN, mock_setup.entry.unique_id)}
) )
entries = async_entries_for_device(entity_registry, device_entry.id) entries = async_entries_for_device(entity_registry, device_entry.id)
sensors = [entry for entry in entries if entry.domain == SENSOR_DOMAIN] sensors = [entry for entry in entries if entry.domain == Platform.SENSOR]
assert len(sensors) == 2 assert len(sensors) == 2
sensors_and_states = { sensors_and_states = {
@ -253,7 +254,7 @@ async def test_rm4_pro_hts2_sensor_update(hass):
{(DOMAIN, mock_setup.entry.unique_id)} {(DOMAIN, mock_setup.entry.unique_id)}
) )
entries = async_entries_for_device(entity_registry, device_entry.id) entries = async_entries_for_device(entity_registry, device_entry.id)
sensors = [entry for entry in entries if entry.domain == SENSOR_DOMAIN] sensors = [entry for entry in entries if entry.domain == Platform.SENSOR]
assert len(sensors) == 2 assert len(sensors) == 2
mock_setup.api.check_sensors.return_value = {"temperature": 16.8, "humidity": 34.0} mock_setup.api.check_sensors.return_value = {"temperature": 16.8, "humidity": 34.0}
@ -288,7 +289,7 @@ async def test_rm4_pro_no_sensor(hass):
{(DOMAIN, mock_setup.entry.unique_id)} {(DOMAIN, mock_setup.entry.unique_id)}
) )
entries = async_entries_for_device(entity_registry, device_entry.id) entries = async_entries_for_device(entity_registry, device_entry.id)
sensors = {entry for entry in entries if entry.domain == SENSOR_DOMAIN} sensors = {entry for entry in entries if entry.domain == Platform.SENSOR}
assert len(sensors) == 0 assert len(sensors) == 0
@ -318,7 +319,7 @@ async def test_scb1e_sensor_setup(hass):
{(DOMAIN, mock_setup.entry.unique_id)} {(DOMAIN, mock_setup.entry.unique_id)}
) )
entries = async_entries_for_device(entity_registry, device_entry.id) entries = async_entries_for_device(entity_registry, device_entry.id)
sensors = [entry for entry in entries if entry.domain == SENSOR_DOMAIN] sensors = [entry for entry in entries if entry.domain == Platform.SENSOR]
assert len(sensors) == 5 assert len(sensors) == 5
sensors_and_states = { sensors_and_states = {
@ -363,7 +364,7 @@ async def test_scb1e_sensor_update(hass):
{(DOMAIN, mock_setup.entry.unique_id)} {(DOMAIN, mock_setup.entry.unique_id)}
) )
entries = async_entries_for_device(entity_registry, device_entry.id) entries = async_entries_for_device(entity_registry, device_entry.id)
sensors = [entry for entry in entries if entry.domain == SENSOR_DOMAIN] sensors = [entry for entry in entries if entry.domain == Platform.SENSOR]
assert len(sensors) == 5 assert len(sensors) == 5
mock_setup.api.get_state.return_value = { mock_setup.api.get_state.return_value = {