From 5cee9942a6fe23a023abb64af25d008ea3238c6d Mon Sep 17 00:00:00 2001 From: Oleksii Serdiuk Date: Wed, 7 Nov 2018 10:01:05 +0100 Subject: [PATCH] Darksky: Add icon to summary sensors (#18275) The icon changes dynamically, based on summary. --- homeassistant/components/sensor/darksky.py | 35 +++++++++++++++------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/homeassistant/components/sensor/darksky.py b/homeassistant/components/sensor/darksky.py index 9a3ba45dfa1..63744b7cd28 100644 --- a/homeassistant/components/sensor/darksky.py +++ b/homeassistant/components/sensor/darksky.py @@ -135,16 +135,26 @@ SENSOR_TYPES = { } CONDITION_PICTURES = { - 'clear-day': '/static/images/darksky/weather-sunny.svg', - 'clear-night': '/static/images/darksky/weather-night.svg', - 'rain': '/static/images/darksky/weather-pouring.svg', - 'snow': '/static/images/darksky/weather-snowy.svg', - 'sleet': '/static/images/darksky/weather-hail.svg', - 'wind': '/static/images/darksky/weather-windy.svg', - 'fog': '/static/images/darksky/weather-fog.svg', - 'cloudy': '/static/images/darksky/weather-cloudy.svg', - 'partly-cloudy-day': '/static/images/darksky/weather-partlycloudy.svg', - 'partly-cloudy-night': '/static/images/darksky/weather-cloudy.svg', + 'clear-day': ['/static/images/darksky/weather-sunny.svg', + 'mdi:weather-sunny'], + 'clear-night': ['/static/images/darksky/weather-night.svg', + 'mdi:weather-sunny'], + 'rain': ['/static/images/darksky/weather-pouring.svg', + 'mdi:weather-pouring'], + 'snow': ['/static/images/darksky/weather-snowy.svg', + 'mdi:weather-snowy'], + 'sleet': ['/static/images/darksky/weather-hail.svg', + 'mdi:weather-snowy-rainy'], + 'wind': ['/static/images/darksky/weather-windy.svg', + 'mdi:weather-windy'], + 'fog': ['/static/images/darksky/weather-fog.svg', + 'mdi:weather-fog'], + 'cloudy': ['/static/images/darksky/weather-cloudy.svg', + 'mdi:weather-cloudy'], + 'partly-cloudy-day': ['/static/images/darksky/weather-partlycloudy.svg', + 'mdi:weather-partlycloudy'], + 'partly-cloudy-night': ['/static/images/darksky/weather-cloudy.svg', + 'mdi:weather-partlycloudy'], } # Language Supported Codes @@ -259,7 +269,7 @@ class DarkSkySensor(Entity): return None if self._icon in CONDITION_PICTURES: - return CONDITION_PICTURES[self._icon] + return CONDITION_PICTURES[self._icon][0] return None @@ -277,6 +287,9 @@ class DarkSkySensor(Entity): @property def icon(self): """Icon to use in the frontend, if any.""" + if 'summary' in self.type and self._icon in CONDITION_PICTURES: + return CONDITION_PICTURES[self._icon][1] + return SENSOR_TYPES[self.type][6] @property