mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
pyWeMo serialnumber is deprecated, use serial_number (#94791)
This commit is contained in:
parent
0513117a11
commit
7f7b7aee6d
@ -154,14 +154,14 @@ class WemoDispatcher:
|
||||
self, hass: HomeAssistant, wemo: pywemo.WeMoDevice
|
||||
) -> None:
|
||||
"""Add a WeMo device to hass if it has not already been added."""
|
||||
if wemo.serialnumber in self._added_serial_numbers:
|
||||
if wemo.serial_number in self._added_serial_numbers:
|
||||
return
|
||||
|
||||
try:
|
||||
coordinator = await async_register_device(hass, self._config_entry, wemo)
|
||||
except pywemo.PyWeMoException as err:
|
||||
if wemo.serialnumber not in self._failed_serial_numbers:
|
||||
self._failed_serial_numbers.add(wemo.serialnumber)
|
||||
if wemo.serial_number not in self._failed_serial_numbers:
|
||||
self._failed_serial_numbers.add(wemo.serial_number)
|
||||
_LOGGER.error(
|
||||
"Unable to add WeMo %s %s: %s", repr(wemo), wemo.host, err
|
||||
)
|
||||
@ -194,8 +194,8 @@ class WemoDispatcher:
|
||||
coordinator,
|
||||
)
|
||||
|
||||
self._added_serial_numbers.add(wemo.serialnumber)
|
||||
self._failed_serial_numbers.discard(wemo.serialnumber)
|
||||
self._added_serial_numbers.add(wemo.serial_number)
|
||||
self._failed_serial_numbers.discard(wemo.serial_number)
|
||||
|
||||
|
||||
class WemoDiscovery:
|
||||
|
@ -53,7 +53,7 @@ class WemoEntity(CoordinatorEntity[DeviceCoordinator]):
|
||||
@property
|
||||
def unique_id(self) -> str:
|
||||
"""Return the id of this WeMo device."""
|
||||
serial_number: str = self.wemo.serialnumber
|
||||
serial_number: str = self.wemo.serial_number
|
||||
if suffix := self.unique_id_suffix:
|
||||
return f"{serial_number}_{suffix}"
|
||||
return serial_number
|
||||
|
@ -61,7 +61,7 @@ class DeviceCoordinator(DataUpdateCoordinator[None]):
|
||||
CONF_NAME: self.wemo.name,
|
||||
CONF_TYPE: event_type,
|
||||
CONF_PARAMS: params,
|
||||
CONF_UNIQUE_ID: self.wemo.serialnumber,
|
||||
CONF_UNIQUE_ID: self.wemo.serial_number,
|
||||
},
|
||||
)
|
||||
else:
|
||||
@ -131,14 +131,14 @@ def _create_device_info(wemo: WeMoDevice) -> DeviceInfo:
|
||||
_dev_info = _device_info(wemo)
|
||||
if wemo.model_name == "DLI emulated Belkin Socket":
|
||||
_dev_info[ATTR_CONFIGURATION_URL] = f"http://{wemo.host}"
|
||||
_dev_info[ATTR_IDENTIFIERS] = {(DOMAIN, wemo.serialnumber[:-1])}
|
||||
_dev_info[ATTR_IDENTIFIERS] = {(DOMAIN, wemo.serial_number[:-1])}
|
||||
return _dev_info
|
||||
|
||||
|
||||
def _device_info(wemo: WeMoDevice) -> DeviceInfo:
|
||||
return DeviceInfo(
|
||||
connections={(CONNECTION_UPNP, wemo.udn)},
|
||||
identifiers={(DOMAIN, wemo.serialnumber)},
|
||||
identifiers={(DOMAIN, wemo.serial_number)},
|
||||
manufacturer="Belkin",
|
||||
model=wemo.model_name,
|
||||
name=wemo.name,
|
||||
|
@ -61,9 +61,9 @@ def create_pywemo_device(pywemo_registry, pywemo_model):
|
||||
device.host = MOCK_HOST
|
||||
device.port = MOCK_PORT
|
||||
device.name = MOCK_NAME
|
||||
device.serialnumber = MOCK_SERIAL_NUMBER
|
||||
device.serial_number = MOCK_SERIAL_NUMBER
|
||||
device.model_name = pywemo_model.replace("LongPress", "")
|
||||
device.udn = f"uuid:{device.model_name}-1_0-{device.serialnumber}"
|
||||
device.udn = f"uuid:{device.model_name}-1_0-{device.serial_number}"
|
||||
device.firmware_version = MOCK_FIRMWARE_VERSION
|
||||
device.get_state.return_value = 0 # Default to Off
|
||||
device.supports_long_press.return_value = cls.supports_long_press()
|
||||
@ -102,7 +102,7 @@ def pywemo_dli_device_fixture(pywemo_registry, pywemo_model):
|
||||
"""Fixture for Digital Loggers emulated instances."""
|
||||
with create_pywemo_device(pywemo_registry, pywemo_model) as pywemo_dli_device:
|
||||
pywemo_dli_device.model_name = "DLI emulated Belkin Socket"
|
||||
pywemo_dli_device.serialnumber = "1234567891"
|
||||
pywemo_dli_device.serial_number = "1234567891"
|
||||
yield pywemo_dli_device
|
||||
|
||||
|
||||
|
@ -138,9 +138,9 @@ async def test_discovery(hass: HomeAssistant, pywemo_registry) -> None:
|
||||
device.host = f"{MOCK_HOST}_{counter}"
|
||||
device.port = MOCK_PORT + counter
|
||||
device.name = f"{MOCK_NAME}_{counter}"
|
||||
device.serialnumber = f"{MOCK_SERIAL_NUMBER}_{counter}"
|
||||
device.serial_number = f"{MOCK_SERIAL_NUMBER}_{counter}"
|
||||
device.model_name = "Motion"
|
||||
device.udn = f"uuid:{device.model_name}-1_0-{device.serialnumber}"
|
||||
device.udn = f"uuid:{device.model_name}-1_0-{device.serial_number}"
|
||||
device.firmware_version = MOCK_FIRMWARE_VERSION
|
||||
device.get_state.return_value = 0 # Default to Off
|
||||
device.supports_long_press.return_value = False
|
||||
|
@ -35,12 +35,12 @@ def pywemo_model():
|
||||
def pywemo_bridge_light_fixture(pywemo_device):
|
||||
"""Fixture for Bridge.Light WeMoDevice instances."""
|
||||
light = create_autospec(pywemo.ouimeaux_device.bridge.Light, instance=True)
|
||||
light.uniqueID = pywemo_device.serialnumber
|
||||
light.uniqueID = pywemo_device.serial_number
|
||||
light.name = pywemo_device.name
|
||||
light.bridge = pywemo_device
|
||||
light.state = {"onoff": 0, "available": True}
|
||||
light.capabilities = ["onoff", "levelcontrol", "colortemperature"]
|
||||
pywemo_device.Lights = {pywemo_device.serialnumber: light}
|
||||
pywemo_device.Lights = {pywemo_device.serial_number: light}
|
||||
return light
|
||||
|
||||
|
||||
|
@ -84,7 +84,7 @@ async def test_long_press_event(
|
||||
"name": device.wemo.name,
|
||||
"params": "testing_params",
|
||||
"type": EVENT_TYPE_LONG_PRESS,
|
||||
"unique_id": device.wemo.serialnumber,
|
||||
"unique_id": device.wemo.serial_number,
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user