Use Platform enum and remove DOMAIN as X imports in ISY994 (#85341)

This commit is contained in:
shbatm 2023-01-06 17:16:14 -06:00 committed by GitHub
parent 194adcde9c
commit 9ad05b55d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 38 additions and 32 deletions

View File

@ -15,12 +15,11 @@ from pyisy.helpers import NodeProperty
from pyisy.nodes import Group, Node from pyisy.nodes import Group, Node
from homeassistant.components.binary_sensor import ( from homeassistant.components.binary_sensor import (
DOMAIN as BINARY_SENSOR,
BinarySensorDeviceClass, BinarySensorDeviceClass,
BinarySensorEntity, BinarySensorEntity,
) )
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import STATE_ON from homeassistant.const import STATE_ON, Platform
from homeassistant.core import CALLBACK_TYPE, HomeAssistant, callback from homeassistant.core import CALLBACK_TYPE, HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.event import async_track_point_in_utc_time from homeassistant.helpers.event import async_track_point_in_utc_time
@ -76,7 +75,7 @@ async def async_setup_entry(
entity: ISYInsteonBinarySensorEntity | ISYBinarySensorEntity | ISYBinarySensorHeartbeat | ISYBinarySensorProgramEntity entity: ISYInsteonBinarySensorEntity | ISYBinarySensorEntity | ISYBinarySensorHeartbeat | ISYBinarySensorProgramEntity
hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id] hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id]
for node in hass_isy_data[ISY994_NODES][BINARY_SENSOR]: for node in hass_isy_data[ISY994_NODES][Platform.BINARY_SENSOR]:
assert isinstance(node, Node) assert isinstance(node, Node)
device_class, device_type = _detect_device_type_and_class(node) device_class, device_type = _detect_device_type_and_class(node)
if node.protocol == PROTO_INSTEON: if node.protocol == PROTO_INSTEON:
@ -189,10 +188,10 @@ async def async_setup_entry(
entity = ISYBinarySensorEntity(node, device_class) entity = ISYBinarySensorEntity(node, device_class)
entities.append(entity) entities.append(entity)
for name, status, _ in hass_isy_data[ISY994_PROGRAMS][BINARY_SENSOR]: for name, status, _ in hass_isy_data[ISY994_PROGRAMS][Platform.BINARY_SENSOR]:
entities.append(ISYBinarySensorProgramEntity(name, status)) entities.append(ISYBinarySensorProgramEntity(name, status))
await migrate_old_unique_ids(hass, BINARY_SENSOR, entities) await migrate_old_unique_ids(hass, Platform.BINARY_SENSOR, entities)
async_add_entities(entities) async_add_entities(entities)

View File

@ -19,7 +19,6 @@ from pyisy.nodes import Node
from homeassistant.components.climate import ( from homeassistant.components.climate import (
ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_HIGH,
ATTR_TARGET_TEMP_LOW, ATTR_TARGET_TEMP_LOW,
DOMAIN as CLIMATE,
FAN_AUTO, FAN_AUTO,
FAN_OFF, FAN_OFF,
FAN_ON, FAN_ON,
@ -29,7 +28,12 @@ from homeassistant.components.climate import (
HVACMode, HVACMode,
) )
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ATTR_TEMPERATURE, PRECISION_TENTHS, UnitOfTemperature from homeassistant.const import (
ATTR_TEMPERATURE,
PRECISION_TENTHS,
Platform,
UnitOfTemperature,
)
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
@ -60,10 +64,10 @@ async def async_setup_entry(
entities = [] entities = []
hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id] hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id]
for node in hass_isy_data[ISY994_NODES][CLIMATE]: for node in hass_isy_data[ISY994_NODES][Platform.CLIMATE]:
entities.append(ISYThermostatEntity(node)) entities.append(ISYThermostatEntity(node))
await migrate_old_unique_ids(hass, CLIMATE, entities) await migrate_old_unique_ids(hass, Platform.CLIMATE, entities)
async_add_entities(entities) async_add_entities(entities)

View File

@ -7,11 +7,11 @@ from pyisy.constants import ISY_VALUE_UNKNOWN
from homeassistant.components.cover import ( from homeassistant.components.cover import (
ATTR_POSITION, ATTR_POSITION,
DOMAIN as COVER,
CoverEntity, CoverEntity,
CoverEntityFeature, CoverEntityFeature,
) )
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.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
@ -33,13 +33,13 @@ async def async_setup_entry(
"""Set up the ISY cover platform.""" """Set up the ISY cover platform."""
hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id] hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id]
entities: list[ISYCoverEntity | ISYCoverProgramEntity] = [] entities: list[ISYCoverEntity | ISYCoverProgramEntity] = []
for node in hass_isy_data[ISY994_NODES][COVER]: for node in hass_isy_data[ISY994_NODES][Platform.COVER]:
entities.append(ISYCoverEntity(node)) entities.append(ISYCoverEntity(node))
for name, status, actions in hass_isy_data[ISY994_PROGRAMS][COVER]: for name, status, actions in hass_isy_data[ISY994_PROGRAMS][Platform.COVER]:
entities.append(ISYCoverProgramEntity(name, status, actions)) entities.append(ISYCoverProgramEntity(name, status, actions))
await migrate_old_unique_ids(hass, COVER, entities) await migrate_old_unique_ids(hass, Platform.COVER, entities)
async_add_entities(entities) async_add_entities(entities)

