diff --git a/homeassistant/components/v2c/coordinator.py b/homeassistant/components/v2c/coordinator.py index 2ab6b967fc662853df5d7e7aaf56315bb3073ca7..f61d58b844d140e457c9717617710c0654e7c2c2 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 c00e221d3973ce1d7238c1a90e536a597fa4f0eb..ee3c94d8d0cdb18170da2ef5b29b5af7f0bcf3d2 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 843dbbdfa65ed3f1361fe70b6ba6e3cad1667c43..0f2551818a2783e81559967247247d7784c26829 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 64aacf8e49e1026b0340e41d84ee0893d068d402..0c860943922b1f48b7c585ff081371653934da7e 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 5108b89a58ae3ceb3fed7658b114788e8e7f432b..749cfb9979e897a038ae7982e8b40705ac9fe81a 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 d54c14f88d6bd8ca55a7ed3ba5c28e7712f6477e..4e56e72dcbf3256761349c9192f63b9c14dc285e 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 0124c1abb9c556676f6ba711ad920526874747c3..50bc4ca91bfc011f403f71d85753da2653d359f6 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(