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
|
self, hass: HomeAssistant, wemo: pywemo.WeMoDevice
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Add a WeMo device to hass if it has not already been added."""
|
"""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
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
coordinator = await async_register_device(hass, self._config_entry, wemo)
|
coordinator = await async_register_device(hass, self._config_entry, wemo)
|
||||||
except pywemo.PyWeMoException as err:
|
except pywemo.PyWeMoException as err:
|
||||||
if wemo.serialnumber not in self._failed_serial_numbers:
|
if wemo.serial_number not in self._failed_serial_numbers:
|
||||||
self._failed_serial_numbers.add(wemo.serialnumber)
|
self._failed_serial_numbers.add(wemo.serial_number)
|
||||||
_LOGGER.error(
|
_LOGGER.error(
|
||||||
"Unable to add WeMo %s %s: %s", repr(wemo), wemo.host, err
|
"Unable to add WeMo %s %s: %s", repr(wemo), wemo.host, err
|
||||||
)
|
)
|
||||||
@ -194,8 +194,8 @@ class WemoDispatcher:
|
|||||||
coordinator,
|
coordinator,
|
||||||
)
|
)
|
||||||
|
|
||||||
self._added_serial_numbers.add(wemo.serialnumber)
|
self._added_serial_numbers.add(wemo.serial_number)
|
||||||
self._failed_serial_numbers.discard(wemo.serialnumber)
|
self._failed_serial_numbers.discard(wemo.serial_number)
|
||||||
|
|
||||||
|
|
||||||
class WemoDiscovery:
|
class WemoDiscovery:
|
||||||
|
@ -53,7 +53,7 @@ class WemoEntity(CoordinatorEntity[DeviceCoordinator]):
|
|||||||
@property
|
@property
|
||||||
def unique_id(self) -> str:
|
def unique_id(self) -> str:
|
||||||
"""Return the id of this WeMo device."""
|
"""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:
|
if suffix := self.unique_id_suffix:
|
||||||
return f"{serial_number}_{suffix}"
|
return f"{serial_number}_{suffix}"
|
||||||
return serial_number
|
return serial_number
|
||||||
|
@ -61,7 +61,7 @@ class DeviceCoordinator(DataUpdateCoordinator[None]):
|
|||||||
CONF_NAME: self.wemo.name,
|
CONF_NAME: self.wemo.name,
|
||||||
CONF_TYPE: event_type,
|
CONF_TYPE: event_type,
|
||||||
CONF_PARAMS: params,
|
CONF_PARAMS: params,
|
||||||
CONF_UNIQUE_ID: self.wemo.serialnumber,
|
CONF_UNIQUE_ID: self.wemo.serial_number,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
@ -131,14 +131,14 @@ def _create_device_info(wemo: WeMoDevice) -> DeviceInfo:
|
|||||||
_dev_info = _device_info(wemo)
|
_dev_info = _device_info(wemo)
|
||||||
if wemo.model_name == "DLI emulated Belkin Socket":
|
if wemo.model_name == "DLI emulated Belkin Socket":
|
||||||
_dev_info[ATTR_CONFIGURATION_URL] = f"http://{wemo.host}"
|
_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
|
return _dev_info
|
||||||
|
|
||||||
|
|
||||||
def _device_info(wemo: WeMoDevice) -> DeviceInfo:
|
def _device_info(wemo: WeMoDevice) -> DeviceInfo:
|
||||||
return DeviceInfo(
|
return DeviceInfo(
|
||||||
connections={(CONNECTION_UPNP, wemo.udn)},
|
connections={(CONNECTION_UPNP, wemo.udn)},
|
||||||
identifiers={(DOMAIN, wemo.serialnumber)},
|
identifiers={(DOMAIN, wemo.serial_number)},
|
||||||
manufacturer="Belkin",
|
manufacturer="Belkin",
|
||||||
model=wemo.model_name,
|
model=wemo.model_name,
|
||||||
name=wemo.name,
|
name=wemo.name,
|
||||||
|
@ -61,9 +61,9 @@ def create_pywemo_device(pywemo_registry, pywemo_model):
|
|||||||
device.host = MOCK_HOST
|
device.host = MOCK_HOST
|
||||||
device.port = MOCK_PORT
|
device.port = MOCK_PORT
|
||||||
device.name = MOCK_NAME
|
device.name = MOCK_NAME
|
||||||
device.serialnumber = MOCK_SERIAL_NUMBER
|
device.serial_number = MOCK_SERIAL_NUMBER
|
||||||
device.model_name = pywemo_model.replace("LongPress", "")
|
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.firmware_version = MOCK_FIRMWARE_VERSION
|
||||||
device.get_state.return_value = 0 # Default to Off
|
device.get_state.return_value = 0 # Default to Off
|
||||||
device.supports_long_press.return_value = cls.supports_long_press()
|
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."""
|
"""Fixture for Digital Loggers emulated instances."""
|
||||||
with create_pywemo_device(pywemo_registry, pywemo_model) as pywemo_dli_device:
|
with create_pywemo_device(pywemo_registry, pywemo_model) as pywemo_dli_device:
|
||||||
pywemo_dli_device.model_name = "DLI emulated Belkin Socket"
|
pywemo_dli_device.model_name = "DLI emulated Belkin Socket"
|
||||||
pywemo_dli_device.serialnumber = "1234567891"
|
pywemo_dli_device.serial_number = "1234567891"
|
||||||
yield pywemo_dli_device
|
yield pywemo_dli_device
|
||||||
|
|
||||||
|
|
||||||
|
@ -138,9 +138,9 @@ async def test_discovery(hass: HomeAssistant, pywemo_registry) -> None:
|
|||||||
device.host = f"{MOCK_HOST}_{counter}"
|
device.host = f"{MOCK_HOST}_{counter}"
|
||||||
device.port = MOCK_PORT + counter
|
device.port = MOCK_PORT + counter
|
||||||
device.name = f"{MOCK_NAME}_{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.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.firmware_version = MOCK_FIRMWARE_VERSION
|
||||||
device.get_state.return_value = 0 # Default to Off
|
device.get_state.return_value = 0 # Default to Off
|
||||||
device.supports_long_press.return_value = False
|
device.supports_long_press.return_value = False
|
||||||
|
@ -35,12 +35,12 @@ def pywemo_model():
|
|||||||
def pywemo_bridge_light_fixture(pywemo_device):
|
def pywemo_bridge_light_fixture(pywemo_device):
|
||||||
"""Fixture for Bridge.Light WeMoDevice instances."""
|
"""Fixture for Bridge.Light WeMoDevice instances."""
|
||||||
light = create_autospec(pywemo.ouimeaux_device.bridge.Light, instance=True)
|
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.name = pywemo_device.name
|
||||||
light.bridge = pywemo_device
|
light.bridge = pywemo_device
|
||||||
light.state = {"onoff": 0, "available": True}
|
light.state = {"onoff": 0, "available": True}
|
||||||
light.capabilities = ["onoff", "levelcontrol", "colortemperature"]
|
light.capabilities = ["onoff", "levelcontrol", "colortemperature"]
|
||||||
pywemo_device.Lights = {pywemo_device.serialnumber: light}
|
pywemo_device.Lights = {pywemo_device.serial_number: light}
|
||||||
return light
|
return light
|
||||||
|
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ async def test_long_press_event(
|
|||||||
"name": device.wemo.name,
|
"name": device.wemo.name,
|
||||||
"params": "testing_params",
|
"params": "testing_params",
|
||||||
"type": EVENT_TYPE_LONG_PRESS,
|
"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