diff --git a/homeassistant/components/doorbird/button.py b/homeassistant/components/doorbird/button.py index 6e162599e36..ad1356023fc 100644 --- a/homeassistant/components/doorbird/button.py +++ b/homeassistant/components/doorbird/button.py @@ -81,7 +81,6 @@ class DoorBirdButton(DoorBirdEntity, ButtonEntity): ) -> None: """Initialize a relay in a DoorBird device.""" super().__init__(doorstation, doorstation_info) - self._doorstation = doorstation self._relay = relay self.entity_description = entity_description diff --git a/homeassistant/components/doorbird/camera.py b/homeassistant/components/doorbird/camera.py index 1da7ab9a059..eb143b0f2dc 100644 --- a/homeassistant/components/doorbird/camera.py +++ b/homeassistant/components/doorbird/camera.py @@ -87,40 +87,25 @@ class DoorBirdCamera(DoorBirdEntity, Camera): camera_id, name, doorstation_events, - interval=None, + interval, stream_url=None, - ): + ) -> None: """Initialize the camera on a DoorBird device.""" super().__init__(doorstation, doorstation_info) self._url = url self._stream_url = stream_url - self._name = name - self._last_image = None - self._supported_features = SUPPORT_STREAM if self._stream_url else 0 - self._interval = interval or datetime.timedelta + self._attr_name = name + self._last_image: bytes | None = None + self._attr_supported_features = SUPPORT_STREAM if self._stream_url else 0 + self._interval = interval self._last_update = datetime.datetime.min - self._unique_id = f"{self._mac_addr}_{camera_id}" + self._attr_unique_id = f"{self._mac_addr}_{camera_id}" self._doorstation_events = doorstation_events async def stream_source(self): """Return the stream source.""" return self._stream_url - @property - def unique_id(self): - """Camera Unique id.""" - return self._unique_id - - @property - def supported_features(self): - """Return supported features.""" - return self._supported_features - - @property - def name(self): - """Get the name of the camera.""" - return self._name - async def async_camera_image( self, width: int | None = None, height: int | None = None ) -> bytes | None: @@ -139,11 +124,11 @@ class DoorBirdCamera(DoorBirdEntity, Camera): self._last_update = now return self._last_image except asyncio.TimeoutError: - _LOGGER.error("DoorBird %s: Camera image timed out", self._name) + _LOGGER.error("DoorBird %s: Camera image timed out", self.name) return self._last_image except aiohttp.ClientError as error: _LOGGER.error( - "DoorBird %s: Error getting camera image: %s", self._name, error + "DoorBird %s: Error getting camera image: %s", self.name, error ) return self._last_image diff --git a/homeassistant/components/doorbird/entity.py b/homeassistant/components/doorbird/entity.py index 2cf97aa4b57..4247015a3b0 100644 --- a/homeassistant/components/doorbird/entity.py +++ b/homeassistant/components/doorbird/entity.py @@ -18,20 +18,16 @@ class DoorBirdEntity(Entity): def __init__(self, doorstation, doorstation_info): """Initialize the entity.""" super().__init__() - self._doorstation_info = doorstation_info self._doorstation = doorstation self._mac_addr = get_mac_address_from_doorstation_info(doorstation_info) - @property - def device_info(self) -> DeviceInfo: - """Doorbird device info.""" - firmware = self._doorstation_info[DOORBIRD_INFO_KEY_FIRMWARE] - firmware_build = self._doorstation_info[DOORBIRD_INFO_KEY_BUILD_NUMBER] - return DeviceInfo( + firmware = doorstation_info[DOORBIRD_INFO_KEY_FIRMWARE] + firmware_build = doorstation_info[DOORBIRD_INFO_KEY_BUILD_NUMBER] + self._attr_device_info = DeviceInfo( configuration_url="https://webadmin.doorbird.com/", connections={(dr.CONNECTION_NETWORK_MAC, self._mac_addr)}, manufacturer=MANUFACTURER, - model=self._doorstation_info[DOORBIRD_INFO_KEY_DEVICE_TYPE], + model=doorstation_info[DOORBIRD_INFO_KEY_DEVICE_TYPE], name=self._doorstation.name, sw_version=f"{firmware} {firmware_build}", )