Modify RainMachine to store a single dataclass in hass.data
(#75460)
* Modify RainMachine to store a single dataclass in `hass.data` * Pass one object around instead of multiple
This commit is contained in:
parent
3388248eb5
commit
847f150a78
7 changed files with 142 additions and 144 deletions
|
@ -3,15 +3,13 @@ from __future__ import annotations
|
|||
|
||||
from typing import Any
|
||||
|
||||
from regenmaschine.controller import Controller
|
||||
|
||||
from homeassistant.components.diagnostics import async_redact_data
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import CONF_LATITUDE, CONF_LONGITUDE, CONF_PASSWORD
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
|
||||
|
||||
from .const import DATA_CONTROLLER, DATA_COORDINATOR, DOMAIN
|
||||
from . import RainMachineData
|
||||
from .const import DOMAIN
|
||||
|
||||
TO_REDACT = {
|
||||
CONF_LATITUDE,
|
||||
|
@ -24,9 +22,7 @@ async def async_get_config_entry_diagnostics(
|
|||
hass: HomeAssistant, entry: ConfigEntry
|
||||
) -> dict[str, Any]:
|
||||
"""Return diagnostics for a config entry."""
|
||||
data = hass.data[DOMAIN][entry.entry_id]
|
||||
coordinators: dict[str, DataUpdateCoordinator] = data[DATA_COORDINATOR]
|
||||
controller: Controller = data[DATA_CONTROLLER]
|
||||
data: RainMachineData = hass.data[DOMAIN][entry.entry_id]
|
||||
|
||||
return {
|
||||
"entry": {
|
||||
|
@ -38,15 +34,15 @@ async def async_get_config_entry_diagnostics(
|
|||
"coordinator": async_redact_data(
|
||||
{
|
||||
api_category: controller.data
|
||||
for api_category, controller in coordinators.items()
|
||||
for api_category, controller in data.coordinators.items()
|
||||
},
|
||||
TO_REDACT,
|
||||
),
|
||||
"controller": {
|
||||
"api_version": controller.api_version,
|
||||
"hardware_version": controller.hardware_version,
|
||||
"name": controller.name,
|
||||
"software_version": controller.software_version,
|
||||
"api_version": data.controller.api_version,
|
||||
"hardware_version": data.controller.hardware_version,
|
||||
"name": data.controller.name,
|
||||
"software_version": data.controller.software_version,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue