1
mirror of https://github.com/home-assistant/core synced 2024-09-03 08:14:07 +02:00
ha-core/homeassistant/components/netatmo/diagnostics.py
2022-01-21 10:26:18 +01:00

54 lines
1.3 KiB
Python

"""Diagnostics support for Netatmo."""
from __future__ import annotations
from homeassistant.components.diagnostics import async_redact_data
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from .const import DATA_HANDLER, DOMAIN
from .data_handler import CLIMATE_TOPOLOGY_CLASS_NAME, NetatmoDataHandler
TO_REDACT = {
"access_token",
"refresh_token",
"restricted_access_token",
"restricted_refresh_token",
"webhook_id",
"cloudhook_url",
"lat_ne",
"lat_sw",
"lon_ne",
"lon_sw",
"coordinates",
"name",
"timetable",
"zones",
"pseudo",
"url",
}
async def async_get_config_entry_diagnostics(
hass: HomeAssistant, config_entry: ConfigEntry
) -> dict:
"""Return diagnostics for a config entry."""
data_handler: NetatmoDataHandler = hass.data[DOMAIN][config_entry.entry_id][
DATA_HANDLER
]
return {
"info": async_redact_data(
{
**config_entry.as_dict(),
"webhook_registered": data_handler.webhook,
},
TO_REDACT,
),
"data": {
CLIMATE_TOPOLOGY_CLASS_NAME: async_redact_data(
getattr(data_handler.data[CLIMATE_TOPOLOGY_CLASS_NAME], "raw_data"),
TO_REDACT,
)
},
}