diff --git a/homeassistant/components/environment_canada/camera.py b/homeassistant/components/environment_canada/camera.py index 709e4251fbf..2a23fb95a18 100755 --- a/homeassistant/components/environment_canada/camera.py +++ b/homeassistant/components/environment_canada/camera.py @@ -23,6 +23,7 @@ _LOGGER = logging.getLogger(__name__) ATTR_STATION = "station" ATTR_LOCATION = "location" +ATTR_UPDATED = "updated" CONF_ATTRIBUTION = "Data provided by Environment Canada" CONF_STATION = "station" @@ -35,7 +36,7 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( { vol.Optional(CONF_LOOP, default=True): cv.boolean, vol.Optional(CONF_NAME): cv.string, - vol.Optional(CONF_STATION): cv.string, + vol.Optional(CONF_STATION): cv.matches_regex(r"^C[A-Z]{4}$|^[A-Z]{3}$"), vol.Inclusive(CONF_LATITUDE, "latlon"): cv.latitude, vol.Inclusive(CONF_LONGITUDE, "latlon"): cv.longitude, vol.Optional(CONF_PRECIP_TYPE): ["RAIN", "SNOW"], @@ -70,6 +71,7 @@ class ECCamera(Camera): self.camera_name = camera_name self.content_type = "image/gif" self.image = None + self.timestamp = None def camera_image(self): """Return bytes of camera image.""" @@ -90,6 +92,7 @@ class ECCamera(Camera): ATTR_ATTRIBUTION: CONF_ATTRIBUTION, ATTR_LOCATION: self.radar_object.station_name, ATTR_STATION: self.radar_object.station_code, + ATTR_UPDATED: self.timestamp, } return attr @@ -101,3 +104,4 @@ class ECCamera(Camera): self.image = self.radar_object.get_loop() else: self.image = self.radar_object.get_latest_frame() + self.timestamp = self.radar_object.timestamp.isoformat() diff --git a/homeassistant/components/environment_canada/manifest.json b/homeassistant/components/environment_canada/manifest.json index 85df0495428..0625fd4c27f 100644 --- a/homeassistant/components/environment_canada/manifest.json +++ b/homeassistant/components/environment_canada/manifest.json @@ -3,7 +3,7 @@ "name": "Environment Canada", "documentation": "https://www.home-assistant.io/components/environment_canada", "requirements": [ - "env_canada==0.0.20" + "env_canada==0.0.24" ], "dependencies": [], "codeowners": [ diff --git a/homeassistant/components/environment_canada/sensor.py b/homeassistant/components/environment_canada/sensor.py index 0182e7c67ed..2413edaebce 100755 --- a/homeassistant/components/environment_canada/sensor.py +++ b/homeassistant/components/environment_canada/sensor.py @@ -133,10 +133,15 @@ class ECSensor(Entity): ATTR_TIME: " | ".join([str(s.get("date")) for s in value]), } ) + elif self.sensor_type == "tendency": + self._state = str(value).capitalize() else: self._state = value - if sensor_data.get("unit") == "C": + if sensor_data.get("unit") == "C" or self.sensor_type in [ + "wind_chill", + "humidex", + ]: self._unit = TEMP_CELSIUS else: self._unit = sensor_data.get("unit") diff --git a/requirements_all.txt b/requirements_all.txt index 439064864c7..b652cf81017 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -437,7 +437,7 @@ enocean==0.50 enturclient==0.2.0 # homeassistant.components.environment_canada -env_canada==0.0.20 +env_canada==0.0.24 # homeassistant.components.envirophat # envirophat==0.0.6