diff --git a/tests/components/matter/conftest.py b/tests/components/matter/conftest.py index dee65e822470b..af40cfc725703 100644 --- a/tests/components/matter/conftest.py +++ b/tests/components/matter/conftest.py @@ -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", diff --git a/tests/components/matter/fixtures/nodes/ecovacs_deebot.json b/tests/components/matter/fixtures/nodes/ecovacs_deebot.json new file mode 100644 index 0000000000000..ad79c2cf0c772 --- /dev/null +++ b/tests/components/matter/fixtures/nodes/ecovacs_deebot.json @@ -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": [] +} diff --git a/tests/components/matter/snapshots/test_button.ambr b/tests/components/matter/snapshots/test_button.ambr index 137bae58bca57..e2fd4b68b3e74 100644 --- a/tests/components/matter/snapshots/test_button.ambr +++ b/tests/components/matter/snapshots/test_button.ambr @@ -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': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'button', + 'entity_category': , + 'entity_id': 'button.ecodeebot_identify', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + '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': , + 'entity_id': 'button.ecodeebot_identify', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- # name: test_buttons[eve_contact_sensor][button.eve_door_identify-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ diff --git a/tests/components/matter/snapshots/test_select.ambr b/tests/components/matter/snapshots/test_select.ambr index c8dbd0584f311..041b348ebe0d1 100644 --- a/tests/components/matter/snapshots/test_select.ambr +++ b/tests/components/matter/snapshots/test_select.ambr @@ -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': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'select', + 'entity_category': None, + 'entity_id': 'select.ecodeebot_clean_mode', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + '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': , + 'entity_id': 'select.ecodeebot_clean_mode', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'Vacuum & Mop', + }) +# --- # name: test_selects[eve_energy_20ecn4101][select.eve_energy_20ecn4101_power_on_behavior_on_startup_bottom-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ diff --git a/tests/components/matter/snapshots/test_sensor.ambr b/tests/components/matter/snapshots/test_sensor.ambr index 54e3faa4cec95..9bc66819e0a82 100644 --- a/tests/components/matter/snapshots/test_sensor.ambr +++ b/tests/components/matter/snapshots/test_sensor.ambr @@ -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': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.ecodeebot_battery', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + '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': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.ecodeebot_battery', + 'last_changed': , + 'last_reported': , + 'last_updated': , + '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': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.ecodeebot_battery_charge_state', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + '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': , + 'entity_id': 'sensor.ecodeebot_battery_charge_state', + 'last_changed': , + 'last_reported': , + 'last_updated': , + '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': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.ecodeebot_current_phase', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + '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': , + 'entity_id': 'sensor.ecodeebot_current_phase', + 'last_changed': , + 'last_reported': , + 'last_updated': , + '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': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.ecodeebot_operational_error', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + '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': , + 'entity_id': 'sensor.ecodeebot_operational_error', + 'last_changed': , + 'last_reported': , + 'last_updated': , + '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': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.ecodeebot_operational_state', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + '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': , + 'entity_id': 'sensor.ecodeebot_operational_state', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'docked', + }) +# --- +# name: test_sensors[ecovacs_deebot][sensor.ecodeebot_time_to_full_charge-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.ecodeebot_time_to_full_charge', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + 'sensor.private': dict({ + 'suggested_unit_of_measurement': , + }), + }), + 'original_device_class': , + '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': , + }) +# --- +# 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': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.ecodeebot_time_to_full_charge', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.0', + }) +# --- # name: test_sensors[eve_contact_sensor][sensor.eve_door_battery-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ diff --git a/tests/components/matter/snapshots/test_vacuum.ambr b/tests/components/matter/snapshots/test_vacuum.ambr index 5ddf6922c6677..db7bbdd2b7349 100644 --- a/tests/components/matter/snapshots/test_vacuum.ambr +++ b/tests/components/matter/snapshots/test_vacuum.ambr @@ -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': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'vacuum', + 'entity_category': None, + 'entity_id': 'vacuum.ecodeebot', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + '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': , + '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': , + }), + 'context': , + 'entity_id': 'vacuum.ecodeebot', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'docked', + }) +# --- # name: test_vacuum[switchbot_k11_plus][vacuum.k11-entry] EntityRegistryEntrySnapshot({ 'aliases': set({