From efb6300359150de8dd24bb3f239c4638cd27ba9b Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Fri, 15 Oct 2021 00:35:09 +0200 Subject: [PATCH] Add service configuration URL to Verisure (#57713) --- .../verisure/alarm_control_panel.py | 13 ++--- .../components/verisure/binary_sensor.py | 30 ++++++----- homeassistant/components/verisure/camera.py | 17 ++++--- homeassistant/components/verisure/lock.py | 17 ++++--- homeassistant/components/verisure/sensor.py | 51 ++++++++++--------- homeassistant/components/verisure/switch.py | 17 ++++--- 6 files changed, 77 insertions(+), 68 deletions(-) diff --git a/homeassistant/components/verisure/alarm_control_panel.py b/homeassistant/components/verisure/alarm_control_panel.py index 176ca9444c1d..e9cb2f49842d 100644 --- a/homeassistant/components/verisure/alarm_control_panel.py +++ b/homeassistant/components/verisure/alarm_control_panel.py @@ -42,12 +42,13 @@ class VerisureAlarm(CoordinatorEntity, AlarmControlPanelEntity): @property def device_info(self) -> DeviceInfo: """Return device information about this entity.""" - return { - "name": "Verisure Alarm", - "manufacturer": "Verisure", - "model": "VBox", - "identifiers": {(DOMAIN, self.coordinator.entry.data[CONF_GIID])}, - } + return DeviceInfo( + name="Verisure Alarm", + manufacturer="Verisure", + model="VBox", + identifiers={(DOMAIN, self.coordinator.entry.data[CONF_GIID])}, + configuration_url="https://mypages.verisure.com", + ) @property def unique_id(self) -> str: diff --git a/homeassistant/components/verisure/binary_sensor.py b/homeassistant/components/verisure/binary_sensor.py index 4d9b1e84770b..d2bdd05a9aca 100644 --- a/homeassistant/components/verisure/binary_sensor.py +++ b/homeassistant/components/verisure/binary_sensor.py @@ -54,14 +54,15 @@ class VerisureDoorWindowSensor(CoordinatorEntity, BinarySensorEntity): def device_info(self) -> DeviceInfo: """Return device information about this entity.""" area = self.coordinator.data["door_window"][self.serial_number]["area"] - return { - "name": area, - "suggested_area": area, - "manufacturer": "Verisure", - "model": "Shock Sensor Detector", - "identifiers": {(DOMAIN, self.serial_number)}, - "via_device": (DOMAIN, self.coordinator.entry.data[CONF_GIID]), - } + return DeviceInfo( + name=area, + suggested_area=area, + manufacturer="Verisure", + model="Shock Sensor Detector", + identifiers={(DOMAIN, self.serial_number)}, + via_device=(DOMAIN, self.coordinator.entry.data[CONF_GIID]), + configuration_url="https://mypages.verisure.com", + ) @property def is_on(self) -> bool: @@ -95,12 +96,13 @@ class VerisureEthernetStatus(CoordinatorEntity, BinarySensorEntity): @property def device_info(self) -> DeviceInfo: """Return device information about this entity.""" - return { - "name": "Verisure Alarm", - "manufacturer": "Verisure", - "model": "VBox", - "identifiers": {(DOMAIN, self.coordinator.entry.data[CONF_GIID])}, - } + return DeviceInfo( + name="Verisure Alarm", + manufacturer="Verisure", + model="VBox", + identifiers={(DOMAIN, self.coordinator.entry.data[CONF_GIID])}, + configuration_url="https://mypages.verisure.com", + ) @property def is_on(self) -> bool: diff --git a/homeassistant/components/verisure/camera.py b/homeassistant/components/verisure/camera.py index 455d7070a8b4..5335865e1282 100644 --- a/homeassistant/components/verisure/camera.py +++ b/homeassistant/components/verisure/camera.py @@ -70,14 +70,15 @@ class VerisureSmartcam(CoordinatorEntity, Camera): def device_info(self) -> DeviceInfo: """Return device information about this entity.""" area = self.coordinator.data["cameras"][self.serial_number]["area"] - return { - "name": area, - "suggested_area": area, - "manufacturer": "Verisure", - "model": "SmartCam", - "identifiers": {(DOMAIN, self.serial_number)}, - "via_device": (DOMAIN, self.coordinator.entry.data[CONF_GIID]), - } + return DeviceInfo( + name=area, + suggested_area=area, + manufacturer="Verisure", + model="SmartCam", + identifiers={(DOMAIN, self.serial_number)}, + via_device=(DOMAIN, self.coordinator.entry.data[CONF_GIID]), + configuration_url="https://mypages.verisure.com", + ) def camera_image( self, width: int | None = None, height: int | None = None diff --git a/homeassistant/components/verisure/lock.py b/homeassistant/components/verisure/lock.py index e645bf3f8c15..c5be4162d1f1 100644 --- a/homeassistant/components/verisure/lock.py +++ b/homeassistant/components/verisure/lock.py @@ -79,14 +79,15 @@ class VerisureDoorlock(CoordinatorEntity, LockEntity): def device_info(self) -> DeviceInfo: """Return device information about this entity.""" area = self.coordinator.data["locks"][self.serial_number]["area"] - return { - "name": area, - "suggested_area": area, - "manufacturer": "Verisure", - "model": "Lockguard Smartlock", - "identifiers": {(DOMAIN, self.serial_number)}, - "via_device": (DOMAIN, self.coordinator.entry.data[CONF_GIID]), - } + return DeviceInfo( + name=area, + suggested_area=area, + manufacturer="Verisure", + model="Lockguard Smartlock", + identifiers={(DOMAIN, self.serial_number)}, + via_device=(DOMAIN, self.coordinator.entry.data[CONF_GIID]), + configuration_url="https://mypages.verisure.com", + ) @property def available(self) -> bool: diff --git a/homeassistant/components/verisure/sensor.py b/homeassistant/components/verisure/sensor.py index cdeddd8d6e44..2075dbe4a97e 100644 --- a/homeassistant/components/verisure/sensor.py +++ b/homeassistant/components/verisure/sensor.py @@ -74,14 +74,15 @@ class VerisureThermometer(CoordinatorEntity, SensorEntity): "deviceType" ) area = self.coordinator.data["climate"][self.serial_number]["deviceArea"] - return { - "name": area, - "suggested_area": area, - "manufacturer": "Verisure", - "model": DEVICE_TYPE_NAME.get(device_type, device_type), - "identifiers": {(DOMAIN, self.serial_number)}, - "via_device": (DOMAIN, self.coordinator.entry.data[CONF_GIID]), - } + return DeviceInfo( + name=area, + suggested_area=area, + manufacturer="Verisure", + model=DEVICE_TYPE_NAME.get(device_type, device_type), + identifiers={(DOMAIN, self.serial_number)}, + via_device=(DOMAIN, self.coordinator.entry.data[CONF_GIID]), + configuration_url="https://mypages.verisure.com", + ) @property def native_value(self) -> str | None: @@ -127,14 +128,15 @@ class VerisureHygrometer(CoordinatorEntity, SensorEntity): "deviceType" ) area = self.coordinator.data["climate"][self.serial_number]["deviceArea"] - return { - "name": area, - "suggested_area": area, - "manufacturer": "Verisure", - "model": DEVICE_TYPE_NAME.get(device_type, device_type), - "identifiers": {(DOMAIN, self.serial_number)}, - "via_device": (DOMAIN, self.coordinator.entry.data[CONF_GIID]), - } + return DeviceInfo( + name=area, + suggested_area=area, + manufacturer="Verisure", + model=DEVICE_TYPE_NAME.get(device_type, device_type), + identifiers={(DOMAIN, self.serial_number)}, + via_device=(DOMAIN, self.coordinator.entry.data[CONF_GIID]), + configuration_url="https://mypages.verisure.com", + ) @property def native_value(self) -> str | None: @@ -176,14 +178,15 @@ class VerisureMouseDetection(CoordinatorEntity, SensorEntity): def device_info(self) -> DeviceInfo: """Return device information about this entity.""" area = self.coordinator.data["mice"][self.serial_number]["area"] - return { - "name": area, - "suggested_area": area, - "manufacturer": "Verisure", - "model": "Mouse detector", - "identifiers": {(DOMAIN, self.serial_number)}, - "via_device": (DOMAIN, self.coordinator.entry.data[CONF_GIID]), - } + return DeviceInfo( + name=area, + suggested_area=area, + manufacturer="Verisure", + model="Mouse detector", + identifiers={(DOMAIN, self.serial_number)}, + via_device=(DOMAIN, self.coordinator.entry.data[CONF_GIID]), + configuration_url="https://mypages.verisure.com", + ) @property def native_value(self) -> str | None: diff --git a/homeassistant/components/verisure/switch.py b/homeassistant/components/verisure/switch.py index f428f70cda6c..73abeaaf5ce2 100644 --- a/homeassistant/components/verisure/switch.py +++ b/homeassistant/components/verisure/switch.py @@ -49,14 +49,15 @@ class VerisureSmartplug(CoordinatorEntity, SwitchEntity): def device_info(self) -> DeviceInfo: """Return device information about this entity.""" area = self.coordinator.data["smart_plugs"][self.serial_number]["area"] - return { - "name": area, - "suggested_area": area, - "manufacturer": "Verisure", - "model": "SmartPlug", - "identifiers": {(DOMAIN, self.serial_number)}, - "via_device": (DOMAIN, self.coordinator.entry.data[CONF_GIID]), - } + return DeviceInfo( + name=area, + suggested_area=area, + manufacturer="Verisure", + model="SmartPlug", + identifiers={(DOMAIN, self.serial_number)}, + via_device=(DOMAIN, self.coordinator.entry.data[CONF_GIID]), + configuration_url="https://mypages.verisure.com", + ) @property def is_on(self) -> bool: