From b9bc6ca070f07f97f73c14a7b25fe8d06576b003 Mon Sep 17 00:00:00 2001 From: Diogo Gomes Date: Sun, 12 Nov 2023 11:04:10 +0000 Subject: [PATCH] Address late V2C review comments (#103808) * address review * missing fixture --- homeassistant/components/v2c/coordinator.py | 4 ++-- homeassistant/components/v2c/entity.py | 2 +- homeassistant/components/v2c/number.py | 5 ++--- homeassistant/components/v2c/sensor.py | 6 ++---- homeassistant/components/v2c/strings.json | 3 --- homeassistant/components/v2c/switch.py | 5 ++--- tests/components/v2c/test_config_flow.py | 2 +- 7 files changed, 10 insertions(+), 17 deletions(-) diff --git a/homeassistant/components/v2c/coordinator.py b/homeassistant/components/v2c/coordinator.py index 2ab6b967fc6..f61d58b844d 100644 --- a/homeassistant/components/v2c/coordinator.py +++ b/homeassistant/components/v2c/coordinator.py @@ -35,7 +35,7 @@ class V2CUpdateCoordinator(DataUpdateCoordinator[TrydanData]): """Fetch sensor data from api.""" try: data: TrydanData = await self.evse.get_data() - _LOGGER.debug("Received data: %s", data) - return data except TrydanError as err: raise UpdateFailed(f"Error communicating with API: {err}") from err + _LOGGER.debug("Received data: %s", data) + return data diff --git a/homeassistant/components/v2c/entity.py b/homeassistant/components/v2c/entity.py index c00e221d397..ee3c94d8d0c 100644 --- a/homeassistant/components/v2c/entity.py +++ b/homeassistant/components/v2c/entity.py @@ -26,7 +26,7 @@ class V2CBaseEntity(CoordinatorEntity[V2CUpdateCoordinator]): super().__init__(coordinator) self._attr_device_info = DeviceInfo( - identifiers={(DOMAIN, coordinator.evse.host)}, + identifiers={(DOMAIN, coordinator.config_entry.entry_id)}, manufacturer="V2C", model="Trydan", name=coordinator.name, diff --git a/homeassistant/components/v2c/number.py b/homeassistant/components/v2c/number.py index 843dbbdfa65..0f2551818a2 100644 --- a/homeassistant/components/v2c/number.py +++ b/homeassistant/components/v2c/number.py @@ -60,11 +60,10 @@ async def async_setup_entry( """Set up V2C Trydan number platform.""" coordinator: V2CUpdateCoordinator = hass.data[DOMAIN][config_entry.entry_id] - entities: list[NumberEntity] = [ + async_add_entities( V2CSettingsNumberEntity(coordinator, description, config_entry.entry_id) for description in TRYDAN_NUMBER_SETTINGS - ] - async_add_entities(entities) + ) class V2CSettingsNumberEntity(V2CBaseEntity, NumberEntity): diff --git a/homeassistant/components/v2c/sensor.py b/homeassistant/components/v2c/sensor.py index 64aacf8e49e..0c860943922 100644 --- a/homeassistant/components/v2c/sensor.py +++ b/homeassistant/components/v2c/sensor.py @@ -16,7 +16,6 @@ from homeassistant.components.sensor import ( from homeassistant.config_entries import ConfigEntry from homeassistant.const import UnitOfEnergy, UnitOfPower, UnitOfTime from homeassistant.core import HomeAssistant -from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import DOMAIN @@ -90,11 +89,10 @@ async def async_setup_entry( """Set up V2C sensor platform.""" coordinator: V2CUpdateCoordinator = hass.data[DOMAIN][config_entry.entry_id] - entities: list[Entity] = [ + async_add_entities( V2CSensorBaseEntity(coordinator, description, config_entry.entry_id) for description in TRYDAN_SENSORS - ] - async_add_entities(entities) + ) class V2CSensorBaseEntity(V2CBaseEntity, SensorEntity): diff --git a/homeassistant/components/v2c/strings.json b/homeassistant/components/v2c/strings.json index 5108b89a58a..749cfb9979e 100644 --- a/homeassistant/components/v2c/strings.json +++ b/homeassistant/components/v2c/strings.json @@ -10,9 +10,6 @@ "error": { "cannot_connect": "[%key:common::config_flow::error::cannot_connect%]", "unknown": "[%key:common::config_flow::error::unknown%]" - }, - "abort": { - "already_configured": "[%key:common::config_flow::abort::already_configured_device%]" } }, "entity": { diff --git a/homeassistant/components/v2c/switch.py b/homeassistant/components/v2c/switch.py index d54c14f88d6..4e56e72dcbf 100644 --- a/homeassistant/components/v2c/switch.py +++ b/homeassistant/components/v2c/switch.py @@ -55,11 +55,10 @@ async def async_setup_entry( """Set up V2C switch platform.""" coordinator: V2CUpdateCoordinator = hass.data[DOMAIN][config_entry.entry_id] - entities: list[SwitchEntity] = [ + async_add_entities( V2CSwitchEntity(coordinator, description, config_entry.entry_id) for description in TRYDAN_SWITCHES - ] - async_add_entities(entities) + ) class V2CSwitchEntity(V2CBaseEntity, SwitchEntity): diff --git a/tests/components/v2c/test_config_flow.py b/tests/components/v2c/test_config_flow.py index 0124c1abb9c..50bc4ca91bf 100644 --- a/tests/components/v2c/test_config_flow.py +++ b/tests/components/v2c/test_config_flow.py @@ -46,7 +46,7 @@ async def test_form(hass: HomeAssistant, mock_setup_entry: AsyncMock) -> None: ], ) async def test_form_cannot_connect( - hass: HomeAssistant, side_effect: Exception, error: str + hass: HomeAssistant, mock_setup_entry: AsyncMock, side_effect: Exception, error: str ) -> None: """Test we handle cannot connect error.""" result = await hass.config_entries.flow.async_init(