diff --git a/src/components/ha-cover-controls.js b/src/components/ha-cover-controls.js index dabaed7faa..949e0984e3 100644 --- a/src/components/ha-cover-controls.js +++ b/src/components/ha-cover-controls.js @@ -43,11 +43,11 @@ class HaCoverControls extends PolymerElement { } computeOpenDisabled(stateObj, entityObj) { var assumedState = stateObj.attributes.assumed_state === true; - return entityObj.isFullyOpen && !assumedState; + return (entityObj.isFullyOpen || entityObj.isOpening) && !assumedState; } computeClosedDisabled(stateObj, entityObj) { var assumedState = (stateObj.attributes.assumed_state === true); - return entityObj.isFullyClosed && !assumedState; + return (entityObj.isFullyClosed || entityObj.isClosing) && !assumedState; } onOpenTap(ev) { ev.stopPropagation(); diff --git a/src/util/cover-model.js b/src/util/cover-model.js index e829366b55..9997eebaaa 100644 --- a/src/util/cover-model.js +++ b/src/util/cover-model.js @@ -29,6 +29,14 @@ export default class CoverEntity { return this._attr.current_tilt_position === 0; } + get isOpening() { + return this.stateObj.state === 'opening'; + } + + get isClosing() { + return this.stateObj.state === 'closing'; + } + /* eslint-disable no-bitwise */ get supportsOpen() {