From d108c29b3805870e0edc48618106856553c590fd Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 19 Oct 2023 17:07:07 +0200 Subject: [PATCH 1/4] Add serial_number to device registry entries --- homeassistant/helpers/device_registry.py | 17 ++- .../components/config/test_device_registry.py | 3 + tests/helpers/test_device_registry.py | 139 +++++++++++++++++- 3 files changed, 155 insertions(+), 4 deletions(-) diff --git a/homeassistant/helpers/device_registry.py b/homeassistant/helpers/device_registry.py index 064579a95d34e2..48ebd7b6ebc1bc 100644 --- a/homeassistant/helpers/device_registry.py +++ b/homeassistant/helpers/device_registry.py @@ -36,7 +36,7 @@ EVENT_DEVICE_REGISTRY_UPDATED = "device_registry_updated" STORAGE_KEY = "core.device_registry" STORAGE_VERSION_MAJOR = 1 -STORAGE_VERSION_MINOR = 3 +STORAGE_VERSION_MINOR = 4 SAVE_DELAY = 10 CLEANUP_DELAY = 10 @@ -79,6 +79,7 @@ class DeviceInfo(TypedDict, total=False): manufacturer: str | None model: str | None name: str | None + serial_number: str | None suggested_area: str | None sw_version: str | None hw_version: str | None @@ -102,6 +103,7 @@ class DeviceInfo(TypedDict, total=False): "manufacturer", "model", "name", + "serial_number", "suggested_area", "sw_version", "via_device", @@ -229,6 +231,7 @@ class DeviceEntry: model: str | None = attr.ib(default=None) name_by_user: str | None = attr.ib(default=None) name: str | None = attr.ib(default=None) + serial_number: str | None = attr.ib(default=None) suggested_area: str | None = attr.ib(default=None) sw_version: str | None = attr.ib(default=None) via_device_id: str | None = attr.ib(default=None) @@ -257,6 +260,7 @@ def dict_repr(self) -> dict[str, Any]: "model": self.model, "name_by_user": self.name_by_user, "name": self.name, + "serial_number": self.serial_number, "sw_version": self.sw_version, "via_device_id": self.via_device_id, } @@ -359,6 +363,10 @@ async def _async_migrate_func( # Version 1.3 adds hw_version for device in old_data["devices"]: device["hw_version"] = None + if old_minor_version < 4: + # Introduced in 2023.11 + for device in old_data["devices"]: + device["serial_number"] = None if old_major_version > 1: raise NotImplementedError @@ -490,6 +498,7 @@ def async_get_or_create( manufacturer: str | None | UndefinedType = UNDEFINED, model: str | None | UndefinedType = UNDEFINED, name: str | None | UndefinedType = UNDEFINED, + serial_number: str | None | UndefinedType = UNDEFINED, suggested_area: str | None | UndefinedType = UNDEFINED, sw_version: str | None | UndefinedType = UNDEFINED, via_device: tuple[str, str] | None | UndefinedType = UNDEFINED, @@ -514,6 +523,7 @@ def async_get_or_create( ("manufacturer", manufacturer), ("model", model), ("name", name), + ("serial_number", serial_number), ("suggested_area", suggested_area), ("sw_version", sw_version), ("via_device", via_device), @@ -591,6 +601,7 @@ def async_get_or_create( merge_identifiers=identifiers or UNDEFINED, model=model, name=name, + serial_number=serial_number, suggested_area=suggested_area, sw_version=sw_version, via_device_id=via_device_id, @@ -620,6 +631,7 @@ def async_update_device( name: str | None | UndefinedType = UNDEFINED, new_identifiers: set[tuple[str, str]] | UndefinedType = UNDEFINED, remove_config_entry_id: str | UndefinedType = UNDEFINED, + serial_number: str | None | UndefinedType = UNDEFINED, suggested_area: str | None | UndefinedType = UNDEFINED, sw_version: str | None | UndefinedType = UNDEFINED, via_device_id: str | None | UndefinedType = UNDEFINED, @@ -709,6 +721,7 @@ def async_update_device( ("model", model), ("name", name), ("name_by_user", name_by_user), + ("serial_number", serial_number), ("suggested_area", suggested_area), ("sw_version", sw_version), ("via_device_id", via_device_id), @@ -802,6 +815,7 @@ async def async_load(self) -> None: model=device["model"], name_by_user=device["name_by_user"], name=device["name"], + serial_number=device["serial_number"], sw_version=device["sw_version"], via_device_id=device["via_device_id"], ) @@ -851,6 +865,7 @@ def _data_to_save(self) -> dict[str, list[dict[str, Any]]]: "model": entry.model, "name_by_user": entry.name_by_user, "name": entry.name, + "serial_number": entry.serial_number, "sw_version": entry.sw_version, "via_device_id": entry.via_device_id, } diff --git a/tests/components/config/test_device_registry.py b/tests/components/config/test_device_registry.py index a92b2a353ef6eb..87bb9cc940903d 100644 --- a/tests/components/config/test_device_registry.py +++ b/tests/components/config/test_device_registry.py @@ -63,6 +63,7 @@ async def test_list_devices( "model": "model", "name_by_user": None, "name": None, + "serial_number": None, "sw_version": None, "via_device_id": None, }, @@ -79,6 +80,7 @@ async def test_list_devices( "model": "model", "name_by_user": None, "name": None, + "serial_number": None, "sw_version": None, "via_device_id": dev1, }, @@ -108,6 +110,7 @@ class Unserializable: "model": "model", "name_by_user": None, "name": None, + "serial_number": None, "sw_version": None, "via_device_id": None, } diff --git a/tests/helpers/test_device_registry.py b/tests/helpers/test_device_registry.py index 380574c04fa316..0a1a81398edd3b 100644 --- a/tests/helpers/test_device_registry.py +++ b/tests/helpers/test_device_registry.py @@ -203,6 +203,7 @@ async def test_loading_from_storage( "model": "model", "name_by_user": "Test Friendly Name", "name": "name", + "serial_number": "serial_no", "sw_version": "version", "via_device_id": None, } @@ -245,6 +246,7 @@ async def test_loading_from_storage( model="model", name_by_user="Test Friendly Name", name="name", + serial_number="serial_no", suggested_area=None, # Not stored sw_version="version", ) @@ -275,12 +277,12 @@ async def test_loading_from_storage( @pytest.mark.parametrize("load_registries", [False]) -async def test_migration_1_1_to_1_3( +async def test_migration_1_1_to_1_4( hass: HomeAssistant, hass_storage: dict[str, Any], mock_config_entry: MockConfigEntry, ) -> None: - """Test migration from version 1.1 to 1.3.""" + """Test migration from version 1.1 to 1.4.""" hass_storage[dr.STORAGE_KEY] = { "version": 1, "minor_version": 1, @@ -368,6 +370,7 @@ async def test_migration_1_1_to_1_3( "model": "model", "name": "name", "name_by_user": None, + "serial_number": None, "sw_version": "new_version", "via_device_id": None, }, @@ -385,6 +388,7 @@ async def test_migration_1_1_to_1_3( "model": None, "name_by_user": None, "name": None, + "serial_number": None, "sw_version": None, "via_device_id": None, }, @@ -403,7 +407,7 @@ async def test_migration_1_1_to_1_3( @pytest.mark.parametrize("load_registries", [False]) -async def test_migration_1_2_to_1_3( +async def test_migration_1_2_to_1_4( hass: HomeAssistant, hass_storage: dict[str, Any], mock_config_entry: MockConfigEntry, @@ -495,6 +499,7 @@ async def test_migration_1_2_to_1_3( "model": "model", "name": "name", "name_by_user": None, + "serial_number": None, "sw_version": "new_version", "via_device_id": None, }, @@ -512,6 +517,130 @@ async def test_migration_1_2_to_1_3( "model": None, "name_by_user": None, "name": None, + "serial_number": None, + "sw_version": None, + "via_device_id": None, + }, + ], + "deleted_devices": [], + }, + } + + +@pytest.mark.parametrize("load_registries", [False]) +async def test_migration_1_3_to_1_4( + hass: HomeAssistant, + hass_storage: dict[str, Any], + mock_config_entry: MockConfigEntry, +): + """Test migration from version 1.3 to 1.4.""" + hass_storage[dr.STORAGE_KEY] = { + "version": 1, + "minor_version": 3, + "key": dr.STORAGE_KEY, + "data": { + "devices": [ + { + "area_id": None, + "config_entries": [mock_config_entry.entry_id], + "configuration_url": None, + "connections": [["Zigbee", "01.23.45.67.89"]], + "disabled_by": None, + "entry_type": "service", + "hw_version": "hw_version", + "id": "abcdefghijklm", + "identifiers": [["serial", "12:34:56:AB:CD:EF"]], + "manufacturer": "manufacturer", + "model": "model", + "name": "name", + "name_by_user": None, + "sw_version": "version", + "via_device_id": None, + }, + { + "area_id": None, + "config_entries": [None], + "configuration_url": None, + "connections": [], + "disabled_by": None, + "entry_type": None, + "hw_version": None, + "id": "invalid-entry-type", + "identifiers": [["serial", "mock-id-invalid-entry"]], + "manufacturer": None, + "model": None, + "name_by_user": None, + "name": None, + "sw_version": None, + "via_device_id": None, + }, + ], + "deleted_devices": [], + }, + } + + await dr.async_load(hass) + registry = dr.async_get(hass) + + # Test data was loaded + entry = registry.async_get_or_create( + config_entry_id=mock_config_entry.entry_id, + connections={("Zigbee", "01.23.45.67.89")}, + identifiers={("serial", "12:34:56:AB:CD:EF")}, + ) + assert entry.id == "abcdefghijklm" + + # Update to trigger a store + entry = registry.async_get_or_create( + config_entry_id=mock_config_entry.entry_id, + connections={("Zigbee", "01.23.45.67.89")}, + identifiers={("serial", "12:34:56:AB:CD:EF")}, + sw_version="new_version", + ) + assert entry.id == "abcdefghijklm" + + # Check we store migrated data + await flush_store(registry._store) + + assert hass_storage[dr.STORAGE_KEY] == { + "version": dr.STORAGE_VERSION_MAJOR, + "minor_version": dr.STORAGE_VERSION_MINOR, + "key": dr.STORAGE_KEY, + "data": { + "devices": [ + { + "area_id": None, + "config_entries": [mock_config_entry.entry_id], + "configuration_url": None, + "connections": [["Zigbee", "01.23.45.67.89"]], + "disabled_by": None, + "entry_type": "service", + "hw_version": "hw_version", + "id": "abcdefghijklm", + "identifiers": [["serial", "12:34:56:AB:CD:EF"]], + "manufacturer": "manufacturer", + "model": "model", + "name": "name", + "name_by_user": None, + "serial_number": None, + "sw_version": "new_version", + "via_device_id": None, + }, + { + "area_id": None, + "config_entries": [None], + "configuration_url": None, + "connections": [], + "disabled_by": None, + "entry_type": None, + "hw_version": None, + "id": "invalid-entry-type", + "identifiers": [["serial", "mock-id-invalid-entry"]], + "manufacturer": None, + "model": None, + "name_by_user": None, + "name": None, + "serial_number": None, "sw_version": None, "via_device_id": None, }, @@ -996,6 +1125,7 @@ async def test_update( name_by_user="Test Friendly Name", name="name", new_identifiers=new_identifiers, + serial_number="serial_no", suggested_area="suggested_area", sw_version="version", via_device_id="98765B", @@ -1017,6 +1147,7 @@ async def test_update( model="Test Model", name_by_user="Test Friendly Name", name="name", + serial_number="serial_no", suggested_area="suggested_area", sw_version="version", via_device_id="98765B", @@ -1060,6 +1191,7 @@ async def test_update( "model": None, "name": None, "name_by_user": None, + "serial_number": None, "suggested_area": None, "sw_version": None, "via_device_id": None, @@ -1861,6 +1993,7 @@ async def test_loading_invalid_configuration_url_from_storage( "model": None, "name_by_user": None, "name": None, + "serial_number": None, "sw_version": None, "via_device_id": None, } From 2f202b709d343ffec375adcebd7216d2985a63f9 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 19 Oct 2023 21:14:13 +0200 Subject: [PATCH 2/4] Update test snapshots --- .../elgato/snapshots/test_button.ambr | 2 + .../elgato/snapshots/test_light.ambr | 3 + .../elgato/snapshots/test_sensor.ambr | 5 ++ .../elgato/snapshots/test_switch.ambr | 2 + .../energyzero/snapshots/test_sensor.ambr | 6 ++ .../snapshots/test_init.ambr | 1 + .../snapshots/test_init.ambr | 80 +++++++++++++++++++ .../onewire/snapshots/test_binary_sensor.ambr | 21 +++++ .../onewire/snapshots/test_sensor.ambr | 21 +++++ .../onewire/snapshots/test_switch.ambr | 21 +++++ .../renault/snapshots/test_binary_sensor.ambr | 8 ++ .../renault/snapshots/test_button.ambr | 8 ++ .../snapshots/test_device_tracker.ambr | 8 ++ .../renault/snapshots/test_select.ambr | 8 ++ .../renault/snapshots/test_sensor.ambr | 8 ++ .../sfr_box/snapshots/test_binary_sensor.ambr | 2 + .../sfr_box/snapshots/test_button.ambr | 1 + .../sfr_box/snapshots/test_sensor.ambr | 1 + .../twentemilieu/snapshots/test_calendar.ambr | 1 + .../twentemilieu/snapshots/test_sensor.ambr | 5 ++ .../components/vesync/snapshots/test_fan.ambr | 9 +++ .../vesync/snapshots/test_light.ambr | 9 +++ .../vesync/snapshots/test_sensor.ambr | 9 +++ .../vesync/snapshots/test_switch.ambr | 9 +++ .../whois/snapshots/test_sensor.ambr | 9 +++ .../wled/snapshots/test_binary_sensor.ambr | 1 + .../wled/snapshots/test_button.ambr | 1 + .../wled/snapshots/test_number.ambr | 2 + .../wled/snapshots/test_select.ambr | 4 + .../wled/snapshots/test_switch.ambr | 4 + 30 files changed, 269 insertions(+) diff --git a/tests/components/elgato/snapshots/test_button.ambr b/tests/components/elgato/snapshots/test_button.ambr index ed29c443243347..134e213db6f789 100644 --- a/tests/components/elgato/snapshots/test_button.ambr +++ b/tests/components/elgato/snapshots/test_button.ambr @@ -69,6 +69,7 @@ 'model': 'Elgato Key Light Mini', 'name': 'Frenck', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.4 (229)', 'via_device_id': None, @@ -144,6 +145,7 @@ 'model': 'Elgato Key Light Mini', 'name': 'Frenck', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.4 (229)', 'via_device_id': None, diff --git a/tests/components/elgato/snapshots/test_light.ambr b/tests/components/elgato/snapshots/test_light.ambr index e9b3eec9a1b105..f730015856de17 100644 --- a/tests/components/elgato/snapshots/test_light.ambr +++ b/tests/components/elgato/snapshots/test_light.ambr @@ -101,6 +101,7 @@ 'model': 'Elgato Key Light', 'name': 'Frenck', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.3 (192)', 'via_device_id': None, @@ -210,6 +211,7 @@ 'model': 'Elgato Key Light', 'name': 'Frenck', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.3 (192)', 'via_device_id': None, @@ -319,6 +321,7 @@ 'model': 'Elgato Key Light', 'name': 'Frenck', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.3 (192)', 'via_device_id': None, diff --git a/tests/components/elgato/snapshots/test_sensor.ambr b/tests/components/elgato/snapshots/test_sensor.ambr index 86a4c2e5cc5cd3..3afcbc2e106ec9 100644 --- a/tests/components/elgato/snapshots/test_sensor.ambr +++ b/tests/components/elgato/snapshots/test_sensor.ambr @@ -76,6 +76,7 @@ 'model': 'Elgato Key Light Mini', 'name': 'Frenck', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.4 (229)', 'via_device_id': None, @@ -161,6 +162,7 @@ 'model': 'Elgato Key Light Mini', 'name': 'Frenck', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.4 (229)', 'via_device_id': None, @@ -246,6 +248,7 @@ 'model': 'Elgato Key Light Mini', 'name': 'Frenck', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.4 (229)', 'via_device_id': None, @@ -328,6 +331,7 @@ 'model': 'Elgato Key Light Mini', 'name': 'Frenck', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.4 (229)', 'via_device_id': None, @@ -413,6 +417,7 @@ 'model': 'Elgato Key Light Mini', 'name': 'Frenck', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.4 (229)', 'via_device_id': None, diff --git a/tests/components/elgato/snapshots/test_switch.ambr b/tests/components/elgato/snapshots/test_switch.ambr index cc841b338c71de..ca34f8d0081417 100644 --- a/tests/components/elgato/snapshots/test_switch.ambr +++ b/tests/components/elgato/snapshots/test_switch.ambr @@ -69,6 +69,7 @@ 'model': 'Elgato Key Light Mini', 'name': 'Frenck', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.4 (229)', 'via_device_id': None, @@ -144,6 +145,7 @@ 'model': 'Elgato Key Light Mini', 'name': 'Frenck', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.4 (229)', 'via_device_id': None, diff --git a/tests/components/energyzero/snapshots/test_sensor.ambr b/tests/components/energyzero/snapshots/test_sensor.ambr index f3b5e66ed6c719..00579ec70266ef 100644 --- a/tests/components/energyzero/snapshots/test_sensor.ambr +++ b/tests/components/energyzero/snapshots/test_sensor.ambr @@ -516,6 +516,7 @@ 'model': None, 'name': 'Energy market price', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -584,6 +585,7 @@ 'model': None, 'name': 'Energy market price', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -649,6 +651,7 @@ 'model': None, 'name': 'Energy market price', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -715,6 +718,7 @@ 'model': None, 'name': 'Energy market price', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -780,6 +784,7 @@ 'model': None, 'name': 'Energy market price', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -848,6 +853,7 @@ 'model': None, 'name': 'Gas market price', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, diff --git a/tests/components/gardena_bluetooth/snapshots/test_init.ambr b/tests/components/gardena_bluetooth/snapshots/test_init.ambr index a3ecff80a4638a..ae0bb9ace09125 100644 --- a/tests/components/gardena_bluetooth/snapshots/test_init.ambr +++ b/tests/components/gardena_bluetooth/snapshots/test_init.ambr @@ -21,6 +21,7 @@ 'model': 'Mock Model', 'name': 'Mock Title', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.2.3', 'via_device_id': None, diff --git a/tests/components/homekit_controller/snapshots/test_init.ambr b/tests/components/homekit_controller/snapshots/test_init.ambr index d37676e7edf202..a0c6fd00ee6ccb 100644 --- a/tests/components/homekit_controller/snapshots/test_init.ambr +++ b/tests/components/homekit_controller/snapshots/test_init.ambr @@ -24,6 +24,7 @@ 'model': 'AP2', 'name': 'Airversa AP2 1808', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.8.16', }), @@ -471,6 +472,7 @@ 'model': 'T8010', 'name': 'eufy HomeBase2-0AAA', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '2.1.6', }), @@ -536,6 +538,7 @@ 'model': 'T8113', 'name': 'eufyCam2-0000', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.6.7', }), @@ -754,6 +757,7 @@ 'model': 'T8113', 'name': 'eufyCam2-000A', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.6.7', }), @@ -972,6 +976,7 @@ 'model': 'T8113', 'name': 'eufyCam2-000A', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.6.7', }), @@ -1194,6 +1199,7 @@ 'model': 'HE1-G01', 'name': 'Aqara-Hub-E1-00A0', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '3.3.0', }), @@ -1383,6 +1389,7 @@ 'model': 'AS006', 'name': 'Contact Sensor', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0', }), @@ -1531,6 +1538,7 @@ 'model': 'ZHWA11LM', 'name': 'Aqara Hub-1563', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.4.7', }), @@ -1773,6 +1781,7 @@ 'model': 'AR004', 'name': 'Programmable Switch', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '9', }), @@ -1884,6 +1893,7 @@ 'model': 'ABC1000', 'name': 'ArloBabyA0', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.10.931', }), @@ -2314,6 +2324,7 @@ 'model': 'CS-IWO', 'name': 'InWall Outlet-0394DE', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.0', }), @@ -2703,6 +2714,7 @@ 'model': 'REMOTE SENSOR', 'name': 'Basement', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.0', }), @@ -2846,6 +2858,7 @@ 'model': 'ecobee3', 'name': 'HomeW', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '4.2.394', }), @@ -3261,6 +3274,7 @@ 'model': 'REMOTE SENSOR', 'name': 'Kitchen', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.0', }), @@ -3404,6 +3418,7 @@ 'model': 'REMOTE SENSOR', 'name': 'Porch', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.0', }), @@ -3551,6 +3566,7 @@ 'model': 'ecobee3', 'name': 'HomeW', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '4.2.394', }), @@ -3970,6 +3986,7 @@ 'model': 'REMOTE SENSOR', 'name': 'Basement', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.0', }), @@ -4072,6 +4089,7 @@ 'model': 'ecobee3', 'name': 'HomeW', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '4.2.394', }), @@ -4330,6 +4348,7 @@ 'model': 'REMOTE SENSOR', 'name': 'Kitchen', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.0', }), @@ -4473,6 +4492,7 @@ 'model': 'REMOTE SENSOR', 'name': 'Porch', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.0', }), @@ -4620,6 +4640,7 @@ 'model': 'ECB501', 'name': 'My ecobee', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '4.7.340214', }), @@ -5048,6 +5069,7 @@ 'model': 'ecobee Switch+', 'name': 'Master Fan', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '4.5.130201', }), @@ -5309,6 +5331,7 @@ 'model': 'Eve Degree 00AAA0000', 'name': 'Eve Degree AA11', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.2.8', }), @@ -5635,6 +5658,7 @@ 'model': 'Eve Energy 20EAO8601', 'name': 'Eve Energy 50FF', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.2.9', }), @@ -5942,6 +5966,7 @@ 'model': 'RavenSystem HAA', 'name': 'HAA-C718B3', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '5.0.18', }), @@ -6124,6 +6149,7 @@ 'model': 'RavenSystem HAA', 'name': 'HAA-C718B3', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '5.0.18', }), @@ -6229,6 +6255,7 @@ 'model': 'Fan', 'name': 'Ceiling Fan', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.104.0.dev0', }), @@ -6337,6 +6364,7 @@ 'model': 'Bridge', 'name': 'Home Assistant Bridge', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.104.0.dev0', }), @@ -6402,6 +6430,7 @@ 'model': 'Fan', 'name': 'Living Room Fan', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.104.0.dev0', }), @@ -6515,6 +6544,7 @@ 'model': 'Fan', 'name': 'Ceiling Fan', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.104.0.dev0', }), @@ -6623,6 +6653,7 @@ 'model': 'Bridge', 'name': 'Home Assistant Bridge', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.104.0.dev0', }), @@ -6688,6 +6719,7 @@ 'model': 'Fan', 'name': 'Living Room Fan', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.104.0.dev0', }), @@ -6802,6 +6834,7 @@ 'model': 'Bridge', 'name': 'Home Assistant Bridge', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.104.0.dev0', }), @@ -6867,6 +6900,7 @@ 'model': 'Fan', 'name': 'Living Room Fan', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.104.0.dev0', }), @@ -6981,6 +7015,7 @@ 'model': 'Daikin-fwec3a-esp32-homekit-bridge', 'name': 'Air Conditioner', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.0', }), @@ -7163,6 +7198,7 @@ 'model': 'LTW012', 'name': 'Hue ambiance candle', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.46.13', }), @@ -7287,6 +7323,7 @@ 'model': 'LTW012', 'name': 'Hue ambiance candle', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.46.13', }), @@ -7411,6 +7448,7 @@ 'model': 'LTW012', 'name': 'Hue ambiance candle', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.46.13', }), @@ -7535,6 +7573,7 @@ 'model': 'LTW012', 'name': 'Hue ambiance candle', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.46.13', }), @@ -7659,6 +7698,7 @@ 'model': 'LTW013', 'name': 'Hue ambiance spot', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.46.13', }), @@ -7793,6 +7833,7 @@ 'model': 'LTW013', 'name': 'Hue ambiance spot', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.46.13', }), @@ -7927,6 +7968,7 @@ 'model': 'RWL021', 'name': 'Hue dimmer switch', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '45.1.17846', }), @@ -8214,6 +8256,7 @@ 'model': 'LWB010', 'name': 'Hue white lamp', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.46.13', }), @@ -8325,6 +8368,7 @@ 'model': 'LWB010', 'name': 'Hue white lamp', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.46.13', }), @@ -8436,6 +8480,7 @@ 'model': 'LWB010', 'name': 'Hue white lamp', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.46.13', }), @@ -8547,6 +8592,7 @@ 'model': 'LWB010', 'name': 'Hue white lamp', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.46.13', }), @@ -8658,6 +8704,7 @@ 'model': 'LWB010', 'name': 'Hue white lamp', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.46.13', }), @@ -8769,6 +8816,7 @@ 'model': 'LWB010', 'name': 'Hue white lamp', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.46.13', }), @@ -8880,6 +8928,7 @@ 'model': 'LWB010', 'name': 'Hue white lamp', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.46.13', }), @@ -8991,6 +9040,7 @@ 'model': 'BSB002', 'name': 'Philips hue - 482544', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.32.1932126170', }), @@ -9060,6 +9110,7 @@ 'model': 'LS1', 'name': 'Koogeek-LS1-20833F', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '2.2.15', }), @@ -9178,6 +9229,7 @@ 'model': 'P1EU', 'name': 'Koogeek-P1-A00AA0', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '2.3.7', }), @@ -9325,6 +9377,7 @@ 'model': 'KH02CN', 'name': 'Koogeek-SW2-187A91', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.3', }), @@ -9507,6 +9560,7 @@ 'model': 'E30 2B', 'name': 'Lennox', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '3.40.XX', }), @@ -9764,6 +9818,7 @@ 'model': 'OLED55B9PUA', 'name': 'LG webOS TV AF80', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '04.71.04', }), @@ -9928,6 +9983,7 @@ 'model': 'PD-FSQN-XX', 'name': 'Caséta® Wireless Fan Speed Control', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '001.005', }), @@ -10036,6 +10092,7 @@ 'model': 'L-BDG2-WH', 'name': 'Smart Bridge 2', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '08.08', }), @@ -10105,6 +10162,7 @@ 'model': 'MSS425F', 'name': 'MSS425F-15cc', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '4.2.3', }), @@ -10354,6 +10412,7 @@ 'model': 'MSS565', 'name': 'MSS565-28da', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '4.1.9', }), @@ -10469,6 +10528,7 @@ 'model': 'v1', 'name': 'Mysa-85dda9', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '2.8.1', }), @@ -10770,6 +10830,7 @@ 'model': 'NL55', 'name': 'Nanoleaf Strip 3B32', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.4.40', }), @@ -11056,6 +11117,7 @@ 'model': 'Netatmo Doorbell', 'name': 'Netatmo-Doorbell-g738658', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '80.0.0', }), @@ -11322,6 +11384,7 @@ 'model': 'Smart CO Alarm', 'name': 'Smart CO Alarm', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.3', }), @@ -11465,6 +11528,7 @@ 'model': 'Healthy Home Coach', 'name': 'Healthy Home Coach', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '59', }), @@ -11738,6 +11802,7 @@ 'model': 'SPK5 Pro', 'name': 'RainMachine-00ce4a', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.0.4', }), @@ -12127,6 +12192,7 @@ 'model': 'RYSE Shade', 'name': 'Master Bath South', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '3.0.8', }), @@ -12272,6 +12338,7 @@ 'model': 'RYSE SmartBridge', 'name': 'RYSE SmartBridge', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.3.0', }), @@ -12337,6 +12404,7 @@ 'model': 'RYSE Shade', 'name': 'RYSE SmartShade', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '', }), @@ -12486,6 +12554,7 @@ 'model': 'RYSE Shade', 'name': 'BR Left', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '3.0.8', }), @@ -12631,6 +12700,7 @@ 'model': 'RYSE Shade', 'name': 'LR Left', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '3.0.8', }), @@ -12776,6 +12846,7 @@ 'model': 'RYSE Shade', 'name': 'LR Right', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '3.0.8', }), @@ -12921,6 +12992,7 @@ 'model': 'RYSE SmartBridge', 'name': 'RYSE SmartBridge', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.3.0', }), @@ -12986,6 +13058,7 @@ 'model': 'RYSE Shade', 'name': 'RZSS', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '3.0.8', }), @@ -13135,6 +13208,7 @@ 'model': 'BE479CAM619', 'name': 'SENSE ', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '004.027.000', }), @@ -13241,6 +13315,7 @@ 'model': 'SIMPLEconnect', 'name': 'SIMPLEconnect Fan-06F674', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '', }), @@ -13400,6 +13475,7 @@ 'model': 'VELUX Gateway', 'name': 'VELUX Gateway', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '70', }), @@ -13465,6 +13541,7 @@ 'model': 'VELUX Sensor', 'name': 'VELUX Sensor', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '16', }), @@ -13653,6 +13730,7 @@ 'model': 'VELUX Window', 'name': 'VELUX Window', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '48', }), @@ -13761,6 +13839,7 @@ 'model': 'Flowerbud', 'name': 'VOCOlinc-Flowerbud-0d324b', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '3.121.2', }), @@ -14030,6 +14109,7 @@ 'model': 'VP3', 'name': 'VOCOlinc-VP3-123456', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '1.101.2', }), diff --git a/tests/components/onewire/snapshots/test_binary_sensor.ambr b/tests/components/onewire/snapshots/test_binary_sensor.ambr index f6799d7a691dca..25d47b342c503b 100644 --- a/tests/components/onewire/snapshots/test_binary_sensor.ambr +++ b/tests/components/onewire/snapshots/test_binary_sensor.ambr @@ -34,6 +34,7 @@ 'model': 'DS2405', 'name': '05.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -71,6 +72,7 @@ 'model': 'DS18S20', 'name': '10.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -108,6 +110,7 @@ 'model': 'DS2406', 'name': '12.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -227,6 +230,7 @@ 'model': 'DS2423', 'name': '1D.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -264,6 +268,7 @@ 'model': 'DS2409', 'name': '1F.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -289,6 +294,7 @@ 'model': 'DS2423', 'name': '1D.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': , @@ -326,6 +332,7 @@ 'model': 'DS1822', 'name': '22.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -363,6 +370,7 @@ 'model': 'DS2438', 'name': '26.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -400,6 +408,7 @@ 'model': 'DS18B20', 'name': '28.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -437,6 +446,7 @@ 'model': 'DS18B20', 'name': '28.222222222222', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -474,6 +484,7 @@ 'model': 'DS18B20', 'name': '28.222222222223', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -511,6 +522,7 @@ 'model': 'DS2408', 'name': '29.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -876,6 +888,7 @@ 'model': 'DS2760', 'name': '30.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -913,6 +926,7 @@ 'model': 'DS2413', 'name': '3A.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1032,6 +1046,7 @@ 'model': 'DS1825', 'name': '3B.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1069,6 +1084,7 @@ 'model': 'DS28EA00', 'name': '42.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1106,6 +1122,7 @@ 'model': 'EDS0068', 'name': '7E.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1143,6 +1160,7 @@ 'model': 'EDS0066', 'name': '7E.222222222222', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1180,6 +1198,7 @@ 'model': 'HobbyBoards_EF', 'name': 'EF.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1217,6 +1236,7 @@ 'model': 'HB_MOISTURE_METER', 'name': 'EF.111111111112', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1254,6 +1274,7 @@ 'model': 'HB_HUB', 'name': 'EF.111111111113', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, diff --git a/tests/components/onewire/snapshots/test_sensor.ambr b/tests/components/onewire/snapshots/test_sensor.ambr index 46875b2ab1a0f2..cbcf0d6234eb77 100644 --- a/tests/components/onewire/snapshots/test_sensor.ambr +++ b/tests/components/onewire/snapshots/test_sensor.ambr @@ -34,6 +34,7 @@ 'model': 'DS2405', 'name': '05.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -71,6 +72,7 @@ 'model': 'DS18S20', 'name': '10.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -154,6 +156,7 @@ 'model': 'DS2406', 'name': '12.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -283,6 +286,7 @@ 'model': 'DS2423', 'name': '1D.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -410,6 +414,7 @@ 'model': 'DS2409', 'name': '1F.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -435,6 +440,7 @@ 'model': 'DS2423', 'name': '1D.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': , @@ -562,6 +568,7 @@ 'model': 'DS1822', 'name': '22.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -645,6 +652,7 @@ 'model': 'DS2438', 'name': '26.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1188,6 +1196,7 @@ 'model': 'DS18B20', 'name': '28.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1271,6 +1280,7 @@ 'model': 'DS18B20', 'name': '28.222222222222', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1354,6 +1364,7 @@ 'model': 'DS18B20', 'name': '28.222222222223', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1437,6 +1448,7 @@ 'model': 'DS2408', 'name': '29.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1474,6 +1486,7 @@ 'model': 'DS2760', 'name': '30.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1695,6 +1708,7 @@ 'model': 'DS2413', 'name': '3A.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1732,6 +1746,7 @@ 'model': 'DS1825', 'name': '3B.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1815,6 +1830,7 @@ 'model': 'DS28EA00', 'name': '42.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1898,6 +1914,7 @@ 'model': 'EDS0068', 'name': '7E.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -2119,6 +2136,7 @@ 'model': 'EDS0066', 'name': '7E.222222222222', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -2248,6 +2266,7 @@ 'model': 'HobbyBoards_EF', 'name': 'EF.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -2423,6 +2442,7 @@ 'model': 'HB_MOISTURE_METER', 'name': 'EF.111111111112', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -2644,6 +2664,7 @@ 'model': 'HB_HUB', 'name': 'EF.111111111113', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, diff --git a/tests/components/onewire/snapshots/test_switch.ambr b/tests/components/onewire/snapshots/test_switch.ambr index 67d38a09b850a1..e4d081a409b83b 100644 --- a/tests/components/onewire/snapshots/test_switch.ambr +++ b/tests/components/onewire/snapshots/test_switch.ambr @@ -34,6 +34,7 @@ 'model': 'DS2405', 'name': '05.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -112,6 +113,7 @@ 'model': 'DS18S20', 'name': '10.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -149,6 +151,7 @@ 'model': 'DS2406', 'name': '12.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -350,6 +353,7 @@ 'model': 'DS2423', 'name': '1D.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -387,6 +391,7 @@ 'model': 'DS2409', 'name': '1F.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -412,6 +417,7 @@ 'model': 'DS2423', 'name': '1D.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': , @@ -449,6 +455,7 @@ 'model': 'DS1822', 'name': '22.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -486,6 +493,7 @@ 'model': 'DS2438', 'name': '26.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -564,6 +572,7 @@ 'model': 'DS18B20', 'name': '28.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -601,6 +610,7 @@ 'model': 'DS18B20', 'name': '28.222222222222', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -638,6 +648,7 @@ 'model': 'DS18B20', 'name': '28.222222222223', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -675,6 +686,7 @@ 'model': 'DS2408', 'name': '29.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1368,6 +1380,7 @@ 'model': 'DS2760', 'name': '30.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1405,6 +1418,7 @@ 'model': 'DS2413', 'name': '3A.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1524,6 +1538,7 @@ 'model': 'DS1825', 'name': '3B.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1561,6 +1576,7 @@ 'model': 'DS28EA00', 'name': '42.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1598,6 +1614,7 @@ 'model': 'EDS0068', 'name': '7E.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1635,6 +1652,7 @@ 'model': 'EDS0066', 'name': '7E.222222222222', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1672,6 +1690,7 @@ 'model': 'HobbyBoards_EF', 'name': 'EF.111111111111', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -1709,6 +1728,7 @@ 'model': 'HB_MOISTURE_METER', 'name': 'EF.111111111112', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -2074,6 +2094,7 @@ 'model': 'HB_HUB', 'name': 'EF.111111111113', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, diff --git a/tests/components/renault/snapshots/test_binary_sensor.ambr b/tests/components/renault/snapshots/test_binary_sensor.ambr index 6d5e509ab6b484..fbde0470cacd7b 100644 --- a/tests/components/renault/snapshots/test_binary_sensor.ambr +++ b/tests/components/renault/snapshots/test_binary_sensor.ambr @@ -22,6 +22,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -299,6 +300,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -656,6 +658,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X101VE', 'via_device_id': None, @@ -813,6 +816,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X102VE', 'via_device_id': None, @@ -1210,6 +1214,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -1487,6 +1492,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -1844,6 +1850,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X101VE', 'via_device_id': None, @@ -2001,6 +2008,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X102VE', 'via_device_id': None, diff --git a/tests/components/renault/snapshots/test_button.ambr b/tests/components/renault/snapshots/test_button.ambr index 968b20daa5b558..90715cb56c2da7 100644 --- a/tests/components/renault/snapshots/test_button.ambr +++ b/tests/components/renault/snapshots/test_button.ambr @@ -22,6 +22,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -99,6 +100,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -256,6 +258,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X101VE', 'via_device_id': None, @@ -413,6 +416,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X102VE', 'via_device_id': None, @@ -570,6 +574,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -647,6 +652,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -804,6 +810,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X101VE', 'via_device_id': None, @@ -961,6 +968,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X102VE', 'via_device_id': None, diff --git a/tests/components/renault/snapshots/test_device_tracker.ambr b/tests/components/renault/snapshots/test_device_tracker.ambr index 8a215f3fdda0e9..0f901c8ce4c4ec 100644 --- a/tests/components/renault/snapshots/test_device_tracker.ambr +++ b/tests/components/renault/snapshots/test_device_tracker.ambr @@ -22,6 +22,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -100,6 +101,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -178,6 +180,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X101VE', 'via_device_id': None, @@ -215,6 +218,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X102VE', 'via_device_id': None, @@ -293,6 +297,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -374,6 +379,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -455,6 +461,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X101VE', 'via_device_id': None, @@ -492,6 +499,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X102VE', 'via_device_id': None, diff --git a/tests/components/renault/snapshots/test_select.ambr b/tests/components/renault/snapshots/test_select.ambr index c862e90f28951d..932a302e5f703b 100644 --- a/tests/components/renault/snapshots/test_select.ambr +++ b/tests/components/renault/snapshots/test_select.ambr @@ -22,6 +22,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -59,6 +60,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -147,6 +149,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X101VE', 'via_device_id': None, @@ -235,6 +238,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X102VE', 'via_device_id': None, @@ -323,6 +327,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -360,6 +365,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -448,6 +454,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X101VE', 'via_device_id': None, @@ -536,6 +543,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X102VE', 'via_device_id': None, diff --git a/tests/components/renault/snapshots/test_sensor.ambr b/tests/components/renault/snapshots/test_sensor.ambr index f49dbf7963f4a8..9fb302a11085e4 100644 --- a/tests/components/renault/snapshots/test_sensor.ambr +++ b/tests/components/renault/snapshots/test_sensor.ambr @@ -22,6 +22,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -312,6 +313,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -1024,6 +1026,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X101VE', 'via_device_id': None, @@ -1730,6 +1733,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X102VE', 'via_device_id': None, @@ -2476,6 +2480,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -2766,6 +2771,7 @@ 'model': 'Captur ii', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'XJB1SU', 'via_device_id': None, @@ -3478,6 +3484,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X101VE', 'via_device_id': None, @@ -4184,6 +4191,7 @@ 'model': 'Zoe', 'name': 'REG-NUMBER', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'X102VE', 'via_device_id': None, diff --git a/tests/components/sfr_box/snapshots/test_binary_sensor.ambr b/tests/components/sfr_box/snapshots/test_binary_sensor.ambr index 1fc8b672c3f94f..4eee1208a12142 100644 --- a/tests/components/sfr_box/snapshots/test_binary_sensor.ambr +++ b/tests/components/sfr_box/snapshots/test_binary_sensor.ambr @@ -22,6 +22,7 @@ 'model': 'NB6VAC-FXC-r0', 'name': 'SFR Box', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'NB6VAC-MAIN-R4.0.44k', 'via_device_id': None, @@ -139,6 +140,7 @@ 'model': 'NB6VAC-FXC-r0', 'name': 'SFR Box', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'NB6VAC-MAIN-R4.0.44k', 'via_device_id': None, diff --git a/tests/components/sfr_box/snapshots/test_button.ambr b/tests/components/sfr_box/snapshots/test_button.ambr index c216ef6c51d8ec..846da8d41cf9dc 100644 --- a/tests/components/sfr_box/snapshots/test_button.ambr +++ b/tests/components/sfr_box/snapshots/test_button.ambr @@ -22,6 +22,7 @@ 'model': 'NB6VAC-FXC-r0', 'name': 'SFR Box', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'NB6VAC-MAIN-R4.0.44k', 'via_device_id': None, diff --git a/tests/components/sfr_box/snapshots/test_sensor.ambr b/tests/components/sfr_box/snapshots/test_sensor.ambr index 29cd99403a23b1..2b1825a40b4f0a 100644 --- a/tests/components/sfr_box/snapshots/test_sensor.ambr +++ b/tests/components/sfr_box/snapshots/test_sensor.ambr @@ -22,6 +22,7 @@ 'model': 'NB6VAC-FXC-r0', 'name': 'SFR Box', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': 'NB6VAC-MAIN-R4.0.44k', 'via_device_id': None, diff --git a/tests/components/twentemilieu/snapshots/test_calendar.ambr b/tests/components/twentemilieu/snapshots/test_calendar.ambr index 6403bd83255251..40b9f818f52079 100644 --- a/tests/components/twentemilieu/snapshots/test_calendar.ambr +++ b/tests/components/twentemilieu/snapshots/test_calendar.ambr @@ -97,6 +97,7 @@ 'model': None, 'name': 'Twente Milieu', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, diff --git a/tests/components/twentemilieu/snapshots/test_sensor.ambr b/tests/components/twentemilieu/snapshots/test_sensor.ambr index f0e9578ff23c3a..5c9a1e54098778 100644 --- a/tests/components/twentemilieu/snapshots/test_sensor.ambr +++ b/tests/components/twentemilieu/snapshots/test_sensor.ambr @@ -66,6 +66,7 @@ 'model': None, 'name': 'Twente Milieu', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -138,6 +139,7 @@ 'model': None, 'name': 'Twente Milieu', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -210,6 +212,7 @@ 'model': None, 'name': 'Twente Milieu', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -282,6 +285,7 @@ 'model': None, 'name': 'Twente Milieu', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -354,6 +358,7 @@ 'model': None, 'name': 'Twente Milieu', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, diff --git a/tests/components/vesync/snapshots/test_fan.ambr b/tests/components/vesync/snapshots/test_fan.ambr index 8dbefd41794d2c..fa60aec2422cad 100644 --- a/tests/components/vesync/snapshots/test_fan.ambr +++ b/tests/components/vesync/snapshots/test_fan.ambr @@ -22,6 +22,7 @@ 'model': 'LV-PUR131S', 'name': 'Air Purifier 131s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -106,6 +107,7 @@ 'model': 'Core200S', 'name': 'Air Purifier 200s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -195,6 +197,7 @@ 'model': 'LAP-C401S-WJP', 'name': 'Air Purifier 400s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -286,6 +289,7 @@ 'model': 'LAP-C601S-WUS', 'name': 'Air Purifier 600s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -377,6 +381,7 @@ 'model': 'ESL100', 'name': 'Dimmable Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -410,6 +415,7 @@ 'model': 'ESWD16', 'name': 'Dimmer Switch', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -459,6 +465,7 @@ 'model': 'wifi-switch-1.3', 'name': 'Outlet', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -492,6 +499,7 @@ 'model': 'ESL100CW', 'name': 'Temperature Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -525,6 +533,7 @@ 'model': 'ESWL01', 'name': 'Wall Switch', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, diff --git a/tests/components/vesync/snapshots/test_light.ambr b/tests/components/vesync/snapshots/test_light.ambr index 9c0c5ae28115be..0ccc169a4ce526 100644 --- a/tests/components/vesync/snapshots/test_light.ambr +++ b/tests/components/vesync/snapshots/test_light.ambr @@ -22,6 +22,7 @@ 'model': 'LV-PUR131S', 'name': 'Air Purifier 131s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -55,6 +56,7 @@ 'model': 'Core200S', 'name': 'Air Purifier 200s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -88,6 +90,7 @@ 'model': 'LAP-C401S-WJP', 'name': 'Air Purifier 400s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -121,6 +124,7 @@ 'model': 'LAP-C601S-WUS', 'name': 'Air Purifier 600s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -154,6 +158,7 @@ 'model': 'ESL100', 'name': 'Dimmable Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -236,6 +241,7 @@ 'model': 'ESWD16', 'name': 'Dimmer Switch', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -336,6 +342,7 @@ 'model': 'wifi-switch-1.3', 'name': 'Outlet', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -369,6 +376,7 @@ 'model': 'ESL100CW', 'name': 'Temperature Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -466,6 +474,7 @@ 'model': 'ESWL01', 'name': 'Wall Switch', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, diff --git a/tests/components/vesync/snapshots/test_sensor.ambr b/tests/components/vesync/snapshots/test_sensor.ambr index 7cda1cd0649626..bbfc93906344f9 100644 --- a/tests/components/vesync/snapshots/test_sensor.ambr +++ b/tests/components/vesync/snapshots/test_sensor.ambr @@ -22,6 +22,7 @@ 'model': 'LV-PUR131S', 'name': 'Air Purifier 131s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -141,6 +142,7 @@ 'model': 'Core200S', 'name': 'Air Purifier 200s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -219,6 +221,7 @@ 'model': 'LAP-C401S-WJP', 'name': 'Air Purifier 400s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -384,6 +387,7 @@ 'model': 'LAP-C601S-WUS', 'name': 'Air Purifier 600s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -549,6 +553,7 @@ 'model': 'ESL100', 'name': 'Dimmable Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -582,6 +587,7 @@ 'model': 'ESWD16', 'name': 'Dimmer Switch', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -631,6 +637,7 @@ 'model': 'wifi-switch-1.3', 'name': 'Outlet', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -940,6 +947,7 @@ 'model': 'ESL100CW', 'name': 'Temperature Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -973,6 +981,7 @@ 'model': 'ESWL01', 'name': 'Wall Switch', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, diff --git a/tests/components/vesync/snapshots/test_switch.ambr b/tests/components/vesync/snapshots/test_switch.ambr index 95dcb24ded64b0..6333356f26a83e 100644 --- a/tests/components/vesync/snapshots/test_switch.ambr +++ b/tests/components/vesync/snapshots/test_switch.ambr @@ -22,6 +22,7 @@ 'model': 'LV-PUR131S', 'name': 'Air Purifier 131s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -55,6 +56,7 @@ 'model': 'Core200S', 'name': 'Air Purifier 200s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -88,6 +90,7 @@ 'model': 'LAP-C401S-WJP', 'name': 'Air Purifier 400s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -121,6 +124,7 @@ 'model': 'LAP-C601S-WUS', 'name': 'Air Purifier 600s', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -154,6 +158,7 @@ 'model': 'ESL100', 'name': 'Dimmable Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -187,6 +192,7 @@ 'model': 'ESWD16', 'name': 'Dimmer Switch', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -236,6 +242,7 @@ 'model': 'wifi-switch-1.3', 'name': 'Outlet', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -310,6 +317,7 @@ 'model': 'ESL100CW', 'name': 'Temperature Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -343,6 +351,7 @@ 'model': 'ESWL01', 'name': 'Wall Switch', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, diff --git a/tests/components/whois/snapshots/test_sensor.ambr b/tests/components/whois/snapshots/test_sensor.ambr index 519d5894072515..83ac2908089230 100644 --- a/tests/components/whois/snapshots/test_sensor.ambr +++ b/tests/components/whois/snapshots/test_sensor.ambr @@ -65,6 +65,7 @@ 'model': None, 'name': 'home-assistant.io', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -136,6 +137,7 @@ 'model': None, 'name': 'home-assistant.io', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -212,6 +214,7 @@ 'model': None, 'name': 'home-assistant.io', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -283,6 +286,7 @@ 'model': None, 'name': 'home-assistant.io', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -354,6 +358,7 @@ 'model': None, 'name': 'home-assistant.io', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -425,6 +430,7 @@ 'model': None, 'name': 'home-assistant.io', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -496,6 +502,7 @@ 'model': None, 'name': 'home-assistant.io', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -567,6 +574,7 @@ 'model': None, 'name': 'home-assistant.io', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -638,6 +646,7 @@ 'model': None, 'name': 'home-assistant.io', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, diff --git a/tests/components/wled/snapshots/test_binary_sensor.ambr b/tests/components/wled/snapshots/test_binary_sensor.ambr index bcf9d7a4cdb195..6fc9b2497b5f11 100644 --- a/tests/components/wled/snapshots/test_binary_sensor.ambr +++ b/tests/components/wled/snapshots/test_binary_sensor.ambr @@ -69,6 +69,7 @@ 'model': 'DIY light', 'name': 'WLED RGB Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.8.5', 'via_device_id': None, diff --git a/tests/components/wled/snapshots/test_button.ambr b/tests/components/wled/snapshots/test_button.ambr index b11befe383255e..1c65a094662f9c 100644 --- a/tests/components/wled/snapshots/test_button.ambr +++ b/tests/components/wled/snapshots/test_button.ambr @@ -69,6 +69,7 @@ 'model': 'DIY light', 'name': 'WLED RGB Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.8.5', 'via_device_id': None, diff --git a/tests/components/wled/snapshots/test_number.ambr b/tests/components/wled/snapshots/test_number.ambr index 509a886061156a..47dafe039b28e3 100644 --- a/tests/components/wled/snapshots/test_number.ambr +++ b/tests/components/wled/snapshots/test_number.ambr @@ -77,6 +77,7 @@ 'model': 'DIY light', 'name': 'WLED RGB Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.8.5', 'via_device_id': None, @@ -161,6 +162,7 @@ 'model': 'DIY light', 'name': 'WLED RGB Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.8.5', 'via_device_id': None, diff --git a/tests/components/wled/snapshots/test_select.ambr b/tests/components/wled/snapshots/test_select.ambr index d52c6a10ddd586..92604f86d2d175 100644 --- a/tests/components/wled/snapshots/test_select.ambr +++ b/tests/components/wled/snapshots/test_select.ambr @@ -80,6 +80,7 @@ 'model': 'DIY light', 'name': 'WLED RGB Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.8.5', 'via_device_id': None, @@ -260,6 +261,7 @@ 'model': 'DIY light', 'name': 'WLED RGB Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.8.5', 'via_device_id': None, @@ -344,6 +346,7 @@ 'model': 'DIY light', 'name': 'WLED RGBW Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.8.6b4', 'via_device_id': None, @@ -428,6 +431,7 @@ 'model': 'DIY light', 'name': 'WLED RGBW Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.8.6b4', 'via_device_id': None, diff --git a/tests/components/wled/snapshots/test_switch.ambr b/tests/components/wled/snapshots/test_switch.ambr index 52f1e9562e2aa6..feecfd1e1ff375 100644 --- a/tests/components/wled/snapshots/test_switch.ambr +++ b/tests/components/wled/snapshots/test_switch.ambr @@ -72,6 +72,7 @@ 'model': 'DIY light', 'name': 'WLED RGB Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.8.5', 'via_device_id': None, @@ -147,6 +148,7 @@ 'model': 'DIY light', 'name': 'WLED RGB Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.8.5', 'via_device_id': None, @@ -223,6 +225,7 @@ 'model': 'DIY light', 'name': 'WLED RGB Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.8.5', 'via_device_id': None, @@ -299,6 +302,7 @@ 'model': 'DIY light', 'name': 'WLED RGB Light', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': '0.8.5', 'via_device_id': None, From 5ff74d722fcc160206078480c1ad37deb9c073e3 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Fri, 20 Oct 2023 13:55:19 +0200 Subject: [PATCH 3/4] Update test_sensor.ambr --- tests/components/uptime/snapshots/test_sensor.ambr | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/components/uptime/snapshots/test_sensor.ambr b/tests/components/uptime/snapshots/test_sensor.ambr index 4381cf306479c4..a078d82ba9fd79 100644 --- a/tests/components/uptime/snapshots/test_sensor.ambr +++ b/tests/components/uptime/snapshots/test_sensor.ambr @@ -58,6 +58,7 @@ 'model': None, 'name': 'Uptime', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, @@ -79,6 +80,7 @@ 'model': None, 'name': 'Uptime', 'name_by_user': None, + 'serial_number': None, 'suggested_area': None, 'sw_version': None, 'via_device_id': None, From 9af8e6d870a24c6f862e70c69ffd35aeb5e17818 Mon Sep 17 00:00:00 2001 From: Erik Date: Sun, 22 Oct 2023 13:35:17 +0200 Subject: [PATCH 4/4] Make serial numbers in tests not look like MAC addresses --- tests/helpers/test_device_registry.py | 44 +++++++++++++-------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/tests/helpers/test_device_registry.py b/tests/helpers/test_device_registry.py index 0a1a81398edd3b..89f4eb5e3190be 100644 --- a/tests/helpers/test_device_registry.py +++ b/tests/helpers/test_device_registry.py @@ -198,7 +198,7 @@ async def test_loading_from_storage( "entry_type": dr.DeviceEntryType.SERVICE, "hw_version": "hw_version", "id": "abcdefghijklm", - "identifiers": [["serial", "12:34:56:AB:CD:EF"]], + "identifiers": [["serial", "123456ABCDEF"]], "manufacturer": "manufacturer", "model": "model", "name_by_user": "Test Friendly Name", @@ -213,7 +213,7 @@ async def test_loading_from_storage( "config_entries": [mock_config_entry.entry_id], "connections": [["Zigbee", "23.45.67.89.01"]], "id": "bcdefghijklmn", - "identifiers": [["serial", "34:56:AB:CD:EF:12"]], + "identifiers": [["serial", "3456ABCDEF12"]], "orphaned_timestamp": None, } ], @@ -228,7 +228,7 @@ async def test_loading_from_storage( entry = registry.async_get_or_create( config_entry_id=mock_config_entry.entry_id, connections={("Zigbee", "01.23.45.67.89")}, - identifiers={("serial", "12:34:56:AB:CD:EF")}, + identifiers={("serial", "123456ABCDEF")}, manufacturer="manufacturer", model="model", ) @@ -241,7 +241,7 @@ async def test_loading_from_storage( entry_type=dr.DeviceEntryType.SERVICE, hw_version="hw_version", id="abcdefghijklm", - identifiers={("serial", "12:34:56:AB:CD:EF")}, + identifiers={("serial", "123456ABCDEF")}, manufacturer="manufacturer", model="model", name_by_user="Test Friendly Name", @@ -258,7 +258,7 @@ async def test_loading_from_storage( entry = registry.async_get_or_create( config_entry_id=mock_config_entry.entry_id, connections={("Zigbee", "23.45.67.89.01")}, - identifiers={("serial", "34:56:AB:CD:EF:12")}, + identifiers={("serial", "3456ABCDEF12")}, manufacturer="manufacturer", model="model", ) @@ -266,7 +266,7 @@ async def test_loading_from_storage( config_entries={mock_config_entry.entry_id}, connections={("Zigbee", "23.45.67.89.01")}, id="bcdefghijklmn", - identifiers={("serial", "34:56:AB:CD:EF:12")}, + identifiers={("serial", "3456ABCDEF12")}, manufacturer="manufacturer", model="model", ) @@ -293,7 +293,7 @@ async def test_migration_1_1_to_1_4( "connections": [["Zigbee", "01.23.45.67.89"]], "entry_type": "service", "id": "abcdefghijklm", - "identifiers": [["serial", "12:34:56:AB:CD:EF"]], + "identifiers": [["serial", "123456ABCDEF"]], "manufacturer": "manufacturer", "model": "model", "name": "name", @@ -318,7 +318,7 @@ async def test_migration_1_1_to_1_4( "connections": [], "entry_type": "service", "id": "deletedid", - "identifiers": [["serial", "12:34:56:AB:CD:FF"]], + "identifiers": [["serial", "123456ABCDFF"]], "manufacturer": "manufacturer", "model": "model", "name": "name", @@ -335,7 +335,7 @@ async def test_migration_1_1_to_1_4( entry = registry.async_get_or_create( config_entry_id=mock_config_entry.entry_id, connections={("Zigbee", "01.23.45.67.89")}, - identifiers={("serial", "12:34:56:AB:CD:EF")}, + identifiers={("serial", "123456ABCDEF")}, ) assert entry.id == "abcdefghijklm" @@ -343,7 +343,7 @@ async def test_migration_1_1_to_1_4( entry = registry.async_get_or_create( config_entry_id=mock_config_entry.entry_id, connections={("Zigbee", "01.23.45.67.89")}, - identifiers={("serial", "12:34:56:AB:CD:EF")}, + identifiers={("serial", "123456ABCDEF")}, sw_version="new_version", ) assert entry.id == "abcdefghijklm" @@ -365,7 +365,7 @@ async def test_migration_1_1_to_1_4( "entry_type": "service", "hw_version": None, "id": "abcdefghijklm", - "identifiers": [["serial", "12:34:56:AB:CD:EF"]], + "identifiers": [["serial", "123456ABCDEF"]], "manufacturer": "manufacturer", "model": "model", "name": "name", @@ -398,7 +398,7 @@ async def test_migration_1_1_to_1_4( "config_entries": ["123456"], "connections": [], "id": "deletedid", - "identifiers": [["serial", "12:34:56:AB:CD:FF"]], + "identifiers": [["serial", "123456ABCDFF"]], "orphaned_timestamp": None, } ], @@ -427,7 +427,7 @@ async def test_migration_1_2_to_1_4( "disabled_by": None, "entry_type": "service", "id": "abcdefghijklm", - "identifiers": [["serial", "12:34:56:AB:CD:EF"]], + "identifiers": [["serial", "123456ABCDEF"]], "manufacturer": "manufacturer", "model": "model", "name": "name", @@ -463,7 +463,7 @@ async def test_migration_1_2_to_1_4( entry = registry.async_get_or_create( config_entry_id=mock_config_entry.entry_id, connections={("Zigbee", "01.23.45.67.89")}, - identifiers={("serial", "12:34:56:AB:CD:EF")}, + identifiers={("serial", "123456ABCDEF")}, ) assert entry.id == "abcdefghijklm" @@ -471,7 +471,7 @@ async def test_migration_1_2_to_1_4( entry = registry.async_get_or_create( config_entry_id=mock_config_entry.entry_id, connections={("Zigbee", "01.23.45.67.89")}, - identifiers={("serial", "12:34:56:AB:CD:EF")}, + identifiers={("serial", "123456ABCDEF")}, sw_version="new_version", ) assert entry.id == "abcdefghijklm" @@ -494,7 +494,7 @@ async def test_migration_1_2_to_1_4( "entry_type": "service", "hw_version": None, "id": "abcdefghijklm", - "identifiers": [["serial", "12:34:56:AB:CD:EF"]], + "identifiers": [["serial", "123456ABCDEF"]], "manufacturer": "manufacturer", "model": "model", "name": "name", @@ -549,7 +549,7 @@ async def test_migration_1_3_to_1_4( "entry_type": "service", "hw_version": "hw_version", "id": "abcdefghijklm", - "identifiers": [["serial", "12:34:56:AB:CD:EF"]], + "identifiers": [["serial", "123456ABCDEF"]], "manufacturer": "manufacturer", "model": "model", "name": "name", @@ -586,7 +586,7 @@ async def test_migration_1_3_to_1_4( entry = registry.async_get_or_create( config_entry_id=mock_config_entry.entry_id, connections={("Zigbee", "01.23.45.67.89")}, - identifiers={("serial", "12:34:56:AB:CD:EF")}, + identifiers={("serial", "123456ABCDEF")}, ) assert entry.id == "abcdefghijklm" @@ -594,7 +594,7 @@ async def test_migration_1_3_to_1_4( entry = registry.async_get_or_create( config_entry_id=mock_config_entry.entry_id, connections={("Zigbee", "01.23.45.67.89")}, - identifiers={("serial", "12:34:56:AB:CD:EF")}, + identifiers={("serial", "123456ABCDEF")}, sw_version="new_version", ) assert entry.id == "abcdefghijklm" @@ -617,7 +617,7 @@ async def test_migration_1_3_to_1_4( "entry_type": "service", "hw_version": "hw_version", "id": "abcdefghijklm", - "identifiers": [["serial", "12:34:56:AB:CD:EF"]], + "identifiers": [["serial", "123456ABCDEF"]], "manufacturer": "manufacturer", "model": "model", "name": "name", @@ -1988,7 +1988,7 @@ async def test_loading_invalid_configuration_url_from_storage( "entry_type": dr.DeviceEntryType.SERVICE, "hw_version": None, "id": "abcdefghijklm", - "identifiers": [["serial", "12:34:56:AB:CD:EF"]], + "identifiers": [["serial", "123456ABCDEF"]], "manufacturer": None, "model": None, "name_by_user": None, @@ -2007,6 +2007,6 @@ async def test_loading_invalid_configuration_url_from_storage( assert len(registry.devices) == 1 entry = registry.async_get_or_create( config_entry_id=mock_config_entry.entry_id, - identifiers={("serial", "12:34:56:AB:CD:EF")}, + identifiers={("serial", "123456ABCDEF")}, ) assert entry.configuration_url == "invalid"