Skip to content

Commit

Permalink
Merge pull request #46 from MTrab:Add-diagnostics
Browse files Browse the repository at this point in the history
Add diagnostics download
  • Loading branch information
MTrab committed Feb 21, 2024
2 parents 00b053b + 0d4a613 commit 231a6d8
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions custom_components/webastoconnect/diagnostics.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
"""Get diagnostics."""

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_EMAIL,
CONF_PASSWORD,
CONF_LATITUDE,
CONF_LONGITUDE,
)
from homeassistant.core import HomeAssistant

from .api import WebastoConnectUpdateCoordinator
from .const import DOMAIN, ATTR_COORDINATOR


TO_REDACT = {
CONF_PASSWORD,
CONF_EMAIL,
CONF_LATITUDE,
CONF_LONGITUDE,
"lat",
"lon",
"acc_email",
"stripe_key",
}


async def async_get_config_entry_diagnostics(
hass: HomeAssistant, entry: ConfigEntry
) -> dict[str, Any]:
"""Return diagnostics for a config entry."""
data_entry = hass.data[DOMAIN][entry.entry_id]

data_dict = {
"entry": entry.as_dict(),
}

device_dict = {}
api: WebastoConnectUpdateCoordinator = hass.data[DOMAIN][entry.entry_id][
ATTR_COORDINATOR
]

data_dict.update({"Latest API dataset": api.cloud._last_data})
data_dict.update({"Latest device dataset": api.cloud._dev_data})
data_dict.update({"Latest settings dataset": api.cloud._settings})

return async_redact_data(data_dict, TO_REDACT)

0 comments on commit 231a6d8

Please sign in to comment.