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:
Maciej Bieniek 2022-07-11 15:59:46 +02:00 committed by GitHub
parent 5f4713a200
commit 8820ce0bdd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 31 deletions

View File

@ -1,8 +1,6 @@
"""Support for the NextDNS service.""" """Support for the NextDNS service."""
from __future__ import annotations from __future__ import annotations
from typing import cast
from homeassistant.components.button import ButtonEntity, ButtonEntityDescription from homeassistant.components.button import ButtonEntity, ButtonEntityDescription
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
@ -17,7 +15,7 @@ PARALLEL_UPDATES = 1
CLEAR_LOGS_BUTTON = ButtonEntityDescription( CLEAR_LOGS_BUTTON = ButtonEntityDescription(
key="clear_logs", key="clear_logs",
name="{profile_name} Clear Logs", name="Clear logs",
entity_category=EntityCategory.CONFIG, entity_category=EntityCategory.CONFIG,
) )
@ -39,6 +37,8 @@ async def async_setup_entry(
class NextDnsButton(CoordinatorEntity[NextDnsStatusUpdateCoordinator], ButtonEntity): class NextDnsButton(CoordinatorEntity[NextDnsStatusUpdateCoordinator], ButtonEntity):
"""Define an NextDNS button.""" """Define an NextDNS button."""
_attr_has_entity_name = True
def __init__( def __init__(
self, self,
coordinator: NextDnsStatusUpdateCoordinator, coordinator: NextDnsStatusUpdateCoordinator,
@ -48,9 +48,6 @@ class NextDnsButton(CoordinatorEntity[NextDnsStatusUpdateCoordinator], ButtonEnt
super().__init__(coordinator) super().__init__(coordinator)
self._attr_device_info = coordinator.device_info self._attr_device_info = coordinator.device_info
self._attr_unique_id = f"{coordinator.profile_id}_{description.key}" 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 self.entity_description = description
async def async_press(self) -> None: async def async_press(self) -> None:

View File

@ -3,7 +3,7 @@ from __future__ import annotations
from collections.abc import Callable from collections.abc import Callable
from dataclasses import dataclass from dataclasses import dataclass
from typing import Generic, cast from typing import Generic
from nextdns import ( from nextdns import (
AnalyticsDnssec, AnalyticsDnssec,
@ -61,7 +61,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
coordinator_type=ATTR_STATUS, coordinator_type=ATTR_STATUS,
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
icon="mdi:dns", icon="mdi:dns",
name="{profile_name} DNS Queries", name="DNS queries",
native_unit_of_measurement="queries", native_unit_of_measurement="queries",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.all_queries, value=lambda data: data.all_queries,
@ -71,7 +71,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
coordinator_type=ATTR_STATUS, coordinator_type=ATTR_STATUS,
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
icon="mdi:dns", icon="mdi:dns",
name="{profile_name} DNS Queries Blocked", name="DNS queries blocked",
native_unit_of_measurement="queries", native_unit_of_measurement="queries",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.blocked_queries, value=lambda data: data.blocked_queries,
@ -81,7 +81,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
coordinator_type=ATTR_STATUS, coordinator_type=ATTR_STATUS,
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
icon="mdi:dns", icon="mdi:dns",
name="{profile_name} DNS Queries Relayed", name="DNS queries relayed",
native_unit_of_measurement="queries", native_unit_of_measurement="queries",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.relayed_queries, value=lambda data: data.relayed_queries,
@ -91,7 +91,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
coordinator_type=ATTR_STATUS, coordinator_type=ATTR_STATUS,
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
icon="mdi:dns", icon="mdi:dns",
name="{profile_name} DNS Queries Blocked Ratio", name="DNS queries blocked ratio",
native_unit_of_measurement=PERCENTAGE, native_unit_of_measurement=PERCENTAGE,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.blocked_queries_ratio, value=lambda data: data.blocked_queries_ratio,
@ -102,7 +102,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:dns", icon="mdi:dns",
name="{profile_name} DNS-over-HTTPS Queries", name="DNS-over-HTTPS queries",
native_unit_of_measurement="queries", native_unit_of_measurement="queries",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.doh_queries, value=lambda data: data.doh_queries,
@ -113,7 +113,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:dns", icon="mdi:dns",
name="{profile_name} DNS-over-TLS Queries", name="DNS-over-TLS queries",
native_unit_of_measurement="queries", native_unit_of_measurement="queries",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.dot_queries, value=lambda data: data.dot_queries,
@ -124,7 +124,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:dns", icon="mdi:dns",
name="{profile_name} DNS-over-QUIC Queries", name="DNS-over-QUIC queries",
native_unit_of_measurement="queries", native_unit_of_measurement="queries",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.doq_queries, value=lambda data: data.doq_queries,
@ -135,7 +135,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:dns", icon="mdi:dns",
name="{profile_name} UDP Queries", name="UDP queries",
native_unit_of_measurement="queries", native_unit_of_measurement="queries",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.udp_queries, value=lambda data: data.udp_queries,
@ -146,7 +146,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:dns", icon="mdi:dns",
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
name="{profile_name} DNS-over-HTTPS Queries Ratio", name="DNS-over-HTTPS queries ratio",
native_unit_of_measurement=PERCENTAGE, native_unit_of_measurement=PERCENTAGE,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.doh_queries_ratio, value=lambda data: data.doh_queries_ratio,
@ -157,7 +157,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:dns", icon="mdi:dns",
name="{profile_name} DNS-over-TLS Queries Ratio", name="DNS-over-TLS queries ratio",
native_unit_of_measurement=PERCENTAGE, native_unit_of_measurement=PERCENTAGE,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.dot_queries_ratio, value=lambda data: data.dot_queries_ratio,
@ -168,7 +168,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:dns", icon="mdi:dns",
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
name="{profile_name} DNS-over-QUIC Queries Ratio", name="DNS-over-QUIC queries ratio",
native_unit_of_measurement=PERCENTAGE, native_unit_of_measurement=PERCENTAGE,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.doq_queries_ratio, value=lambda data: data.doq_queries_ratio,
@ -179,7 +179,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:dns", icon="mdi:dns",
name="{profile_name} UDP Queries Ratio", name="UDP queries ratio",
native_unit_of_measurement=PERCENTAGE, native_unit_of_measurement=PERCENTAGE,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.udp_queries_ratio, value=lambda data: data.udp_queries_ratio,
@ -190,7 +190,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:lock", icon="mdi:lock",
name="{profile_name} Encrypted Queries", name="Encrypted queries",
native_unit_of_measurement="queries", native_unit_of_measurement="queries",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.encrypted_queries, value=lambda data: data.encrypted_queries,
@ -201,7 +201,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:lock-open", icon="mdi:lock-open",
name="{profile_name} Unencrypted Queries", name="Unencrypted queries",
native_unit_of_measurement="queries", native_unit_of_measurement="queries",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.unencrypted_queries, value=lambda data: data.unencrypted_queries,
@ -212,7 +212,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:lock", icon="mdi:lock",
name="{profile_name} Encrypted Queries Ratio", name="Encrypted queries ratio",
native_unit_of_measurement=PERCENTAGE, native_unit_of_measurement=PERCENTAGE,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.encrypted_queries_ratio, value=lambda data: data.encrypted_queries_ratio,
@ -223,7 +223,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:ip", icon="mdi:ip",
name="{profile_name} IPv4 Queries", name="IPv4 queries",
native_unit_of_measurement="queries", native_unit_of_measurement="queries",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.ipv4_queries, value=lambda data: data.ipv4_queries,
@ -234,7 +234,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:ip", icon="mdi:ip",
name="{profile_name} IPv6 Queries", name="IPv6 queries",
native_unit_of_measurement="queries", native_unit_of_measurement="queries",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.ipv6_queries, value=lambda data: data.ipv6_queries,
@ -245,7 +245,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:ip", icon="mdi:ip",
name="{profile_name} IPv6 Queries Ratio", name="IPv6 queries ratio",
native_unit_of_measurement=PERCENTAGE, native_unit_of_measurement=PERCENTAGE,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.ipv6_queries_ratio, value=lambda data: data.ipv6_queries_ratio,
@ -256,7 +256,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:lock-check", icon="mdi:lock-check",
name="{profile_name} DNSSEC Validated Queries", name="DNSSEC validated queries",
native_unit_of_measurement="queries", native_unit_of_measurement="queries",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.validated_queries, value=lambda data: data.validated_queries,
@ -267,7 +267,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:lock-alert", icon="mdi:lock-alert",
name="{profile_name} DNSSEC Not Validated Queries", name="DNSSEC not validated queries",
native_unit_of_measurement="queries", native_unit_of_measurement="queries",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.not_validated_queries, value=lambda data: data.not_validated_queries,
@ -278,7 +278,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
icon="mdi:lock-check", icon="mdi:lock-check",
name="{profile_name} DNSSEC Validated Queries Ratio", name="DNSSEC validated queries ratio",
native_unit_of_measurement=PERCENTAGE, native_unit_of_measurement=PERCENTAGE,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.validated_queries_ratio, value=lambda data: data.validated_queries_ratio,
@ -308,6 +308,8 @@ class NextDnsSensor(
): ):
"""Define an NextDNS sensor.""" """Define an NextDNS sensor."""
_attr_has_entity_name = True
def __init__( def __init__(
self, self,
coordinator: NextDnsUpdateCoordinator[TCoordinatorData], coordinator: NextDnsUpdateCoordinator[TCoordinatorData],
@ -317,9 +319,6 @@ class NextDnsSensor(
super().__init__(coordinator) super().__init__(coordinator)
self._attr_device_info = coordinator.device_info self._attr_device_info = coordinator.device_info
self._attr_unique_id = f"{coordinator.profile_id}_{description.key}" 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._attr_native_value = description.value(coordinator.data)
self.entity_description: NextDnsSensorEntityDescription = description self.entity_description: NextDnsSensorEntityDescription = description