From 3f6cffc650c4d8f058d2ccc245fb73cc1e00ee5c Mon Sep 17 00:00:00 2001 From: joostlek Date: Thu, 10 Aug 2023 13:49:10 +0200 Subject: [PATCH 1/4] Add device info to FOSCAM --- homeassistant/components/foscam/camera.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/foscam/camera.py b/homeassistant/components/foscam/camera.py index ae28fd8d111a0..beca2969a69cb 100644 --- a/homeassistant/components/foscam/camera.py +++ b/homeassistant/components/foscam/camera.py @@ -11,9 +11,17 @@ from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_PORT, CONF_USERNAME from homeassistant.core import HomeAssistant from homeassistant.helpers import config_validation as cv, entity_platform +from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.entity_platform import AddEntitiesCallback -from .const import CONF_RTSP_PORT, CONF_STREAM, LOGGER, SERVICE_PTZ, SERVICE_PTZ_PRESET +from .const import ( + CONF_RTSP_PORT, + CONF_STREAM, + DOMAIN, + LOGGER, + SERVICE_PTZ, + SERVICE_PTZ_PRESET, +) DIR_UP = "up" DIR_DOWN = "down" @@ -107,6 +115,10 @@ def __init__(self, camera: FoscamCamera, config_entry: ConfigEntry) -> None: self._rtsp_port = config_entry.data[CONF_RTSP_PORT] if self._rtsp_port: self._attr_supported_features = CameraEntityFeature.STREAM + self._attr_device_info = DeviceInfo( + identifiers={(DOMAIN, config_entry.entry_id)}, + name=config_entry.title, + ) async def async_added_to_hass(self) -> None: """Handle entity addition to hass.""" From 0a85e27678e65a82122390e0a18f0d76c5ea36e1 Mon Sep 17 00:00:00 2001 From: joostlek Date: Thu, 10 Aug 2023 14:54:34 +0200 Subject: [PATCH 2/4] Add manufacturer --- homeassistant/components/foscam/camera.py | 1 + 1 file changed, 1 insertion(+) diff --git a/homeassistant/components/foscam/camera.py b/homeassistant/components/foscam/camera.py index beca2969a69cb..5ee0d9bed32c4 100644 --- a/homeassistant/components/foscam/camera.py +++ b/homeassistant/components/foscam/camera.py @@ -118,6 +118,7 @@ def __init__(self, camera: FoscamCamera, config_entry: ConfigEntry) -> None: self._attr_device_info = DeviceInfo( identifiers={(DOMAIN, config_entry.entry_id)}, name=config_entry.title, + manufacturer="Foscam", ) async def async_added_to_hass(self) -> None: From 459d79f8ae3916024ac89fb1920ff691e2fa00d3 Mon Sep 17 00:00:00 2001 From: joostlek Date: Tue, 22 Aug 2023 09:18:13 +0200 Subject: [PATCH 3/4] Add has entity name --- homeassistant/components/foscam/camera.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/foscam/camera.py b/homeassistant/components/foscam/camera.py index 5ee0d9bed32c4..abedfe7ff8baf 100644 --- a/homeassistant/components/foscam/camera.py +++ b/homeassistant/components/foscam/camera.py @@ -102,12 +102,14 @@ async def async_setup_entry( class HassFoscamCamera(Camera): """An implementation of a Foscam IP camera.""" + _attr_has_entity_name = True + _attr_name = None + def __init__(self, camera: FoscamCamera, config_entry: ConfigEntry) -> None: """Initialize a Foscam camera.""" super().__init__() self._foscam_session = camera - self._attr_name = config_entry.title self._username = config_entry.data[CONF_USERNAME] self._password = config_entry.data[CONF_PASSWORD] self._stream = config_entry.data[CONF_STREAM] @@ -117,7 +119,6 @@ def __init__(self, camera: FoscamCamera, config_entry: ConfigEntry) -> None: self._attr_supported_features = CameraEntityFeature.STREAM self._attr_device_info = DeviceInfo( identifiers={(DOMAIN, config_entry.entry_id)}, - name=config_entry.title, manufacturer="Foscam", ) From edccbad13fe9ac044e3f69afc85bb6680cd62af7 Mon Sep 17 00:00:00 2001 From: joostlek Date: Tue, 22 Aug 2023 09:21:39 +0200 Subject: [PATCH 4/4] Fix device --- homeassistant/components/foscam/camera.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/components/foscam/camera.py b/homeassistant/components/foscam/camera.py index abedfe7ff8baf..384aea4c5fa8e 100644 --- a/homeassistant/components/foscam/camera.py +++ b/homeassistant/components/foscam/camera.py @@ -11,7 +11,7 @@ from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_PORT, CONF_USERNAME from homeassistant.core import HomeAssistant from homeassistant.helpers import config_validation as cv, entity_platform -from homeassistant.helpers.entity import DeviceInfo +from homeassistant.helpers.device_registry import DeviceInfo from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import (