Covers - Removed disable buttons (#356)

* Removed disable buttons

Allow commands being send even if cover is open or closed. Important for cover template when using multiple covers or in end positions when cover registered as open/closed but isn't due to tolerance.

* Option to always enable buttons with assume_state

* Option to always enable buttons with assume_state

* Fix errors

* Update ha-cover-controls.html

* Update ha-cover-tilt-controls.html

* Added Functions

I couldn't test the ones for the tilt covers, but they should be fine.

* Update cover-model.html

* Compute button disable in component

* Minor fixes
This commit is contained in:
Marc 2017-07-29 19:23:44 +02:00 committed by Paulus Schoutsen
parent 1aa387a72f
commit 8787304ed4
2 changed files with 21 additions and 14 deletions

View File

@ -17,12 +17,12 @@
<div class='state'>
<paper-icon-button icon="mdi:arrow-up" on-tap='onOpenTap'
invisible$='[[!entityObj.supportsOpen]]'
disabled='[[entityObj.isFullyOpen]]'></paper-icon-button>
disabled='[[computeOpenDisabled(stateObj, entityObj)]]'></paper-icon-button>
<paper-icon-button icon="mdi:stop" on-tap='onStopTap'
invisible$='[[!entityObj.supportsStop]]'></paper-icon-button>
<paper-icon-button icon="mdi:arrow-down" on-tap='onCloseTap'
invisible$='[[!entityObj.supportsClose]]'
disabled='[[entityObj.isFullyClosed]]'></paper-icon-button>
disabled='[[computeClosedDisabled(stateObj, entityObj)]]'></paper-icon-button>
</div>
</template>
</dom-module>
@ -45,6 +45,14 @@ Polymer({
computeEntityObj: function (hass, stateObj) {
return new window.CoverEntity(hass, stateObj);
},
computeOpenDisabled: function (stateObj, entityObj) {
var assumedState = stateObj.attributes.assumed_state === true;
return entityObj.isFullyOpen && !assumedState;
},
computeClosedDisabled: function (stateObj, entityObj) {
var assumedState = (stateObj.attributes.assumed_state === true);
return entityObj.isFullyClosed && !assumedState;
},
onOpenTap: function (ev) {
ev.stopPropagation();
this.entityObj.openCover();

View File

@ -13,7 +13,6 @@
:host {
white-space: nowrap;
}
[invisible] {
visibility: hidden !important;
}
@ -21,51 +20,51 @@
<paper-icon-button icon="mdi:arrow-top-right"
on-tap='onOpenTiltTap' title='Open tilt'
invisible$='[[!entityObj.supportsOpenTilt]]'
disabled='[[entityObj.isFullyOpenTilt]]'></paper-icon-button>
disabled='[[computeOpenDisabled(stateObj, entityObj)]]'></paper-icon-button>
<paper-icon-button icon="mdi:stop" on-tap='onStopTiltTap'
invisible$='[[!entityObj.supportsStopTilt]]'
title='Stop tilt'></paper-icon-button>
<paper-icon-button icon="mdi:arrow-bottom-left"
on-tap='onCloseTiltTap' title='Close tilt'
invisible$='[[!entityObj.supportsCloseTilt]]'
disabled='[[entityObj.isFullyClosedTilt]]'></paper-icon-button>
disabled='[[computeClosedDisabled(stateObj, entityObj)]]'></paper-icon-button>
</template>
</dom-module>
<script>
Polymer({
is: 'ha-cover-tilt-controls',
properties: {
hass: {
type: Object,
},
stateObj: {
type: Object,
},
entityObj: {
type: Object,
computed: 'computeEntityObj(hass, stateObj)',
},
},
computeEntityObj: function (hass, stateObj) {
var entity = new window.CoverEntity(hass, stateObj);
return entity;
return new window.CoverEntity(hass, stateObj);
},
computeOpenDisabled: function (stateObj, entityObj) {
var assumedState = stateObj.attributes.assumed_state === true;
return entityObj.isFullyOpenTilt && !assumedState;
},
computeClosedDisabled: function (stateObj, entityObj) {
var assumedState = (stateObj.attributes.assumed_state === true);
return entityObj.isFullyClosedTilt && !assumedState;
},
onOpenTiltTap: function (ev) {
ev.stopPropagation();
this.entityObj.openCoverTilt();
},
onCloseTiltTap: function (ev) {
ev.stopPropagation();
this.entityObj.closeCoverTilt();
},
onStopTiltTap: function (ev) {
ev.stopPropagation();
this.entityObj.stopCoverTilt();