mirror of
https://github.com/home-assistant/core.git
synced 2025-11-09 10:59:40 +00:00
Use config entry runtime_data in aussie broadband (#127083)
This commit is contained in:
@@ -5,7 +5,7 @@ from __future__ import annotations
|
||||
from collections.abc import Callable
|
||||
from dataclasses import dataclass
|
||||
import re
|
||||
from typing import Any, cast
|
||||
from typing import cast
|
||||
|
||||
from homeassistant.components.sensor import (
|
||||
SensorDeviceClass,
|
||||
@@ -13,7 +13,6 @@ from homeassistant.components.sensor import (
|
||||
SensorEntityDescription,
|
||||
SensorStateClass,
|
||||
)
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import UnitOfInformation, UnitOfTime
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
|
||||
@@ -22,7 +21,11 @@ from homeassistant.helpers.typing import StateType
|
||||
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||
|
||||
from .const import DOMAIN, SERVICE_ID
|
||||
from .coordinator import AussieBroadandDataUpdateCoordinator
|
||||
from .coordinator import (
|
||||
AussieBroadbandConfigEntry,
|
||||
AussieBroadbandDataUpdateCoordinator,
|
||||
AussieBroadbandServiceData,
|
||||
)
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@@ -118,14 +121,16 @@ SENSOR_DESCRIPTIONS: tuple[SensorValueEntityDescription, ...] = (
|
||||
|
||||
|
||||
async def async_setup_entry(
|
||||
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
|
||||
hass: HomeAssistant,
|
||||
entry: AussieBroadbandConfigEntry,
|
||||
async_add_entities: AddEntitiesCallback,
|
||||
) -> None:
|
||||
"""Set up the Aussie Broadband sensor platform from a config entry."""
|
||||
|
||||
async_add_entities(
|
||||
[
|
||||
AussieBroadandSensorEntity(service, description)
|
||||
for service in hass.data[DOMAIN][entry.entry_id]["services"]
|
||||
for service in entry.runtime_data
|
||||
for description in SENSOR_DESCRIPTIONS
|
||||
if description.key in service["coordinator"].data
|
||||
]
|
||||
@@ -133,7 +138,7 @@ async def async_setup_entry(
|
||||
|
||||
|
||||
class AussieBroadandSensorEntity(
|
||||
CoordinatorEntity[AussieBroadandDataUpdateCoordinator], SensorEntity
|
||||
CoordinatorEntity[AussieBroadbandDataUpdateCoordinator], SensorEntity
|
||||
):
|
||||
"""Base class for Aussie Broadband metric sensors."""
|
||||
|
||||
@@ -141,7 +146,9 @@ class AussieBroadandSensorEntity(
|
||||
entity_description: SensorValueEntityDescription
|
||||
|
||||
def __init__(
|
||||
self, service: dict[str, Any], description: SensorValueEntityDescription
|
||||
self,
|
||||
service: AussieBroadbandServiceData,
|
||||
description: SensorValueEntityDescription,
|
||||
) -> None:
|
||||
"""Initialize the sensor."""
|
||||
super().__init__(service["coordinator"])
|
||||
|
||||
Reference in New Issue
Block a user