From 1f71bdedab5e39707699369cf62aa3674c0a7304 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 12 May 2020 10:37:04 -0700 Subject: [PATCH] Add temperature device class to Darksky sensors (#35544) --- homeassistant/components/darksky/sensor.py | 10 +++++++++- tests/components/darksky/test_sensor.py | 4 ++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/darksky/sensor.py b/homeassistant/components/darksky/sensor.py index e3742231e1e..5bd7d972482 100644 --- a/homeassistant/components/darksky/sensor.py +++ b/homeassistant/components/darksky/sensor.py @@ -6,7 +6,7 @@ import forecastio from requests.exceptions import ConnectionError as ConnectError, HTTPError, Timeout import voluptuous as vol -from homeassistant.components.sensor import PLATFORM_SCHEMA +from homeassistant.components.sensor import DEVICE_CLASS_TEMPERATURE, PLATFORM_SCHEMA from homeassistant.const import ( ATTR_ATTRIBUTION, CONF_API_KEY, @@ -610,6 +610,14 @@ class DarkSkySensor(Entity): return SENSOR_TYPES[self.type][6] + @property + def device_class(self): + """Device class of the entity.""" + if SENSOR_TYPES[self.type][1] == TEMP_CELSIUS: + return DEVICE_CLASS_TEMPERATURE + + return None + @property def device_state_attributes(self): """Return the state attributes.""" diff --git a/tests/components/darksky/test_sensor.py b/tests/components/darksky/test_sensor.py index b4707af01b2..8c4038f91c6 100644 --- a/tests/components/darksky/test_sensor.py +++ b/tests/components/darksky/test_sensor.py @@ -195,3 +195,7 @@ class TestDarkSkySetup(unittest.TestCase): assert state.attributes.get("friendly_name") == "Dark Sky Summary" state = self.hass.states.get("sensor.dark_sky_alerts") assert state.state == "2" + + state = self.hass.states.get("sensor.dark_sky_daytime_high_temperature_1d") + assert state is not None + assert state.attributes.get("device_class") == "temperature"