pyWeMo serialnumber is deprecated, use serial_number (#94791)

This commit is contained in:
Eric Severance 2023-06-17 17:59:19 -07:00 committed by GitHub
parent 0513117a11
commit 7f7b7aee6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 17 additions and 17 deletions

View File

@ -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:

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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,
}