1 """Support for the NextDNS service."""
3 from __future__
import annotations
5 from nextdns
import AnalyticsStatus
13 from .
import NextDnsConfigEntry
14 from .coordinator
import NextDnsUpdateCoordinator
20 translation_key=
"clear_logs",
21 entity_category=EntityCategory.CONFIG,
27 entry: NextDnsConfigEntry,
28 async_add_entities: AddEntitiesCallback,
30 """Add aNextDNS entities from a config_entry."""
31 coordinator = entry.runtime_data.status
37 CoordinatorEntity[NextDnsUpdateCoordinator[AnalyticsStatus]], ButtonEntity
39 """Define an NextDNS button."""
41 _attr_has_entity_name =
True
45 coordinator: NextDnsUpdateCoordinator[AnalyticsStatus],
46 description: ButtonEntityDescription,
51 self.
_attr_unique_id_attr_unique_id = f
"{coordinator.profile_id}_{description.key}"
55 """Trigger cleaning logs."""
56 await self.coordinator.nextdns.clear_logs(self.coordinator.profile_id)