Skip to content

Commit d6eaa9f

Browse files
authored
Explode dataclasses in Alexa devices diagnostics (home-assistant#155994)
1 parent b7c4c28 commit d6eaa9f

File tree

2 files changed

+26
-9
lines changed

2 files changed

+26
-9
lines changed

homeassistant/components/alexa_devices/diagnostics.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from __future__ import annotations
44

5+
from dataclasses import asdict
56
from typing import Any
67

78
from aioamazondevices.structures import AmazonDevice
@@ -60,5 +61,5 @@ def build_device_data(device: AmazonDevice) -> dict[str, Any]:
6061
"online": device.online,
6162
"serial number": device.serial_number,
6263
"software version": device.software_version,
63-
"sensors": device.sensors,
64+
"sensors": {key: asdict(sensor) for key, sensor in device.sensors.items()},
6465
}

tests/components/alexa_devices/snapshots/test_diagnostics.ambr

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,20 @@
1414
'online': True,
1515
'sensors': dict({
1616
'dnd': dict({
17-
'__type': "<class 'aioamazondevices.structures.AmazonDeviceSensor'>",
18-
'repr': "AmazonDeviceSensor(name='dnd', value=False, error=False, error_type=None, error_msg=None, scale=None)",
17+
'error': False,
18+
'error_msg': None,
19+
'error_type': None,
20+
'name': 'dnd',
21+
'scale': None,
22+
'value': False,
1923
}),
2024
'temperature': dict({
21-
'__type': "<class 'aioamazondevices.structures.AmazonDeviceSensor'>",
22-
'repr': "AmazonDeviceSensor(name='temperature', value='22.5', error=False, error_type=None, error_msg=None, scale='CELSIUS')",
25+
'error': False,
26+
'error_msg': None,
27+
'error_type': None,
28+
'name': 'temperature',
29+
'scale': 'CELSIUS',
30+
'value': '22.5',
2331
}),
2432
}),
2533
'serial number': 'echo_test_serial_number',
@@ -44,12 +52,20 @@
4452
'online': True,
4553
'sensors': dict({
4654
'dnd': dict({
47-
'__type': "<class 'aioamazondevices.structures.AmazonDeviceSensor'>",
48-
'repr': "AmazonDeviceSensor(name='dnd', value=False, error=False, error_type=None, error_msg=None, scale=None)",
55+
'error': False,
56+
'error_msg': None,
57+
'error_type': None,
58+
'name': 'dnd',
59+
'scale': None,
60+
'value': False,
4961
}),
5062
'temperature': dict({
51-
'__type': "<class 'aioamazondevices.structures.AmazonDeviceSensor'>",
52-
'repr': "AmazonDeviceSensor(name='temperature', value='22.5', error=False, error_type=None, error_msg=None, scale='CELSIUS')",
63+
'error': False,
64+
'error_msg': None,
65+
'error_type': None,
66+
'name': 'temperature',
67+
'scale': 'CELSIUS',
68+
'value': '22.5',
5369
}),
5470
}),
5571
'serial number': 'echo_test_serial_number',

0 commit comments

Comments
 (0)