mirror of
https://github.com/home-assistant/core.git
synced 2025-07-14 00:37:13 +00:00
Improve diagnostic handling in HomeWizard Energy (#102935)
This commit is contained in:
parent
fd1c1dba7c
commit
8e112c04fb
@ -28,18 +28,23 @@ async def async_get_config_entry_diagnostics(
|
||||
"""Return diagnostics for a config entry."""
|
||||
coordinator: HWEnergyDeviceUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
|
||||
|
||||
meter_data = {
|
||||
"device": asdict(coordinator.data.device),
|
||||
"data": asdict(coordinator.data.data),
|
||||
"state": asdict(coordinator.data.state)
|
||||
if coordinator.data.state is not None
|
||||
else None,
|
||||
"system": asdict(coordinator.data.system)
|
||||
if coordinator.data.system is not None
|
||||
else None,
|
||||
}
|
||||
state: dict[str, Any] | None = None
|
||||
if coordinator.data.state:
|
||||
state = asdict(coordinator.data.state)
|
||||
|
||||
return {
|
||||
"entry": async_redact_data(entry.data, TO_REDACT),
|
||||
"data": async_redact_data(meter_data, TO_REDACT),
|
||||
}
|
||||
system: dict[str, Any] | None = None
|
||||
if coordinator.data.system:
|
||||
system = asdict(coordinator.data.system)
|
||||
|
||||
return async_redact_data(
|
||||
{
|
||||
"entry": async_redact_data(entry.data, TO_REDACT),
|
||||
"data": {
|
||||
"device": asdict(coordinator.data.device),
|
||||
"data": asdict(coordinator.data.data),
|
||||
"state": state,
|
||||
"system": system,
|
||||
},
|
||||
},
|
||||
TO_REDACT,
|
||||
)
|
||||
|
71
tests/components/homewizard/snapshots/test_diagnostics.ambr
Normal file
71
tests/components/homewizard/snapshots/test_diagnostics.ambr
Normal file
@ -0,0 +1,71 @@
|
||||
# serializer version: 1
|
||||
# name: test_diagnostics
|
||||
dict({
|
||||
'data': dict({
|
||||
'data': dict({
|
||||
'active_current_l1_a': -4,
|
||||
'active_current_l2_a': 2,
|
||||
'active_current_l3_a': 0,
|
||||
'active_frequency_hz': 50,
|
||||
'active_liter_lpm': 12.345,
|
||||
'active_power_average_w': 123.0,
|
||||
'active_power_l1_w': -123,
|
||||
'active_power_l2_w': 456,
|
||||
'active_power_l3_w': 123.456,
|
||||
'active_power_w': -123,
|
||||
'active_tariff': 2,
|
||||
'active_voltage_l1_v': 230.111,
|
||||
'active_voltage_l2_v': 230.222,
|
||||
'active_voltage_l3_v': 230.333,
|
||||
'any_power_fail_count': 4,
|
||||
'external_devices': None,
|
||||
'gas_timestamp': '2021-03-14T11:22:33',
|
||||
'gas_unique_id': '**REDACTED**',
|
||||
'long_power_fail_count': 5,
|
||||
'meter_model': 'ISKRA 2M550T-101',
|
||||
'monthly_power_peak_timestamp': '2023-01-01T08:00:10',
|
||||
'monthly_power_peak_w': 1111.0,
|
||||
'smr_version': 50,
|
||||
'total_gas_m3': 1122.333,
|
||||
'total_liter_m3': 1234.567,
|
||||
'total_power_export_kwh': 13086.777,
|
||||
'total_power_export_t1_kwh': 4321.333,
|
||||
'total_power_export_t2_kwh': 8765.444,
|
||||
'total_power_export_t3_kwh': None,
|
||||
'total_power_export_t4_kwh': None,
|
||||
'total_power_import_kwh': 13779.338,
|
||||
'total_power_import_t1_kwh': 10830.511,
|
||||
'total_power_import_t2_kwh': 2948.827,
|
||||
'total_power_import_t3_kwh': None,
|
||||
'total_power_import_t4_kwh': None,
|
||||
'unique_meter_id': '**REDACTED**',
|
||||
'voltage_sag_l1_count': 1,
|
||||
'voltage_sag_l2_count': 2,
|
||||
'voltage_sag_l3_count': 3,
|
||||
'voltage_swell_l1_count': 4,
|
||||
'voltage_swell_l2_count': 5,
|
||||
'voltage_swell_l3_count': 6,
|
||||
'wifi_ssid': '**REDACTED**',
|
||||
'wifi_strength': 100,
|
||||
}),
|
||||
'device': dict({
|
||||
'api_version': 'v1',
|
||||
'firmware_version': '2.11',
|
||||
'product_name': 'P1 Meter',
|
||||
'product_type': 'HWE-SKT',
|
||||
'serial': '**REDACTED**',
|
||||
}),
|
||||
'state': dict({
|
||||
'brightness': 255,
|
||||
'power_on': True,
|
||||
'switch_lock': False,
|
||||
}),
|
||||
'system': dict({
|
||||
'cloud_enabled': True,
|
||||
}),
|
||||
}),
|
||||
'entry': dict({
|
||||
'ip_address': '**REDACTED**',
|
||||
}),
|
||||
})
|
||||
# ---
|
@ -1,6 +1,7 @@
|
||||
"""Tests for diagnostics data."""
|
||||
|
||||
from homeassistant.components.diagnostics import REDACTED
|
||||
from syrupy.assertion import SnapshotAssertion
|
||||
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
||||
from tests.common import MockConfigEntry
|
||||
@ -12,67 +13,10 @@ async def test_diagnostics(
|
||||
hass: HomeAssistant,
|
||||
hass_client: ClientSessionGenerator,
|
||||
init_integration: MockConfigEntry,
|
||||
snapshot: SnapshotAssertion,
|
||||
) -> None:
|
||||
"""Test diagnostics."""
|
||||
assert await get_diagnostics_for_config_entry(
|
||||
hass, hass_client, init_integration
|
||||
) == {
|
||||
"entry": {"ip_address": REDACTED},
|
||||
"data": {
|
||||
"device": {
|
||||
"product_name": "P1 Meter",
|
||||
"product_type": "HWE-SKT",
|
||||
"serial": REDACTED,
|
||||
"api_version": "v1",
|
||||
"firmware_version": "2.11",
|
||||
},
|
||||
"data": {
|
||||
"wifi_ssid": REDACTED,
|
||||
"wifi_strength": 100,
|
||||
"smr_version": 50,
|
||||
"meter_model": "ISKRA 2M550T-101",
|
||||
"unique_meter_id": REDACTED,
|
||||
"active_tariff": 2,
|
||||
"total_power_import_kwh": 13779.338,
|
||||
"total_power_import_t1_kwh": 10830.511,
|
||||
"total_power_import_t2_kwh": 2948.827,
|
||||
"total_power_import_t3_kwh": None,
|
||||
"total_power_import_t4_kwh": None,
|
||||
"total_power_export_kwh": 13086.777,
|
||||
"total_power_export_t1_kwh": 4321.333,
|
||||
"total_power_export_t2_kwh": 8765.444,
|
||||
"total_power_export_t3_kwh": None,
|
||||
"total_power_export_t4_kwh": None,
|
||||
"active_power_w": -123,
|
||||
"active_power_l1_w": -123,
|
||||
"active_power_l2_w": 456,
|
||||
"active_power_l3_w": 123.456,
|
||||
"active_voltage_l1_v": 230.111,
|
||||
"active_voltage_l2_v": 230.222,
|
||||
"active_voltage_l3_v": 230.333,
|
||||
"active_current_l1_a": -4,
|
||||
"active_current_l2_a": 2,
|
||||
"active_current_l3_a": 0,
|
||||
"active_frequency_hz": 50,
|
||||
"voltage_sag_l1_count": 1,
|
||||
"voltage_sag_l2_count": 2,
|
||||
"voltage_sag_l3_count": 3,
|
||||
"voltage_swell_l1_count": 4,
|
||||
"voltage_swell_l2_count": 5,
|
||||
"voltage_swell_l3_count": 6,
|
||||
"any_power_fail_count": 4,
|
||||
"long_power_fail_count": 5,
|
||||
"active_power_average_w": 123.0,
|
||||
"monthly_power_peak_w": 1111.0,
|
||||
"monthly_power_peak_timestamp": "2023-01-01T08:00:10",
|
||||
"total_gas_m3": 1122.333,
|
||||
"gas_timestamp": "2021-03-14T11:22:33",
|
||||
"gas_unique_id": REDACTED,
|
||||
"active_liter_lpm": 12.345,
|
||||
"total_liter_m3": 1234.567,
|
||||
"external_devices": None,
|
||||
},
|
||||
"state": {"power_on": True, "switch_lock": False, "brightness": 255},
|
||||
"system": {"cloud_enabled": True},
|
||||
},
|
||||
}
|
||||
assert (
|
||||
await get_diagnostics_for_config_entry(hass, hass_client, init_integration)
|
||||
== snapshot
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user