diff --git a/homeassistant/components/xbox/base_sensor.py b/homeassistant/components/xbox/base_sensor.py index c463b31d3c5..8ef0928f903 100644 --- a/homeassistant/components/xbox/base_sensor.py +++ b/homeassistant/components/xbox/base_sensor.py @@ -3,6 +3,7 @@ from __future__ import annotations from yarl import URL +from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.update_coordinator import CoordinatorEntity from . import PresenceData, XboxUpdateCoordinator @@ -66,12 +67,12 @@ class XboxBaseSensorEntity(CoordinatorEntity): return self.attribute == "online" @property - def device_info(self): + def device_info(self) -> DeviceInfo: """Return a device description for device registry.""" - return { - "identifiers": {(DOMAIN, "xbox_live")}, - "name": "Xbox Live", - "manufacturer": "Microsoft", - "model": "Xbox Live", - "entry_type": "service", - } + return DeviceInfo( + entry_type="service", + identifiers={(DOMAIN, "xbox_live")}, + manufacturer="Microsoft", + model="Xbox Live", + name="Xbox Live", + ) diff --git a/homeassistant/components/xbox/media_player.py b/homeassistant/components/xbox/media_player.py index 17390f81fad..cdeb016d604 100644 --- a/homeassistant/components/xbox/media_player.py +++ b/homeassistant/components/xbox/media_player.py @@ -29,6 +29,7 @@ from homeassistant.components.media_player.const import ( SUPPORT_VOLUME_STEP, ) from homeassistant.const import STATE_OFF, STATE_ON, STATE_PAUSED, STATE_PLAYING +from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.update_coordinator import CoordinatorEntity from . import ConsoleData, XboxUpdateCoordinator @@ -213,21 +214,20 @@ class XboxMediaPlayer(CoordinatorEntity, MediaPlayerEntity): await self.client.smartglass.launch_app(self._console.id, media_id) @property - def device_info(self): + def device_info(self) -> DeviceInfo: """Return a device description for device registry.""" # Turns "XboxOneX" into "Xbox One X" for display matches = re.finditer( ".+?(?:(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|$)", self._console.console_type, ) - model = " ".join([m.group(0) for m in matches]) - return { - "identifiers": {(DOMAIN, self._console.id)}, - "name": self._console.name, - "manufacturer": "Microsoft", - "model": model, - } + return DeviceInfo( + identifiers={(DOMAIN, self._console.id)}, + manufacturer="Microsoft", + model=" ".join([m.group(0) for m in matches]), + name=self._console.name, + ) def _find_media_image(images: list[Image]) -> Image | None: diff --git a/homeassistant/components/xbox/remote.py b/homeassistant/components/xbox/remote.py index 31e6220172a..04f25c5f632 100644 --- a/homeassistant/components/xbox/remote.py +++ b/homeassistant/components/xbox/remote.py @@ -20,6 +20,7 @@ from homeassistant.components.remote import ( DEFAULT_DELAY_SECS, RemoteEntity, ) +from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.update_coordinator import CoordinatorEntity from . import ConsoleData, XboxUpdateCoordinator @@ -98,18 +99,17 @@ class XboxRemote(CoordinatorEntity, RemoteEntity): await asyncio.sleep(delay) @property - def device_info(self): + def device_info(self) -> DeviceInfo: """Return a device description for device registry.""" # Turns "XboxOneX" into "Xbox One X" for display matches = re.finditer( ".+?(?:(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|$)", self._console.console_type, ) - model = " ".join([m.group(0) for m in matches]) - return { - "identifiers": {(DOMAIN, self._console.id)}, - "name": self._console.name, - "manufacturer": "Microsoft", - "model": model, - } + return DeviceInfo( + identifiers={(DOMAIN, self._console.id)}, + manufacturer="Microsoft", + model=" ".join([m.group(0) for m in matches]), + name=self._console.name, + )