From a9aefb66b53cd0d01ba7a090ab7ce7a8b2f5fee0 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Thu, 17 Feb 2022 12:35:02 +0100 Subject: [PATCH] Add device info to samsungtv diagnostics (#66728) * Add device-info to samsungtv diagnostics * Adjust tests Co-authored-by: epenet <epenet@users.noreply.github.com> --- .../components/samsungtv/diagnostics.py | 17 +++++++++++++---- tests/components/samsungtv/test_diagnostics.py | 12 +++++++++++- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/samsungtv/diagnostics.py b/homeassistant/components/samsungtv/diagnostics.py index 18d2325f38c..324a3d1b32f 100644 --- a/homeassistant/components/samsungtv/diagnostics.py +++ b/homeassistant/components/samsungtv/diagnostics.py @@ -1,18 +1,27 @@ """Diagnostics support for SamsungTV.""" from __future__ import annotations +from typing import Any + from homeassistant.components.diagnostics import async_redact_data from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_TOKEN from homeassistant.core import HomeAssistant +from .bridge import SamsungTVLegacyBridge, SamsungTVWSBridge +from .const import DOMAIN + TO_REDACT = {CONF_TOKEN} async def async_get_config_entry_diagnostics( hass: HomeAssistant, entry: ConfigEntry -) -> dict: +) -> dict[str, Any]: """Return diagnostics for a config entry.""" - diag_data = {"entry": async_redact_data(entry.as_dict(), TO_REDACT)} - - return diag_data + bridge: SamsungTVLegacyBridge | SamsungTVWSBridge = hass.data[DOMAIN][ + entry.entry_id + ] + return { + "entry": async_redact_data(entry.as_dict(), TO_REDACT), + "device_info": await hass.async_add_executor_job(bridge.device_info), + } diff --git a/tests/components/samsungtv/test_diagnostics.py b/tests/components/samsungtv/test_diagnostics.py index 990c25c8f3e..67bc012ced1 100644 --- a/tests/components/samsungtv/test_diagnostics.py +++ b/tests/components/samsungtv/test_diagnostics.py @@ -55,5 +55,15 @@ async def test_entry_diagnostics( "title": "Mock Title", "unique_id": "any", "version": 2, - } + }, + "device_info": { + "id": "uuid:be9554b9-c9fb-41f4-8920-22da015376a4", + "device": { + "modelName": "82GXARRS", + "name": "[TV] Living Room", + "networkType": "wireless", + "type": "Samsung SmartTV", + "wifiMac": "aa:bb:cc:dd:ee:ff", + }, + }, } -- GitLab