|
|
@@ -1,3 +1,4 @@
|
|
|
+from homeassistant.components.button import ButtonDeviceClass
|
|
|
from homeassistant.components.vacuum import (
|
|
|
STATE_CLEANING,
|
|
|
STATE_DOCKED,
|
|
|
@@ -13,6 +14,7 @@ from homeassistant.const import (
|
|
|
|
|
|
from ..const import KYVOL_E30_VACUUM_PAYLOAD
|
|
|
from ..helpers import assert_device_properties_set
|
|
|
+from ..mixins.button import MultiButtonTests
|
|
|
from ..mixins.sensor import MultiSensorTests
|
|
|
from ..mixins.switch import MultiSwitchTests
|
|
|
from .base_device_tests import TuyaDeviceTestCase
|
|
|
@@ -40,12 +42,33 @@ MODE_DPS = "104"
|
|
|
CARPET_DPS = "107"
|
|
|
|
|
|
|
|
|
-class TestKyvolE30Vacuum(MultiSensorTests, MultiSwitchTests, TuyaDeviceTestCase):
|
|
|
+class TestKyvolE30Vacuum(
|
|
|
+ MultiButtonTests, MultiSensorTests, MultiSwitchTests, TuyaDeviceTestCase
|
|
|
+):
|
|
|
__test__ = True
|
|
|
|
|
|
def setUp(self):
|
|
|
self.setUpForConfig("kyvol_e30_vacuum.yaml", KYVOL_E30_VACUUM_PAYLOAD)
|
|
|
self.subject = self.entities.get("vacuum")
|
|
|
+ self.setUpMultiButtons(
|
|
|
+ [
|
|
|
+ {
|
|
|
+ "dps": RSTEDGE_DPS,
|
|
|
+ "name": "button_edge_brush_reset",
|
|
|
+ "device_class": ButtonDeviceClass.RESTART,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "dps": RSTROLL_DPS,
|
|
|
+ "name": "button_roll_brush_reset",
|
|
|
+ "device_class": ButtonDeviceClass.RESTART,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "dps": RSTFILTER_DPS,
|
|
|
+ "name": "button_filter_reset",
|
|
|
+ "device_class": ButtonDeviceClass.RESTART,
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ )
|
|
|
self.setUpMultiSensors(
|
|
|
[
|
|
|
{
|
|
|
@@ -98,6 +121,9 @@ class TestKyvolE30Vacuum(MultiSensorTests, MultiSwitchTests, TuyaDeviceTestCase)
|
|
|
)
|
|
|
self.mark_secondary(
|
|
|
[
|
|
|
+ "button_edge_brush_reset",
|
|
|
+ "button_roll_brush_reset",
|
|
|
+ "button_filter_reset",
|
|
|
"sensor_clean_area",
|
|
|
"sensor_clean_time",
|
|
|
"sensor_edge_brush",
|