From 42eb849caebf4ecfc0ad28ebee8a6f1fec0602d7 Mon Sep 17 00:00:00 2001 From: Jan Bouwhuis Date: Sat, 30 Sep 2023 10:44:46 +0200 Subject: [PATCH] Use dataclass for abode system class (#101138) --- homeassistant/components/abode/__init__.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/abode/__init__.py b/homeassistant/components/abode/__init__.py index 490561c7485..4e4b6a9561d 100644 --- a/homeassistant/components/abode/__init__.py +++ b/homeassistant/components/abode/__init__.py @@ -1,6 +1,7 @@ """Support for the Abode Security System.""" from __future__ import annotations +from dataclasses import dataclass, field from functools import partial from jaraco.abode.automation import Automation as AbodeAuto @@ -25,7 +26,7 @@ from homeassistant.const import ( EVENT_HOMEASSISTANT_STOP, Platform, ) -from homeassistant.core import Event, HomeAssistant, ServiceCall +from homeassistant.core import CALLBACK_TYPE, Event, HomeAssistant, ServiceCall from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady from homeassistant.helpers import config_validation as cv, entity from homeassistant.helpers.device_registry import DeviceInfo @@ -71,15 +72,14 @@ PLATFORMS = [ ] +@dataclass class AbodeSystem: """Abode System class.""" - def __init__(self, abode: Abode, polling: bool) -> None: - """Initialize the system.""" - self.abode = abode - self.polling = polling - self.entity_ids: set[str | None] = set() - self.logout_listener = None + abode: Abode + polling: bool + entity_ids: set[str | None] = field(default_factory=set) + logout_listener: CALLBACK_TYPE | None = None async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: