From 377da5f9547fe2a5c825e7fd28efdbe5a396e993 Mon Sep 17 00:00:00 2001 From: Shay Levy Date: Mon, 24 Feb 2025 17:11:07 +0200 Subject: [PATCH] Update LG webOS TV diagnostics to use tv_info and tv_state dictionaries (#139189) --- .../components/webostv/diagnostics.py | 11 +- .../webostv/snapshots/test_diagnostics.ambr | 101 +++++++++++------- 2 files changed, 66 insertions(+), 46 deletions(-) diff --git a/homeassistant/components/webostv/diagnostics.py b/homeassistant/components/webostv/diagnostics.py index 393a6a066ff..e4ea38064a8 100644 --- a/homeassistant/components/webostv/diagnostics.py +++ b/homeassistant/components/webostv/diagnostics.py @@ -32,15 +32,8 @@ async def async_get_config_entry_diagnostics( client_data = { "is_registered": client.is_registered(), "is_connected": client.is_connected(), - "current_app_id": client.tv_state.current_app_id, - "current_channel": client.tv_state.current_channel, - "apps": client.tv_state.apps, - "inputs": client.tv_state.inputs, - "system_info": client.tv_info.system, - "software_info": client.tv_info.software, - "hello_info": client.tv_info.hello, - "sound_output": client.tv_state.sound_output, - "is_on": client.tv_state.is_on, + "tv_info": client.tv_info.__dict__, + "tv_state": client.tv_state.__dict__, } return async_redact_data( diff --git a/tests/components/webostv/snapshots/test_diagnostics.ambr b/tests/components/webostv/snapshots/test_diagnostics.ambr index 030554b963a..2febee15deb 100644 --- a/tests/components/webostv/snapshots/test_diagnostics.ambr +++ b/tests/components/webostv/snapshots/test_diagnostics.ambr @@ -2,46 +2,73 @@ # name: test_diagnostics dict({ 'client': dict({ - 'apps': dict({ - 'com.webos.app.livetv': dict({ - 'icon': '**REDACTED**', - 'id': 'com.webos.app.livetv', - 'largeIcon': '**REDACTED**', - 'title': 'Live TV', - }), - }), - 'current_app_id': 'com.webos.app.livetv', - 'current_channel': dict({ - 'channelId': 'ch1id', - 'channelName': 'Channel 1', - 'channelNumber': '1', - }), - 'hello_info': dict({ - 'deviceUUID': '**REDACTED**', - }), - 'inputs': dict({ - 'in1': dict({ - 'appId': 'app0', - 'id': 'in1', - 'label': 'Input01', - }), - 'in2': dict({ - 'appId': 'app1', - 'id': 'in2', - 'label': 'Input02', - }), - }), 'is_connected': True, - 'is_on': True, 'is_registered': True, - 'software_info': dict({ - 'major_ver': 'major', - 'minor_ver': 'minor', + 'tv_info': dict({ + 'hello': dict({ + 'deviceUUID': '**REDACTED**', + }), + 'software': dict({ + 'major_ver': 'major', + 'minor_ver': 'minor', + }), + 'system': dict({ + 'modelName': 'MODEL', + 'serialNumber': '1234567890', + }), }), - 'sound_output': 'speaker', - 'system_info': dict({ - 'modelName': 'MODEL', - 'serialNumber': '1234567890', + 'tv_state': dict({ + 'apps': dict({ + 'com.webos.app.livetv': dict({ + 'icon': '**REDACTED**', + 'id': 'com.webos.app.livetv', + 'largeIcon': '**REDACTED**', + 'title': 'Live TV', + }), + }), + 'channel_info': None, + 'channels': list([ + dict({ + 'channelId': 'ch1id', + 'channelName': 'Channel 1', + 'channelNumber': '1', + }), + dict({ + 'channelId': 'ch2id', + 'channelName': 'Channel Name 2', + 'channelNumber': '20', + }), + ]), + 'current_app_id': 'com.webos.app.livetv', + 'current_channel': dict({ + 'channelId': 'ch1id', + 'channelName': 'Channel 1', + 'channelNumber': '1', + }), + 'inputs': dict({ + 'in1': dict({ + 'appId': 'app0', + 'id': 'in1', + 'label': 'Input01', + }), + 'in2': dict({ + 'appId': 'app1', + 'id': 'in2', + 'label': 'Input02', + }), + }), + 'is_on': True, + 'is_screen_on': False, + 'media_state': list([ + dict({ + 'playState': '', + }), + ]), + 'muted': False, + 'power_state': dict({ + }), + 'sound_output': 'speaker', + 'volume': 37, }), }), 'entry': dict({