View File

@ -6,8 +6,9 @@ from typing import Any
from pyisy.constants import ISY_VALUE_UNKNOWN, PROTO_INSTEON from pyisy.constants import ISY_VALUE_UNKNOWN, PROTO_INSTEON
from homeassistant.components.fan import DOMAIN as FAN, FanEntity, FanEntityFeature from homeassistant.components.fan import FanEntity, FanEntityFeature
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.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util.percentage import ( from homeassistant.util.percentage import (
@ -30,13 +31,13 @@ async def async_setup_entry(
hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id] hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id]
entities: list[ISYFanEntity | ISYFanProgramEntity] = [] entities: list[ISYFanEntity | ISYFanProgramEntity] = []
for node in hass_isy_data[ISY994_NODES][FAN]: for node in hass_isy_data[ISY994_NODES][Platform.FAN]:
entities.append(ISYFanEntity(node)) entities.append(ISYFanEntity(node))
for name, status, actions in hass_isy_data[ISY994_PROGRAMS][FAN]: for name, status, actions in hass_isy_data[ISY994_PROGRAMS][Platform.FAN]:
entities.append(ISYFanProgramEntity(name, status, actions)) entities.append(ISYFanProgramEntity(name, status, actions))
await migrate_old_unique_ids(hass, FAN, entities) await migrate_old_unique_ids(hass, Platform.FAN, entities)
async_add_entities(entities) async_add_entities(entities)

View File

@ -7,8 +7,9 @@ from pyisy.constants import ISY_VALUE_UNKNOWN
from pyisy.helpers import NodeProperty from pyisy.helpers import NodeProperty
from pyisy.nodes import Node from pyisy.nodes import Node
from homeassistant.components.light import DOMAIN as LIGHT, ColorMode, LightEntity from homeassistant.components.light import ColorMode, LightEntity
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.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.restore_state import RestoreEntity from homeassistant.helpers.restore_state import RestoreEntity
@ -36,10 +37,10 @@ async def async_setup_entry(
restore_light_state = isy_options.get(CONF_RESTORE_LIGHT_STATE, False) restore_light_state = isy_options.get(CONF_RESTORE_LIGHT_STATE, False)
entities = [] entities = []
for node in hass_isy_data[ISY994_NODES][LIGHT]: for node in hass_isy_data[ISY994_NODES][Platform.LIGHT]:
entities.append(ISYLightEntity(node, restore_light_state)) entities.append(ISYLightEntity(node, restore_light_state))
await migrate_old_unique_ids(hass, LIGHT, entities) await migrate_old_unique_ids(hass, Platform.LIGHT, entities)
async_add_entities(entities) async_add_entities(entities)
async_setup_light_services(hass) async_setup_light_services(hass)

View File

@ -5,8 +5,9 @@ from typing import Any
from pyisy.constants import ISY_VALUE_UNKNOWN from pyisy.constants import ISY_VALUE_UNKNOWN
from homeassistant.components.lock import DOMAIN as LOCK, LockEntity from homeassistant.components.lock import LockEntity
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.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
@ -23,13 +24,13 @@ async def async_setup_entry(
"""Set up the ISY lock platform.""" """Set up the ISY lock platform."""
hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id] hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id]
entities: list[ISYLockEntity | ISYLockProgramEntity] = [] entities: list[ISYLockEntity | ISYLockProgramEntity] = []
for node in hass_isy_data[ISY994_NODES][LOCK]: for node in hass_isy_data[ISY994_NODES][Platform.LOCK]:
entities.append(ISYLockEntity(node)) entities.append(ISYLockEntity(node))
for name, status, actions in hass_isy_data[ISY994_PROGRAMS][LOCK]: for name, status, actions in hass_isy_data[ISY994_PROGRAMS][Platform.LOCK]:
entities.append(ISYLockProgramEntity(name, status, actions)) entities.append(ISYLockProgramEntity(name, status, actions))
await migrate_old_unique_ids(hass, LOCK, entities) await migrate_old_unique_ids(hass, Platform.LOCK, entities)
async_add_entities(entities) async_add_entities(entities)

View File

@ -21,13 +21,12 @@ from pyisy.helpers import NodeProperty
from pyisy.nodes import Node from pyisy.nodes import Node
from homeassistant.components.sensor import ( from homeassistant.components.sensor import (
DOMAIN as SENSOR,
SensorDeviceClass, SensorDeviceClass,
SensorEntity, SensorEntity,
SensorStateClass, SensorStateClass,
) )
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import UnitOfTemperature from homeassistant.const import Platform, UnitOfTemperature
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity import EntityCategory from homeassistant.helpers.entity import EntityCategory
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
@ -113,7 +112,7 @@ async def async_setup_entry(
hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id] hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id]
entities: list[ISYSensorEntity | ISYSensorVariableEntity] = [] entities: list[ISYSensorEntity | ISYSensorVariableEntity] = []
for node in hass_isy_data[ISY994_NODES][SENSOR]: for node in hass_isy_data[ISY994_NODES][Platform.SENSOR]:
_LOGGER.debug("Loading %s", node.name) _LOGGER.debug("Loading %s", node.name)
entities.append(ISYSensorEntity(node)) entities.append(ISYSensorEntity(node))
@ -135,7 +134,7 @@ async def async_setup_entry(
for vname, vobj in hass_isy_data[ISY994_VARIABLES]: for vname, vobj in hass_isy_data[ISY994_VARIABLES]:
entities.append(ISYSensorVariableEntity(vname, vobj)) entities.append(ISYSensorVariableEntity(vname, vobj))
await migrate_old_unique_ids(hass, SENSOR, entities) await migrate_old_unique_ids(hass, Platform.SENSOR, entities)
async_add_entities(entities) async_add_entities(entities)

View File

@ -5,8 +5,9 @@ from typing import Any
from pyisy.constants import ISY_VALUE_UNKNOWN, PROTO_GROUP from pyisy.constants import ISY_VALUE_UNKNOWN, PROTO_GROUP
from homeassistant.components.switch import DOMAIN as SWITCH, SwitchEntity from homeassistant.components.switch import SwitchEntity
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.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
@ -21,13 +22,13 @@ async def async_setup_entry(
"""Set up the ISY switch platform.""" """Set up the ISY switch platform."""
hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id] hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id]
entities: list[ISYSwitchProgramEntity | ISYSwitchEntity] = [] entities: list[ISYSwitchProgramEntity | ISYSwitchEntity] = []
for node in hass_isy_data[ISY994_NODES][SWITCH]: for node in hass_isy_data[ISY994_NODES][Platform.SWITCH]:
entities.append(ISYSwitchEntity(node)) entities.append(ISYSwitchEntity(node))
for name, status, actions in hass_isy_data[ISY994_PROGRAMS][SWITCH]: for name, status, actions in hass_isy_data[ISY994_PROGRAMS][Platform.SWITCH]:
entities.append(ISYSwitchProgramEntity(name, status, actions)) entities.append(ISYSwitchProgramEntity(name, status, actions))
await migrate_old_unique_ids(hass, SWITCH, entities) await migrate_old_unique_ids(hass, Platform.SWITCH, entities)
async_add_entities(entities) async_add_entities(entities)