mirror of
https://github.com/home-assistant/core.git
synced 2025-07-16 17:57:11 +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."""
|
"""Return diagnostics for a config entry."""
|
||||||
coordinator: HWEnergyDeviceUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
|
coordinator: HWEnergyDeviceUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
|
||||||
|
|
||||||
meter_data = {
|
state: dict[str, Any] | None = None
|
||||||
"device": asdict(coordinator.data.device),
|
if coordinator.data.state:
|
||||||
"data": asdict(coordinator.data.data),
|
state = asdict(coordinator.data.state)
|
||||||
"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,
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
system: dict[str, Any] | None = None
|
||||||
"entry": async_redact_data(entry.data, TO_REDACT),
|
if coordinator.data.system:
|
||||||
"data": async_redact_data(meter_data, TO_REDACT),
|
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."""
|
"""Tests for diagnostics data."""
|
||||||
|
|
||||||
from homeassistant.components.diagnostics import REDACTED
|
from syrupy.assertion import SnapshotAssertion
|
||||||
|
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
from tests.common import MockConfigEntry
|
from tests.common import MockConfigEntry
|
||||||
@ -12,67 +13,10 @@ async def test_diagnostics(
|
|||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
hass_client: ClientSessionGenerator,
|
hass_client: ClientSessionGenerator,
|
||||||
init_integration: MockConfigEntry,
|
init_integration: MockConfigEntry,
|
||||||
|
snapshot: SnapshotAssertion,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test diagnostics."""
|
"""Test diagnostics."""
|
||||||
assert await get_diagnostics_for_config_entry(
|
assert (
|
||||||
hass, hass_client, init_integration
|
await get_diagnostics_for_config_entry(hass, hass_client, init_integration)
|
||||||
) == {
|
== snapshot
|
||||||
"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},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user