diff --git a/src/components/ha-vacuum-state.js b/src/components/ha-vacuum-state.js
index 3cc3377e26..bacd8b8f40 100644
--- a/src/components/ha-vacuum-state.js
+++ b/src/components/ha-vacuum-state.js
@@ -11,11 +11,11 @@ const STATES_INTERCEPTABLE = {
},
docked: {
action: 'start_cleaning',
- service: 'start_pause'
+ service: 'start'
},
idle: {
action: 'start_cleaning',
- service: 'start_pause'
+ service: 'start'
},
off: {
action: 'turn_on',
@@ -27,7 +27,7 @@ const STATES_INTERCEPTABLE = {
},
paused: {
action: 'resume_cleaning',
- service: 'start_pause'
+ service: 'start'
},
};
diff --git a/src/dialogs/more-info/controls/more-info-vacuum.js b/src/dialogs/more-info/controls/more-info-vacuum.js
index 9842663354..8a2c897380 100644
--- a/src/dialogs/more-info/controls/more-info-vacuum.js
+++ b/src/dialogs/more-info/controls/more-info-vacuum.js
@@ -41,9 +41,20 @@ class MoreInfoVacuum extends PolymerElement {
Vacuum cleaner commands:
-
+
+
+
+
+
+
+
+
@@ -135,12 +146,17 @@ class MoreInfoVacuum extends PolymerElement {
return (stateObj.attributes.supported_features & 1024) !== 0;
}
+ supportsStart(stateObj) {
+ return (stateObj.attributes.supported_features & 8192) !== 0;
+ }
+
supportsCommandBar(stateObj) {
return (((stateObj.attributes.supported_features & 4) !== 0)
| ((stateObj.attributes.supported_features & 8) !== 0)
| ((stateObj.attributes.supported_features & 16) !== 0)
| ((stateObj.attributes.supported_features & 512) !== 0)
- | ((stateObj.attributes.supported_features & 1024) !== 0));
+ | ((stateObj.attributes.supported_features & 1024) !== 0)
+ | ((stateObj.attributes.supported_features & 8192) !== 0));
}
/* eslint-enable no-bitwise */
@@ -171,6 +187,18 @@ class MoreInfoVacuum extends PolymerElement {
});
}
+ onPause() {
+ this.hass.callService('vacuum', 'pause', {
+ entity_id: this.stateObj.entity_id
+ });
+ }
+
+ onStart() {
+ this.hass.callService('vacuum', 'start', {
+ entity_id: this.stateObj.entity_id
+ });
+ }
+
onLocate() {
this.hass.callService('vacuum', 'locate', {
entity_id: this.stateObj.entity_id