mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 12:47:08 +00:00
Migrate NextDNS to new entity naming style (#74951)
* Use new entity naming style * Remove unnecessary code * Only the first word should be capitalised
This commit is contained in:
parent
5f4713a200
commit
8820ce0bdd
@ -1,8 +1,6 @@
|
||||
"""Support for the NextDNS service."""
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import cast
|
||||
|
||||
from homeassistant.components.button import ButtonEntity, ButtonEntityDescription
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.core import HomeAssistant
|
||||
@ -17,7 +15,7 @@ PARALLEL_UPDATES = 1
|
||||
|
||||
CLEAR_LOGS_BUTTON = ButtonEntityDescription(
|
||||
key="clear_logs",
|
||||
name="{profile_name} Clear Logs",
|
||||
name="Clear logs",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
)
|
||||
|
||||
@ -39,6 +37,8 @@ async def async_setup_entry(
|
||||
class NextDnsButton(CoordinatorEntity[NextDnsStatusUpdateCoordinator], ButtonEntity):
|
||||
"""Define an NextDNS button."""
|
||||
|
||||
_attr_has_entity_name = True
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
coordinator: NextDnsStatusUpdateCoordinator,
|
||||
@ -48,9 +48,6 @@ class NextDnsButton(CoordinatorEntity[NextDnsStatusUpdateCoordinator], ButtonEnt
|
||||
super().__init__(coordinator)
|
||||
self._attr_device_info = coordinator.device_info
|
||||
self._attr_unique_id = f"{coordinator.profile_id}_{description.key}"
|
||||
self._attr_name = cast(str, description.name).format(
|
||||
profile_name=coordinator.profile_name
|
||||
)
|
||||
self.entity_description = description
|
||||
|
||||
async def async_press(self) -> None:
|
||||
|
@ -3,7 +3,7 @@ from __future__ import annotations
|
||||
|
||||
from collections.abc import Callable
|
||||
from dataclasses import dataclass
|
||||
from typing import Generic, cast
|
||||
from typing import Generic
|
||||
|
||||
from nextdns import (
|
||||
AnalyticsDnssec,
|
||||
@ -61,7 +61,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
coordinator_type=ATTR_STATUS,
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
icon="mdi:dns",
|
||||
name="{profile_name} DNS Queries",
|
||||
name="DNS queries",
|
||||
native_unit_of_measurement="queries",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.all_queries,
|
||||
@ -71,7 +71,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
coordinator_type=ATTR_STATUS,
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
icon="mdi:dns",
|
||||
name="{profile_name} DNS Queries Blocked",
|
||||
name="DNS queries blocked",
|
||||
native_unit_of_measurement="queries",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.blocked_queries,
|
||||
@ -81,7 +81,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
coordinator_type=ATTR_STATUS,
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
icon="mdi:dns",
|
||||
name="{profile_name} DNS Queries Relayed",
|
||||
name="DNS queries relayed",
|
||||
native_unit_of_measurement="queries",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.relayed_queries,
|
||||
@ -91,7 +91,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
coordinator_type=ATTR_STATUS,
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
icon="mdi:dns",
|
||||
name="{profile_name} DNS Queries Blocked Ratio",
|
||||
name="DNS queries blocked ratio",
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.blocked_queries_ratio,
|
||||
@ -102,7 +102,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:dns",
|
||||
name="{profile_name} DNS-over-HTTPS Queries",
|
||||
name="DNS-over-HTTPS queries",
|
||||
native_unit_of_measurement="queries",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.doh_queries,
|
||||
@ -113,7 +113,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:dns",
|
||||
name="{profile_name} DNS-over-TLS Queries",
|
||||
name="DNS-over-TLS queries",
|
||||
native_unit_of_measurement="queries",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.dot_queries,
|
||||
@ -124,7 +124,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:dns",
|
||||
name="{profile_name} DNS-over-QUIC Queries",
|
||||
name="DNS-over-QUIC queries",
|
||||
native_unit_of_measurement="queries",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.doq_queries,
|
||||
@ -135,7 +135,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:dns",
|
||||
name="{profile_name} UDP Queries",
|
||||
name="UDP queries",
|
||||
native_unit_of_measurement="queries",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.udp_queries,
|
||||
@ -146,7 +146,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:dns",
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
name="{profile_name} DNS-over-HTTPS Queries Ratio",
|
||||
name="DNS-over-HTTPS queries ratio",
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.doh_queries_ratio,
|
||||
@ -157,7 +157,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:dns",
|
||||
name="{profile_name} DNS-over-TLS Queries Ratio",
|
||||
name="DNS-over-TLS queries ratio",
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.dot_queries_ratio,
|
||||
@ -168,7 +168,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:dns",
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
name="{profile_name} DNS-over-QUIC Queries Ratio",
|
||||
name="DNS-over-QUIC queries ratio",
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.doq_queries_ratio,
|
||||
@ -179,7 +179,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:dns",
|
||||
name="{profile_name} UDP Queries Ratio",
|
||||
name="UDP queries ratio",
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.udp_queries_ratio,
|
||||
@ -190,7 +190,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:lock",
|
||||
name="{profile_name} Encrypted Queries",
|
||||
name="Encrypted queries",
|
||||
native_unit_of_measurement="queries",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.encrypted_queries,
|
||||
@ -201,7 +201,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:lock-open",
|
||||
name="{profile_name} Unencrypted Queries",
|
||||
name="Unencrypted queries",
|
||||
native_unit_of_measurement="queries",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.unencrypted_queries,
|
||||
@ -212,7 +212,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:lock",
|
||||
name="{profile_name} Encrypted Queries Ratio",
|
||||
name="Encrypted queries ratio",
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.encrypted_queries_ratio,
|
||||
@ -223,7 +223,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:ip",
|
||||
name="{profile_name} IPv4 Queries",
|
||||
name="IPv4 queries",
|
||||
native_unit_of_measurement="queries",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.ipv4_queries,
|
||||
@ -234,7 +234,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:ip",
|
||||
name="{profile_name} IPv6 Queries",
|
||||
name="IPv6 queries",
|
||||
native_unit_of_measurement="queries",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.ipv6_queries,
|
||||
@ -245,7 +245,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:ip",
|
||||
name="{profile_name} IPv6 Queries Ratio",
|
||||
name="IPv6 queries ratio",
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.ipv6_queries_ratio,
|
||||
@ -256,7 +256,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:lock-check",
|
||||
name="{profile_name} DNSSEC Validated Queries",
|
||||
name="DNSSEC validated queries",
|
||||
native_unit_of_measurement="queries",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.validated_queries,
|
||||
@ -267,7 +267,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:lock-alert",
|
||||
name="{profile_name} DNSSEC Not Validated Queries",
|
||||
name="DNSSEC not validated queries",
|
||||
native_unit_of_measurement="queries",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.not_validated_queries,
|
||||
@ -278,7 +278,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
icon="mdi:lock-check",
|
||||
name="{profile_name} DNSSEC Validated Queries Ratio",
|
||||
name="DNSSEC validated queries ratio",
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda data: data.validated_queries_ratio,
|
||||
@ -308,6 +308,8 @@ class NextDnsSensor(
|
||||
):
|
||||
"""Define an NextDNS sensor."""
|
||||
|
||||
_attr_has_entity_name = True
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
coordinator: NextDnsUpdateCoordinator[TCoordinatorData],
|
||||
@ -317,9 +319,6 @@ class NextDnsSensor(
|
||||
super().__init__(coordinator)
|
||||
self._attr_device_info = coordinator.device_info
|
||||
self._attr_unique_id = f"{coordinator.profile_id}_{description.key}"
|
||||
self._attr_name = cast(str, description.name).format(
|
||||
profile_name=coordinator.profile_name
|
||||
)
|
||||
self._attr_native_value = description.value(coordinator.data)
|
||||
self.entity_description: NextDnsSensorEntityDescription = description
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user