From 74e0779d3828bf34a2bf04c8d626d482f37fed7a Mon Sep 17 00:00:00 2001 From: c727 Date: Tue, 29 May 2018 03:29:52 +0200 Subject: [PATCH] Add precipitation to weather card (#1098) (#1221) --- src/cards/ha-weather-card.js | 241 ++++++++++++++++++----------------- 1 file changed, 126 insertions(+), 115 deletions(-) diff --git a/src/cards/ha-weather-card.js b/src/cards/ha-weather-card.js index 49853c6057..f2e1644aaa 100644 --- a/src/cards/ha-weather-card.js +++ b/src/cards/ha-weather-card.js @@ -14,136 +14,140 @@ class HaWeatherCard extends LocalizeMixin(EventsMixin(PolymerElement)) { static get template() { return html` - - -
-
-
- -
- [[stateObj.attributes.temperature]][[getUnit('temperature')]] + .attributes, + .templow, + .precipitation { { + color: var(--secondary-text-color); + } + + +
+
+
+ +
+ [[stateObj.attributes.temperature]][[getUnit('temperature')]] +
+
+
+ + +
-
- - - +
+ [[computeState(stateObj.state, localize)]]
+
-
- [[computeState(stateObj.state, localize)]] -
- -
-
-`; + + `; } static get properties() { @@ -194,8 +198,11 @@ class HaWeatherCard extends return forecast && forecast.slice(0, 5); } - getUnit(unit) { - return this.hass.config.core.unit_system[unit] || ''; + getUnit(measure) { + if (measure === 'precipitation') { + return this.getUnit('length') === 'km' ? 'mm' : 'in'; + } + return this.hass.config.core.unit_system[measure] || ''; } computeState(state, localize) { @@ -226,6 +233,10 @@ class HaWeatherCard extends return `${speed} ${this.getUnit('length')}/h`; } + _showValue(item) { + return typeof item !== 'undefined' && item !== null; + } + computeDateTime(data) { const date = new Date(data); const provider = this.stateObj.attributes.attribution;