diff --git a/src/more-infos/more-info-climate.html b/src/more-infos/more-info-climate.html
index 05e7e40909..8563421bc7 100644
--- a/src/more-infos/more-info-climate.html
+++ b/src/more-infos/more-info-climate.html
@@ -39,6 +39,8 @@
.has-away_mode .container-away_mode,
.has-aux_heat .container-aux_heat,
.has-target_temperature .container-temperature,
+ .has-target_temperature_low .container-temperature,
+ .has-target_temperature_high .container-temperature,
.has-target_humidity .container-humidity,
.has-operation_mode .container-operation_list,
.has-fan_mode .container-fan_list,
@@ -104,21 +106,24 @@
-
-
+
-
Target
+
Target
Temperature
-
+
-
+
-
-
Target Humidity
-
-
[[stateObj.attributes.humidity]] %
-
-
+
+
+
Target Humidity
+
+
[[stateObj.attributes.humidity]] %
+
+
+
-
+
-
-
-
-
+
+
+
+
+
+
+
+
- [[item]]
+ items='[[stateObj.attributes.fan_list]]'
+ on-dom-change='handleFanListUpdate'>
+ [[item]]
-
+
-
-
-
-
-
-
+
-
@@ -263,7 +280,6 @@ class MoreInfoClimate extends window.hassMixins.EventsMixin(Polymer.Element) {
value: -1,
observer: 'handleSwingmodeChanged',
},
-
awayToggleChecked: Boolean,
auxToggleChecked: Boolean,
onToggleChecked: Boolean,
@@ -309,7 +325,7 @@ class MoreInfoClimate extends window.hassMixins.EventsMixin(Polymer.Element) {
this.fanIndex = -1;
if (this.stateObj.attributes.fan_list) {
this.fanIndex =
- this.stateObj.attributes.fan_list.indexOf(this.stateObj.attributes.fan_list);
+ this.stateObj.attributes.fan_list.indexOf(this.stateObj.attributes.fan_mode);
}
}
@@ -322,19 +338,45 @@ class MoreInfoClimate extends window.hassMixins.EventsMixin(Polymer.Element) {
return 0.5;
}
- computeTargetTempHidden(stateObj) {
- return !stateObj.attributes.temperature &&
- !stateObj.attributes.target_temp_low &&
- !stateObj.attributes.target_temp_high;
+ supportsTemperatureControls(stateObj) {
+ return this.supportsTemperature(stateObj) ||
+ this.supportsTemperatureRange(stateObj);
}
- computeIncludeTempRangeControl(stateObj) {
- return stateObj.attributes.target_temp_low ||
- stateObj.attributes.target_temp_high;
+ supportsTemperature(stateObj) {
+ return (stateObj.attributes.supported_features & 1) !== 0;
}
- computeIncludeTempControl(stateObj) {
- return stateObj.attributes.temperature;
+ supportsTemperatureRange(stateObj) {
+ return (stateObj.attributes.supported_features & 6) !== 0;
+ }
+
+ supportsHumidity(stateObj) {
+ return (stateObj.attributes.supported_features & 8) !== 0;
+ }
+
+ supportsFanMode(stateObj) {
+ return (stateObj.attributes.supported_features & 64) !== 0;
+ }
+
+ supportsOperationMode(stateObj) {
+ return (stateObj.attributes.supported_features & 128) !== 0;
+ }
+
+ supportsSwingMode(stateObj) {
+ return (stateObj.attributes.supported_features & 512) !== 0;
+ }
+
+ supportsAwayMode(stateObj) {
+ return (stateObj.attributes.supported_features & 1024) !== 0;
+ }
+
+ supportsAuxHeat(stateObj) {
+ return (stateObj.attributes.supported_features & 2048) !== 0;
+ }
+
+ supportsOn(stateObj) {
+ return (stateObj.attributes.supported_features & 4096) !== 0;
}
computeClassNames(stateObj) {