Updates to Environment Canada components (#25973)

* Bump env_canada to 0.0.21

* Add timestamp attribute to camera

* Bump env_canada to 0.0.23

* Clean up displayed values

* Validate radar station code

* Bump env_canada to 0.0.24

* Black

* Remove default "None" from sensor

* Switch to cv.matches_regex
This commit is contained in:
michaeldavie 2019-08-18 00:19:44 -04:00 committed by Paulus Schoutsen
parent 6907e8e9dc
commit fc716a45c9
4 changed files with 13 additions and 4 deletions

View File

@ -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()

View File

@ -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": [

View File

@ -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")

View File

@ -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