From a6a5e4fda2cb4cf47a3524a3439d133e4325bed2 Mon Sep 17 00:00:00 2001 From: Andrew LeCody Date: Mon, 2 May 2016 23:56:15 -0500 Subject: [PATCH] Forecast.io: Added minutely, hourly, and daily summary (#1943) * Forecast.io: Added minutely, hourly, and daily summary * Resolve pylint issue (Too many instance attributes) --- homeassistant/components/sensor/forecast.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/sensor/forecast.py b/homeassistant/components/sensor/forecast.py index f33c6ca719c..70d8be8deb2 100644 --- a/homeassistant/components/sensor/forecast.py +++ b/homeassistant/components/sensor/forecast.py @@ -18,6 +18,9 @@ _LOGGER = logging.getLogger(__name__) # Name, si unit, us unit, ca unit, uk unit, uk2 unit SENSOR_TYPES = { 'summary': ['Summary', None, None, None, None, None], + 'minutely_summary': ['Minutely Summary', None, None, None, None, None], + 'hourly_summary': ['Hourly Summary', None, None, None, None, None], + 'daily_summary': ['Daily Summary', None, None, None, None, None], 'icon': ['Icon', None, None, None, None, None], 'nearest_storm_distance': ['Nearest Storm Distance', 'km', 'm', 'km', 'km', 'm'], @@ -134,11 +137,20 @@ class ForeCastSensor(Entity): import forecastio self.forecast_client.update() - data = self.forecast_client.data + data = self.forecast_client.data.currently() + data_minutely = self.forecast_client.data.minutely() + data_hourly = self.forecast_client.data.hourly() + data_daily = self.forecast_client.data.daily() try: if self.type == 'summary': self._state = data.summary + elif self.type == 'minutely_summary': + self._state = data_minutely.summary + elif self.type == 'hourly_summary': + self._state = data_hourly.summary + elif self.type == 'daily_summary': + self._state = data_daily.summary elif self.type == 'icon': self._state = data.icon elif self.type == 'nearest_storm_distance': @@ -198,5 +210,5 @@ class ForeCastData(object): self.latitude, self.longitude, units=self.units) - self.data = forecast.currently() + self.data = forecast self.unit_system = forecast.json['flags']['units']