From 9d44dc4437e40f8615f58b5d0e226599a721fc73 Mon Sep 17 00:00:00 2001 From: Erwin Douna Date: Tue, 12 Dec 2023 10:41:00 +0100 Subject: [PATCH] Add Fast.com Device Info (#105528) Co-authored-by: G Johansson --- homeassistant/components/fastdotcom/sensor.py | 9 ++++++++- homeassistant/components/fastdotcom/strings.json | 7 +++++++ tests/components/fastdotcom/test_coordinator.py | 6 +++--- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/fastdotcom/sensor.py b/homeassistant/components/fastdotcom/sensor.py index b82b20defb5..2ca0b2d9168 100644 --- a/homeassistant/components/fastdotcom/sensor.py +++ b/homeassistant/components/fastdotcom/sensor.py @@ -9,6 +9,7 @@ from homeassistant.components.sensor import ( from homeassistant.config_entries import ConfigEntry from homeassistant.const import UnitOfDataRate from homeassistant.core import HomeAssistant +from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.update_coordinator import CoordinatorEntity @@ -31,12 +32,13 @@ class SpeedtestSensor( ): """Implementation of a Fast.com sensor.""" - _attr_name = "Fast.com Download" + _attr_translation_key = "download" _attr_device_class = SensorDeviceClass.DATA_RATE _attr_native_unit_of_measurement = UnitOfDataRate.MEGABITS_PER_SECOND _attr_state_class = SensorStateClass.MEASUREMENT _attr_icon = "mdi:speedometer" _attr_should_poll = False + _attr_has_entity_name = True def __init__( self, entry_id: str, coordinator: FastdotcomDataUpdateCoordindator @@ -44,6 +46,11 @@ class SpeedtestSensor( """Initialize the sensor.""" super().__init__(coordinator) self._attr_unique_id = entry_id + self._attr_device_info = DeviceInfo( + identifiers={(DOMAIN, entry_id)}, + entry_type=DeviceEntryType.SERVICE, + configuration_url="https://www.fast.com", + ) @property def native_value( diff --git a/homeassistant/components/fastdotcom/strings.json b/homeassistant/components/fastdotcom/strings.json index d647250b423..d274ca8d679 100644 --- a/homeassistant/components/fastdotcom/strings.json +++ b/homeassistant/components/fastdotcom/strings.json @@ -9,6 +9,13 @@ "single_instance_allowed": "[%key:common::config_flow::abort::single_instance_allowed%]" } }, + "entity": { + "sensor": { + "download": { + "name": "Download" + } + } + }, "services": { "speedtest": { "name": "Speed test", diff --git a/tests/components/fastdotcom/test_coordinator.py b/tests/components/fastdotcom/test_coordinator.py index 254301950fb..5ee8c76092b 100644 --- a/tests/components/fastdotcom/test_coordinator.py +++ b/tests/components/fastdotcom/test_coordinator.py @@ -28,7 +28,7 @@ async def test_fastdotcom_data_update_coordinator( await hass.config_entries.async_setup(config_entry.entry_id) await hass.async_block_till_done() - state = hass.states.get("sensor.fast_com_download") + state = hass.states.get("sensor.mock_title_download") assert state is not None assert state.state == "5.0" @@ -39,7 +39,7 @@ async def test_fastdotcom_data_update_coordinator( async_fire_time_changed(hass) await hass.async_block_till_done() - state = hass.states.get("sensor.fast_com_download") + state = hass.states.get("sensor.mock_title_download") assert state.state == "10.0" with patch( @@ -50,5 +50,5 @@ async def test_fastdotcom_data_update_coordinator( async_fire_time_changed(hass) await hass.async_block_till_done() - state = hass.states.get("sensor.fast_com_download") + state = hass.states.get("sensor.mock_title_download") assert state.state is STATE_UNAVAILABLE