Add Ecovacs Deebot to Matter fixtures (#155587)

This commit is contained in:
Ludovic BOUÉ
2025-11-02 20:23:35 +01:00
committed by GitHub
parent 144fc2a443
commit 7809fb6a9b
6 changed files with 1036 additions and 0 deletions
+1
View File
@@ -88,6 +88,7 @@ async def integration_fixture(
"door_lock",
"door_lock_with_unbolt",
"eberle_ute3000",
"ecovacs_deebot",
"eve_contact_sensor",
"eve_energy_20ecn4101",
"eve_energy_plug",
@@ -0,0 +1,432 @@
{
"node_id": 47,
"date_commissioned": "2025-08-05T06:13:04.954988",
"last_interview": "2025-08-05T06:13:04.954997",
"interview_version": 6,
"available": true,
"is_bridge": false,
"attributes": {
"0/29/0": [
{
"0": 22,
"1": 1
}
],
"0/29/1": [29, 31, 40, 46, 48, 50, 51, 54, 60, 62, 63],
"0/29/2": [],
"0/29/3": [1],
"0/29/65532": 0,
"0/29/65533": 2,
"0/29/65528": [],
"0/29/65529": [],
"0/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
"0/31/0": [
{
"1": 5,
"2": 2,
"3": [112233],
"4": null,
"254": 25
}
],
"0/31/2": 4,
"0/31/3": 3,
"0/31/4": 4,
"0/31/65532": 0,
"0/31/65533": 2,
"0/31/65528": [],
"0/31/65529": [],
"0/31/65531": [0, 2, 3, 4, 65528, 65529, 65531, 65532, 65533],
"0/40/0": 18,
"0/40/1": "ECOVACS",
"0/40/2": 5125,
"0/40/3": "6u6o4f",
"0/40/4": 5,
"0/40/5": "ecodeebot",
"0/40/6": "**REDACTED**",
"0/40/7": 1,
"0/40/8": "1.0",
"0/40/9": 21400,
"0/40/10": "1.114.0",
"0/40/15": "E0AS34949F1FPNMG2906",
"0/40/18": "2e8be4ad8b964aa18251b041b7472f24",
"0/40/19": {
"0": 3,
"1": 65535
},
"0/40/21": 17039360,
"0/40/22": 1,
"0/40/65532": 0,
"0/40/65533": 4,
"0/40/65528": [],
"0/40/65529": [],
"0/40/65531": [
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 18, 19, 21, 22, 65528, 65529, 65531,
65532, 65533
],
"0/46/0": [1],
"0/46/65532": 0,
"0/46/65533": 1,
"0/46/65528": [],
"0/46/65529": [],
"0/46/65531": [0, 65528, 65529, 65531, 65532, 65533],
"0/48/0": 0,
"0/48/1": {
"0": 60,
"1": 900
},
"0/48/2": 0,
"0/48/3": 2,
"0/48/4": true,
"0/48/65532": 0,
"0/48/65533": 2,
"0/48/65528": [1, 3, 5],
"0/48/65529": [0, 2, 4],
"0/48/65531": [0, 1, 2, 3, 4, 65528, 65529, 65531, 65532, 65533],
"0/50/65532": 0,
"0/50/65533": 1,
"0/50/65528": [1],
"0/50/65529": [0],
"0/50/65531": [65528, 65529, 65531, 65532, 65533],
"0/51/0": [
{
"0": "wlan1",
"1": false,
"2": null,
"3": null,
"4": "QvTJ//DL",
"5": [],
"6": [],
"7": 1
},
{
"0": "wlan0",
"1": true,
"2": null,
"3": null,
"4": "QPTJ//DL",
"5": ["wKgAcg=="],
"6": ["/dCWQDIP6kBC9Mn//v/wyw==", "/oAAAAAAAABC9Mn//v/wyw=="],
"7": 1
},
{
"0": "lo",
"1": true,
"2": null,
"3": null,
"4": "AAAAAAAA",
"5": ["fwAAAQ=="],
"6": ["AAAAAAAAAAAAAAAAAAAAAQ=="],
"7": 0
}
],
"0/51/1": 96,
"0/51/2": 48490,
"0/51/3": 2160,
"0/51/4": 6,
"0/51/8": true,
"0/51/65532": 0,
"0/51/65533": 2,
"0/51/65528": [2],
"0/51/65529": [0, 1],
"0/51/65531": [0, 1, 2, 3, 4, 8, 65528, 65529, 65531, 65532, 65533],
"0/54/0": "aN23nfqg",
"0/54/1": 4,
"0/54/2": 3,
"0/54/3": 6,
"0/54/4": -45,
"0/54/5": 0,
"0/54/12": 0,
"0/54/65532": 2,
"0/54/65533": 1,
"0/54/65528": [],
"0/54/65529": [0],
"0/54/65531": [0, 1, 2, 3, 4, 5, 12, 65528, 65529, 65531, 65532, 65533],
"0/60/0": 0,
"0/60/1": null,
"0/60/2": null,
"0/60/65532": 1,
"0/60/65533": 1,
"0/60/65528": [],
"0/60/65529": [0, 1, 2],
"0/60/65531": [0, 1, 2, 65528, 65529, 65531, 65532, 65533],
"0/62/0": [
{
"1": "FTABAQEkAgE3AyQTAhgmBIAigScmBYAlTTo3BiQVASQRLxgkBwEkCAEwCUEEUarG3UfHE8mkUzO8Jix5vaWqGlSQwfu9Krg7m0+iuYYZp2rEd8KuJkOtu3j6wSuGt6vJQft3bappRXA5tyuAVTcKNQEoARgkAgE2AwQCBAEYMAQUwGkeYfvQOR8Hh41yKLYK2w7s8o8wBRTum7iD9PA4/eJowuV/PjdmAu5IPxgwC0D3gMR5EgGw0hzINp1ewAgWuMirxl2RJsIPg8uJr25Hjrf4Ko9lqt4eBhO6lbcjZu2Gi8TvoeSsUYISXvDel8vuGA==",
"2": "FTABAQEkAgE3AyQUARgmBIAigScmBYAlTTo3BiQTAhgkBwEkCAEwCUEELgwoSqrtbV5znmhJlm1B6wiBe5dNgt5UMBuYKfMmVyuIKG//sf8aLMlYMVhVPMKW0aasfvzFYeBvW43+vPWLfzcKNQEpARgkAmAwBBTum7iD9PA4/eJowuV/PjdmAu5IPzAFFHfLMW/7+LtsZTKVFvMPPgah5GH5GDALQGxuMJjf2s5gBeTPMz8uYQlOEtNt9E984Yur6bkQ7lHPXH6UWKt9R1w+S8VTKn+6CmcHQNOfmndPn4EnwEl7HkIY",
"254": 25
}
],
"0/62/1": [
{
"1": "BHA5Qbd1t11L7Vyni6woFpWRd7z+OoPPgMqgUEzhzNhKpFcdls+Q5ovxLP3tJCzn6Nkd+Y0MDafvWt3HBeiMars=",
"2": 65521,
"3": 1,
"4": 47,
"5": "\u6211\u7684\u5bb6",
"254": 25
}
],
"0/62/2": 17,
"0/62/3": 6,
"0/62/4": [
"FTABAQAkAgE3AyYUf0DgBCYV0uAlgRgmBP7WGTAkBQA3BiYUf0DgBCYV0uAlgRgkBwEkCAEwCUEEw9A2jRWks8fmsSDV1Z7xxyE2K8SRVe+SQfMhjE0M/bKqMI2J0FIBAAFdrGMKXw8KuvYEHFU8kRPHbtcSiG3PbzcKNQEpARgkAmAwBBQrbetmbnWK7kqMuaa1pv5tI6E7YjAFFCtt62ZudYruSoy5prWm/m0joTtiGDALQCX8LEVr9efT2IQGqK8csl29x1a0tPvZcuKKWxHb7TtzNMA9h92eOEMj3lzTkt12CBXWboeG6K4W7Zqn4jCo1Q4Y",
"FTABAQAkAgE3AycUVplzs0HluZAmFViBIFQYJgRo9usuJAUANwYnFFaZc7NB5bmQJhVYgSBUGCQHASQIATAJQQTzCxNt2Vlgd2gqhV4E34tgdAFguFOoRDkvhCDnui0EkO7HOB6NcOjs/nwZXt+r1MOSP1WM/oPwrn7HyMZdMSvoNwo1ASkBGCQCYDAEFLr9OYtmrw9sXRmUS1Q7ne0REsJfMAUUuv05i2avD2xdGZRLVDud7RESwl8YMAtAmz8ExeyVcxtSkbXPT+H7JdpXZmDte/BchFKT2pSWxR/IzXuhvvOViTJcYs1+tOUXI1x9CtWTK62mtCiOZG1GXBg=",
"FTABAQEkAgE3AyQUARgmBIAigScmBYAlTTo3BiQUARgkBwEkCAEwCUEEcDlBt3W3XUvtXKeLrCgWlZF3vP46g8+AyqBQTOHM2EqkVx2Wz5Dmi/Es/e0kLOfo2R35jQwNp+9a3ccF6IxquzcKNQEpARgkAmAwBBR3yzFv+/i7bGUylRbzDz4GoeRh+TAFFHfLMW/7+LtsZTKVFvMPPgah5GH5GDALQKegHTGhuJXuyEqQN+NOdBjAqTOGRA1hgVK+v6FSPZpK83nBfuh/M+N1pmAB1euOJJJyWBpDfast7hHDFot5A4oY",
"FTABAQAkAgE3AyQUABgmBHIxSy4mBfJn+EI3BiQUABgkBwEkCAEwCUEENN9/XlWEItiS1FJQpCBwkHJOkjjkQdVFJMjbajKpbGJkt/9sca2/1dnIb3AOEK6wV2DSZRKLZ52m+jnNfUdcdDcKNQEpARgkAmAwBBTZ8kBX6autcPIUm/Hbx0CMO1VtCzAFFNnyQFfpq61w8hSb8dvHQIw7VW0LGDALQEtd83iUFEgleX+RyXS4NHi7kbk4KbDC1/d0G9TifLNKIIMECYvl4c9MFiNnJDnGr13JS4FDz6JG+oKK5/9mDBMY",
"FTABAQAkAgE3AyQUABgmBPfGTS4mBXf9+kI3BiQUABgkBwEkCAEwCUEEIoZgEti+ngjLBWwAmvBv43E8u31Eh5kWDKfMdTFGL5AVAzaGsiEfFbvJMhkCTRVxownQb/jUWehiJCqjkXVgyjcKNQEpARgkAmAwBBS2WHgwQI9XB3ubmUnNPXOBZtASuzAFFLZYeDBAj1cHe5uZSc09c4Fm0BK7GDALQGQRxQGO5+xfKUHSJuFexjN+yfTKCvrCjtPcl6J8rSRoDs0mj6JcGjK+GE3xKkBPu4prvHyB1g1VxysyXYuxA5oY",
"FTABAQEkAgE3AyQUARgmBIAigScmBYAlTTo3BiQUARgkBwEkCAEwCUEEii4WFcIZA4PpxrvpdYJgY1ym9Jf/zTAepBMn6jucxz2fwj3ICzq6K2tfVdVKIcpdAyVCOQ1G3q/AV9KgnvhzgDcKNQEpARgkAmAwBBSTbgKW/7buMl1FoTNnBXEfF9czTTAFFJNuApb/tu4yXUWhM2cFcR8X1zNNGDALQI7VgaII4QMYbNe+Xz2fyrfQYn4KSmNegKqhFN1BRWUct8nW+Vpcvxkv/hvzZsPVLrl35YBxWkb6AwlvGI3bnEQY"
],
"0/62/5": 25,
"0/62/65532": 0,
"0/62/65533": 1,
"0/62/65528": [1, 3, 5, 8],
"0/62/65529": [0, 2, 4, 6, 7, 9, 10, 11],
"0/62/65531": [0, 1, 2, 3, 4, 5, 65528, 65529, 65531, 65532, 65533],
"0/63/0": [],
"0/63/1": [],
"0/63/2": 4,
"0/63/3": 3,
"0/63/65532": 0,
"0/63/65533": 2,
"0/63/65528": [2, 5],
"0/63/65529": [0, 1, 3, 4],
"0/63/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
"1/3/0": 0,
"1/3/1": 3,
"1/3/65532": 0,
"1/3/65533": 5,
"1/3/65528": [],
"1/3/65529": [0],
"1/3/65531": [0, 1, 65528, 65529, 65531, 65532, 65533],
"1/29/0": [
{
"0": 17,
"1": 1
},
{
"0": 116,
"1": 1
}
],
"1/29/1": [3, 29, 47, 84, 85, 97, 336],
"1/29/2": [],
"1/29/3": [],
"1/29/65532": 0,
"1/29/65533": 2,
"1/29/65528": [],
"1/29/65529": [],
"1/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
"1/47/0": 1,
"1/47/1": 0,
"1/47/2": "",
"1/47/12": 200,
"1/47/14": 0,
"1/47/15": false,
"1/47/16": 3,
"1/47/17": true,
"1/47/26": 2,
"1/47/27": 0,
"1/47/28": false,
"1/47/31": [],
"1/47/65532": 6,
"1/47/65533": 3,
"1/47/65528": [],
"1/47/65529": [],
"1/47/65531": [
0, 1, 2, 12, 14, 15, 16, 17, 26, 27, 28, 31, 65528, 65529, 65531, 65532,
65533
],
"1/84/0": [
{
"0": "Idle",
"1": 0,
"2": [
{
"1": 16384
}
]
},
{
"0": "Cleaning",
"1": 1,
"2": [
{
"1": 16385
}
]
},
{
"0": "Mapping",
"1": 2,
"2": [
{
"1": 16386
}
]
}
],
"1/84/1": 0,
"1/84/65532": 0,
"1/84/65533": 3,
"1/84/65528": [1],
"1/84/65529": [0],
"1/84/65531": [0, 1, 65528, 65529, 65531, 65532, 65533],
"1/85/0": [
{
"0": "Vacuum & Mop",
"1": 0,
"2": [
{
"1": 16386
},
{
"1": 0
},
{
"1": 16385
}
]
},
{
"0": "Vacuum-Only",
"1": 1,
"2": [
{
"1": 16385
},
{
"1": 1
}
]
},
{
"0": "Mop after Vacuum",
"1": 3,
"2": [
{
"1": 16386
},
{
"1": 16384
},
{
"1": 16385
}
]
}
],
"1/85/1": 0,
"1/85/65532": 0,
"1/85/65533": 3,
"1/85/65528": [1],
"1/85/65529": [0],
"1/85/65531": [0, 1, 65528, 65529, 65531, 65532, 65533],
"1/97/0": [
"Return",
"Goto",
"Idle",
"Relocation",
"Remote Control",
"AI Guide",
"Check Point",
"Patrol",
"Auto Collect Dirt",
"Aroma",
"Fast Build Map",
"WakeUp",
"Wash Mop",
"Dry Mop",
"Come Clean",
"Return Wash Mop",
"Find Pet",
"Self Clean",
"Return Collect Dirt",
"Return Collect And Wash",
"Scene Clean",
"Point Clean",
"Trustship Clean",
"General Clean",
"Hand Collect Dirt",
"One Key Down",
"Find Child",
"Pump Water",
"Dry Clean",
"Smart Clean"
],
"1/97/1": 2,
"1/97/3": [
{
"0": 0
},
{
"0": 1
},
{
"0": 2
},
{
"0": 3
},
{
"0": 64
},
{
"0": 65
},
{
"0": 66
}
],
"1/97/4": 66,
"1/97/5": {
"0": 0
},
"1/97/65532": 0,
"1/97/65533": 2,
"1/97/65528": [4],
"1/97/65529": [0, 3, 128],
"1/97/65531": [0, 1, 3, 4, 5, 65528, 65529, 65531, 65532, 65533],
"1/336/0": [
{
"0": 10000,
"1": 1409736026,
"2": {
"0": {
"0": "Room",
"1": 0,
"2": 20
},
"1": null
}
},
{
"0": 10001,
"1": 1409736026,
"2": {
"0": {
"0": "Room1",
"1": 0,
"2": 20
},
"1": null
}
}
],
"1/336/1": [
{
"0": 1409736026,
"1": "map1"
}
],
"1/336/2": [],
"1/336/3": null,
"1/336/5": [],
"1/336/65532": 6,
"1/336/65533": 1,
"1/336/65528": [1, 3],
"1/336/65529": [0, 2],
"1/336/65531": [0, 1, 2, 3, 5, 65528, 65529, 65531, 65532, 65533]
},
"attribute_subscriptions": []
}
@@ -536,6 +536,55 @@
'state': 'unknown',
})
# ---
# name: test_buttons[ecovacs_deebot][button.ecodeebot_identify-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'button',
'entity_category': <EntityCategory.CONFIG: 'config'>,
'entity_id': 'button.ecodeebot_identify',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <ButtonDeviceClass.IDENTIFY: 'identify'>,
'original_icon': None,
'original_name': 'Identify',
'platform': 'matter',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '00000000000004D2-000000000000002F-MatterNodeDevice-1-IdentifyButton-3-1',
'unit_of_measurement': None,
})
# ---
# name: test_buttons[ecovacs_deebot][button.ecodeebot_identify-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'identify',
'friendly_name': 'ecodeebot Identify',
}),
'context': <ANY>,
'entity_id': 'button.ecodeebot_identify',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_buttons[eve_contact_sensor][button.eve_door_identify-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
@@ -739,6 +739,65 @@
'state': 'silent',
})
# ---
# name: test_selects[ecovacs_deebot][select.ecodeebot_clean_mode-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'options': list([
'Vacuum & Mop',
'Vacuum-Only',
'Mop after Vacuum',
]),
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'select',
'entity_category': None,
'entity_id': 'select.ecodeebot_clean_mode',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Clean mode',
'platform': 'matter',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'clean_mode',
'unique_id': '00000000000004D2-000000000000002F-MatterNodeDevice-1-MatterRvcCleanMode-85-1',
'unit_of_measurement': None,
})
# ---
# name: test_selects[ecovacs_deebot][select.ecodeebot_clean_mode-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'ecodeebot Clean mode',
'options': list([
'Vacuum & Mop',
'Vacuum-Only',
'Mop after Vacuum',
]),
}),
'context': <ANY>,
'entity_id': 'select.ecodeebot_clean_mode',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'Vacuum & Mop',
})
# ---
# name: test_selects[eve_energy_20ecn4101][select.eve_energy_20ecn4101_power_on_behavior_on_startup_bottom-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
@@ -2596,6 +2596,452 @@
'state': '22.5',
})
# ---
# name: test_sensors[ecovacs_deebot][sensor.ecodeebot_battery-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.ecodeebot_battery',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': None,
'original_name': 'Battery',
'platform': 'matter',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '00000000000004D2-000000000000002F-MatterNodeDevice-1-PowerSource-47-12',
'unit_of_measurement': '%',
})
# ---
# name: test_sensors[ecovacs_deebot][sensor.ecodeebot_battery-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'battery',
'friendly_name': 'ecodeebot Battery',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.ecodeebot_battery',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '100',
})
# ---
# name: test_sensors[ecovacs_deebot][sensor.ecodeebot_battery_charge_state-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'options': list([
'not_charging',
'charging',
'full_charge',
]),
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.ecodeebot_battery_charge_state',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
'original_icon': None,
'original_name': 'Battery charge state',
'platform': 'matter',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'battery_charge_state',
'unique_id': '00000000000004D2-000000000000002F-MatterNodeDevice-1-PowerSourceBatChargeState-47-26',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[ecovacs_deebot][sensor.ecodeebot_battery_charge_state-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'enum',
'friendly_name': 'ecodeebot Battery charge state',
'options': list([
'not_charging',
'charging',
'full_charge',
]),
}),
'context': <ANY>,
'entity_id': 'sensor.ecodeebot_battery_charge_state',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'full_charge',
})
# ---
# name: test_sensors[ecovacs_deebot][sensor.ecodeebot_current_phase-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'options': list([
'Return',
'Goto',
'Idle',
'Relocation',
'Remote Control',
'AI Guide',
'Check Point',
'Patrol',
'Auto Collect Dirt',
'Aroma',
'Fast Build Map',
'WakeUp',
'Wash Mop',
'Dry Mop',
'Come Clean',
'Return Wash Mop',
'Find Pet',
'Self Clean',
'Return Collect Dirt',
'Return Collect And Wash',
'Scene Clean',
'Point Clean',
'Trustship Clean',
'General Clean',
'Hand Collect Dirt',
'One Key Down',
'Find Child',
'Pump Water',
'Dry Clean',
'Smart Clean',
]),
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.ecodeebot_current_phase',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
'original_icon': None,
'original_name': 'Current phase',
'platform': 'matter',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'current_phase',
'unique_id': '00000000000004D2-000000000000002F-MatterNodeDevice-1-RvcOperationalStateCurrentPhase-97-1',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[ecovacs_deebot][sensor.ecodeebot_current_phase-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'enum',
'friendly_name': 'ecodeebot Current phase',
'options': list([
'Return',
'Goto',
'Idle',
'Relocation',
'Remote Control',
'AI Guide',
'Check Point',
'Patrol',
'Auto Collect Dirt',
'Aroma',
'Fast Build Map',
'WakeUp',
'Wash Mop',
'Dry Mop',
'Come Clean',
'Return Wash Mop',
'Find Pet',
'Self Clean',
'Return Collect Dirt',
'Return Collect And Wash',
'Scene Clean',
'Point Clean',
'Trustship Clean',
'General Clean',
'Hand Collect Dirt',
'One Key Down',
'Find Child',
'Pump Water',
'Dry Clean',
'Smart Clean',
]),
}),
'context': <ANY>,
'entity_id': 'sensor.ecodeebot_current_phase',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'Idle',
})
# ---
# name: test_sensors[ecovacs_deebot][sensor.ecodeebot_operational_error-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'options': list([
'no_error',
'unable_to_start_or_resume',
'unable_to_complete_operation',
'command_invalid_in_state',
'failed_to_find_charging_dock',
'stuck',
'dust_bin_missing',
'dust_bin_full',
'water_tank_empty',
'water_tank_missing',
'water_tank_lid_open',
'mop_cleaning_pad_missing',
'low_battery',
'cannot_reach_target_area',
'dirty_water_tank_full',
'dirty_water_tank_missing',
'wheels_jammed',
'brush_jammed',
'navigation_sensor_obscured',
]),
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.ecodeebot_operational_error',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
'original_icon': None,
'original_name': 'Operational error',
'platform': 'matter',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'operational_error',
'unique_id': '00000000000004D2-000000000000002F-MatterNodeDevice-1-RvcOperationalStateOperationalError-97-5',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[ecovacs_deebot][sensor.ecodeebot_operational_error-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'enum',
'friendly_name': 'ecodeebot Operational error',
'options': list([
'no_error',
'unable_to_start_or_resume',
'unable_to_complete_operation',
'command_invalid_in_state',
'failed_to_find_charging_dock',
'stuck',
'dust_bin_missing',
'dust_bin_full',
'water_tank_empty',
'water_tank_missing',
'water_tank_lid_open',
'mop_cleaning_pad_missing',
'low_battery',
'cannot_reach_target_area',
'dirty_water_tank_full',
'dirty_water_tank_missing',
'wheels_jammed',
'brush_jammed',
'navigation_sensor_obscured',
]),
}),
'context': <ANY>,
'entity_id': 'sensor.ecodeebot_operational_error',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'no_error',
})
# ---
# name: test_sensors[ecovacs_deebot][sensor.ecodeebot_operational_state-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'options': list([
'stopped',
'running',
'paused',
'error',
'seeking_charger',
'charging',
'docked',
]),
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.ecodeebot_operational_state',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
'original_icon': None,
'original_name': 'Operational state',
'platform': 'matter',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'operational_state',
'unique_id': '00000000000004D2-000000000000002F-MatterNodeDevice-1-RvcOperationalState-97-4',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[ecovacs_deebot][sensor.ecodeebot_operational_state-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'enum',
'friendly_name': 'ecodeebot Operational state',
'options': list([
'stopped',
'running',
'paused',
'error',
'seeking_charger',
'charging',
'docked',
]),
}),
'context': <ANY>,
'entity_id': 'sensor.ecodeebot_operational_state',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'docked',
})
# ---
# name: test_sensors[ecovacs_deebot][sensor.ecodeebot_time_to_full_charge-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.ecodeebot_time_to_full_charge',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
'sensor': dict({
'suggested_display_precision': 2,
}),
'sensor.private': dict({
'suggested_unit_of_measurement': <UnitOfTime.MINUTES: 'min'>,
}),
}),
'original_device_class': <SensorDeviceClass.DURATION: 'duration'>,
'original_icon': None,
'original_name': 'Time to full charge',
'platform': 'matter',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'battery_time_to_full_charge',
'unique_id': '00000000000004D2-000000000000002F-MatterNodeDevice-1-PowerSourceBatTimeToFullCharge-47-27',
'unit_of_measurement': <UnitOfTime.MINUTES: 'min'>,
})
# ---
# name: test_sensors[ecovacs_deebot][sensor.ecodeebot_time_to_full_charge-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'duration',
'friendly_name': 'ecodeebot Time to full charge',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': <UnitOfTime.MINUTES: 'min'>,
}),
'context': <ANY>,
'entity_id': 'sensor.ecodeebot_time_to_full_charge',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
})
# ---
# name: test_sensors[eve_contact_sensor][sensor.eve_door_battery-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
@@ -1,4 +1,53 @@
# serializer version: 1
# name: test_vacuum[ecovacs_deebot][vacuum.ecodeebot-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'vacuum',
'entity_category': None,
'entity_id': 'vacuum.ecodeebot',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': None,
'platform': 'matter',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': <VacuumEntityFeature: 12828>,
'translation_key': None,
'unique_id': '00000000000004D2-000000000000002F-MatterNodeDevice-1-MatterVacuumCleaner-84-1',
'unit_of_measurement': None,
})
# ---
# name: test_vacuum[ecovacs_deebot][vacuum.ecodeebot-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'ecodeebot',
'supported_features': <VacuumEntityFeature: 12828>,
}),
'context': <ANY>,
'entity_id': 'vacuum.ecodeebot',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'docked',
})
# ---
# name: test_vacuum[switchbot_k11_plus][vacuum.k11-entry]
EntityRegistryEntrySnapshot({
'aliases': set({