diff --git a/homeassistant/components/versasense/__init__.py b/homeassistant/components/versasense/__init__.py index 71ce25c11ad..9b1e90b698d 100644 --- a/homeassistant/components/versasense/__init__.py +++ b/homeassistant/components/versasense/__init__.py @@ -50,8 +50,8 @@ async def _configure_entities(hass, config, consumer): devices = await consumer.fetchDevices() _LOGGER.debug(devices) - sensor_info_list = [] - switch_info_list = [] + sensor_info_list = {} + switch_info_list = {} for mac, device in devices.items(): _LOGGER.info("Device connected: %s %s", device.name, mac) @@ -87,7 +87,8 @@ def _add_entity_info_to_list(peripheral, device, entity_info_list): KEY_PARENT_MAC: device.mac, } - entity_info_list.append(entity_info) + key = f"{entity_info[KEY_PARENT_MAC]}/{entity_info[KEY_IDENTIFIER]}/{entity_info[KEY_MEASUREMENT]}" + entity_info_list[key] = entity_info return entity_info_list diff --git a/homeassistant/components/versasense/sensor.py b/homeassistant/components/versasense/sensor.py index 50982e92d12..197ac9be250 100644 --- a/homeassistant/components/versasense/sensor.py +++ b/homeassistant/components/versasense/sensor.py @@ -1,7 +1,12 @@ """Support for VersaSense sensor peripheral.""" +from __future__ import annotations + import logging from homeassistant.components.sensor import SensorEntity +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from . import DOMAIN from .const import ( @@ -16,7 +21,12 @@ from .const import ( _LOGGER = logging.getLogger(__name__) -async def async_setup_platform(hass, config, async_add_entities, discovery_info=None): +async def async_setup_platform( + hass: HomeAssistant, + config: ConfigType, + async_add_entities: AddEntitiesCallback, + discovery_info: DiscoveryInfoType | None = None, +) -> None: """Set up the sensor platform.""" if discovery_info is None: return None @@ -25,7 +35,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info= sensor_list = [] - for entity_info in discovery_info: + for entity_info in discovery_info.values(): peripheral = hass.data[DOMAIN][entity_info[KEY_PARENT_MAC]][ entity_info[KEY_IDENTIFIER] ] diff --git a/homeassistant/components/versasense/switch.py b/homeassistant/components/versasense/switch.py index 78eadffea34..58181229ae8 100644 --- a/homeassistant/components/versasense/switch.py +++ b/homeassistant/components/versasense/switch.py @@ -1,7 +1,12 @@ """Support for VersaSense actuator peripheral.""" +from __future__ import annotations + import logging from homeassistant.components.switch import SwitchEntity +from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity_platform import AddEntitiesCallback +from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from . import DOMAIN from .const import ( @@ -18,7 +23,12 @@ from .const import ( _LOGGER = logging.getLogger(__name__) -async def async_setup_platform(hass, config, async_add_entities, discovery_info=None): +async def async_setup_platform( + hass: HomeAssistant, + config: ConfigType, + async_add_entities: AddEntitiesCallback, + discovery_info: DiscoveryInfoType | None = None, +) -> None: """Set up actuator platform.""" if discovery_info is None: return None @@ -27,7 +37,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info= actuator_list = [] - for entity_info in discovery_info: + for entity_info in discovery_info.values(): peripheral = hass.data[DOMAIN][entity_info[KEY_PARENT_MAC]][ entity_info[KEY_IDENTIFIER] ]