Pass config entry directly to coordinator in System monitor (#134837)

This commit is contained in:
G Johansson 2025-01-06 04:16:58 +01:00 committed by GitHub
parent 0a457979ec
commit e95bfe438b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 14 additions and 5 deletions

View File

@ -50,7 +50,7 @@ async def async_setup_entry(
_LOGGER.debug("disk arguments to be added: %s", disk_arguments)
coordinator: SystemMonitorCoordinator = SystemMonitorCoordinator(
hass, psutil_wrapper, disk_arguments
hass, entry, psutil_wrapper, disk_arguments
)
await coordinator.async_config_entry_first_refresh()
entry.runtime_data = SystemMonitorData(coordinator, psutil_wrapper)
@ -60,17 +60,21 @@ async def async_setup_entry(
return True
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_unload_entry(
hass: HomeAssistant, entry: SystemMonitorConfigEntry
) -> bool:
"""Unload System Monitor config entry."""
return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None:
async def update_listener(hass: HomeAssistant, entry: SystemMonitorConfigEntry) -> None:
"""Handle options update."""
await hass.config_entries.async_reload(entry.entry_id)
async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_migrate_entry(
hass: HomeAssistant, entry: SystemMonitorConfigEntry
) -> bool:
"""Migrate old entry."""
if entry.version > 1:

View File

@ -6,7 +6,7 @@ from dataclasses import dataclass
from datetime import datetime
import logging
import os
from typing import Any, NamedTuple
from typing import TYPE_CHECKING, Any, NamedTuple
from psutil import Process
from psutil._common import sdiskusage, shwtemp, snetio, snicaddr, sswap
@ -17,6 +17,9 @@ from homeassistant.helpers.entity_component import DEFAULT_SCAN_INTERVAL
from homeassistant.helpers.update_coordinator import TimestampDataUpdateCoordinator
from homeassistant.util import dt as dt_util
if TYPE_CHECKING:
from . import SystemMonitorConfigEntry
_LOGGER = logging.getLogger(__name__)
@ -83,6 +86,7 @@ class SystemMonitorCoordinator(TimestampDataUpdateCoordinator[SensorData]):
def __init__(
self,
hass: HomeAssistant,
config_entry: SystemMonitorConfigEntry,
psutil_wrapper: ha_psutil.PsutilWrapper,
arguments: list[str],
) -> None:
@ -90,6 +94,7 @@ class SystemMonitorCoordinator(TimestampDataUpdateCoordinator[SensorData]):
super().__init__(
hass,
_LOGGER,
config_entry=config_entry,
name="System Monitor update coordinator",
update_interval=DEFAULT_SCAN_INTERVAL,
always_update=False,