diff --git a/homeassistant/components/nws/__init__.py b/homeassistant/components/nws/__init__.py index b78961911d5..0f0886c5f41 100644 --- a/homeassistant/components/nws/__init__.py +++ b/homeassistant/components/nws/__init__.py @@ -166,3 +166,13 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: if len(hass.data[DOMAIN]) == 0: hass.data.pop(DOMAIN) return unload_ok + + +def device_info(latitude, longitude): + """Return device registry information.""" + return { + "identifiers": {(DOMAIN, base_unique_id(latitude, longitude))}, + "name": f"NWS: {latitude}, {longitude}", + "manufacturer": "National Weather Service", + "entry_type": "service", + } diff --git a/homeassistant/components/nws/sensor.py b/homeassistant/components/nws/sensor.py index 4be99f95c19..49387896962 100644 --- a/homeassistant/components/nws/sensor.py +++ b/homeassistant/components/nws/sensor.py @@ -14,12 +14,13 @@ from homeassistant.const import ( TEMP_CELSIUS, ) from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.update_coordinator import CoordinatorEntity from homeassistant.util.distance import convert as convert_distance from homeassistant.util.dt import utcnow from homeassistant.util.pressure import convert as convert_pressure -from . import base_unique_id +from . import base_unique_id, device_info from .const import ( ATTRIBUTION, CONF_STATION, @@ -117,3 +118,8 @@ class NWSSensor(CoordinatorEntity, SensorEntity): def entity_registry_enabled_default(self) -> bool: """Return if the entity should be enabled when first added to the entity registry.""" return False + + @property + def device_info(self) -> DeviceInfo: + """Return device info.""" + return device_info(self._latitude, self._longitude) diff --git a/homeassistant/components/nws/weather.py b/homeassistant/components/nws/weather.py index a8f3e55c270..dc76ebc25e5 100644 --- a/homeassistant/components/nws/weather.py +++ b/homeassistant/components/nws/weather.py @@ -23,13 +23,14 @@ from homeassistant.const import ( TEMP_FAHRENHEIT, ) from homeassistant.core import HomeAssistant, callback +from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.typing import ConfigType from homeassistant.util.distance import convert as convert_distance from homeassistant.util.dt import utcnow from homeassistant.util.pressure import convert as convert_pressure from homeassistant.util.temperature import convert as convert_temperature -from . import base_unique_id +from . import base_unique_id, device_info from .const import ( ATTR_FORECAST_DAYTIME, ATTR_FORECAST_DETAILED_DESCRIPTION, @@ -317,3 +318,8 @@ class NWSWeather(WeatherEntity): def entity_registry_enabled_default(self) -> bool: """Return if the entity should be enabled when first added to the entity registry.""" return self.mode == DAYNIGHT + + @property + def device_info(self) -> DeviceInfo: + """Return device info.""" + return device_info(self.latitude, self.longitude)