From 56f8ced26784a0f3d41e620704a475edd9e85fe7 Mon Sep 17 00:00:00 2001 From: Maciej Bieniek Date: Wed, 5 Aug 2020 12:50:34 +0200 Subject: [PATCH] Add device_info property for AccuWeather integration (#38480) --- homeassistant/components/accuweather/const.py | 2 ++ .../components/accuweather/sensor.py | 12 +++++++++++ .../components/accuweather/weather.py | 20 ++++++++++++++++++- 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/accuweather/const.py b/homeassistant/components/accuweather/const.py index c1b09ebd7b2..b189a776750 100644 --- a/homeassistant/components/accuweather/const.py +++ b/homeassistant/components/accuweather/const.py @@ -25,6 +25,8 @@ CONCENTRATION_PARTS_PER_CUBIC_METER = f"p/{VOLUME_CUBIC_METERS}" COORDINATOR = "coordinator" DOMAIN = "accuweather" LENGTH_MILIMETERS = "mm" +MANUFACTURER = "AccuWeather, Inc." +NAME = "AccuWeather" UNDO_UPDATE_LISTENER = "undo_update_listener" CONDITION_CLASSES = { diff --git a/homeassistant/components/accuweather/sensor.py b/homeassistant/components/accuweather/sensor.py index 4c0634876ef..878f387c35c 100644 --- a/homeassistant/components/accuweather/sensor.py +++ b/homeassistant/components/accuweather/sensor.py @@ -16,6 +16,8 @@ from .const import ( DOMAIN, FORECAST_DAYS, FORECAST_SENSOR_TYPES, + MANUFACTURER, + NAME, OPTIONAL_SENSORS, SENSOR_TYPES, ) @@ -73,6 +75,16 @@ class AccuWeatherSensor(Entity): return f"{self.coordinator.location_key}-{self.kind}-{self.forecast_day}".lower() return f"{self.coordinator.location_key}-{self.kind}".lower() + @property + def device_info(self): + """Return the device info.""" + return { + "identifiers": {(DOMAIN, self.coordinator.location_key)}, + "name": NAME, + "manufacturer": MANUFACTURER, + "entry_type": "service", + } + @property def should_poll(self): """Return the polling requirement of the entity.""" diff --git a/homeassistant/components/accuweather/weather.py b/homeassistant/components/accuweather/weather.py index 234c03d9e97..47d1fef7b14 100644 --- a/homeassistant/components/accuweather/weather.py +++ b/homeassistant/components/accuweather/weather.py @@ -15,7 +15,15 @@ from homeassistant.components.weather import ( from homeassistant.const import CONF_NAME, TEMP_CELSIUS, TEMP_FAHRENHEIT from homeassistant.util.dt import utc_from_timestamp -from .const import ATTR_FORECAST, ATTRIBUTION, CONDITION_CLASSES, COORDINATOR, DOMAIN +from .const import ( + ATTR_FORECAST, + ATTRIBUTION, + CONDITION_CLASSES, + COORDINATOR, + DOMAIN, + MANUFACTURER, + NAME, +) PARALLEL_UPDATES = 1 @@ -54,6 +62,16 @@ class AccuWeatherEntity(WeatherEntity): """Return a unique_id for this entity.""" return self.coordinator.location_key + @property + def device_info(self): + """Return the device info.""" + return { + "identifiers": {(DOMAIN, self.coordinator.location_key)}, + "name": NAME, + "manufacturer": MANUFACTURER, + "entry_type": "service", + } + @property def should_poll(self): """Return the polling requirement of the entity."""