Skip to content
Snippets Groups Projects
Commit 3454b6fa authored by Patrik's avatar Patrik Committed by Paulus Schoutsen
Browse files

Refactor Tradfri base class (#27589)

* Refactor Tradfri base class

* Clarify doc

* Fix pylint

* Review fix

* Move
parent 9fb0812c
No related branches found
No related tags found
No related merge requests found
...@@ -10,8 +10,11 @@ from .const import DOMAIN ...@@ -10,8 +10,11 @@ from .const import DOMAIN
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
class TradfriBaseDevice(Entity): class TradfriBaseClass(Entity):
"""Base class for a TRADFRI device.""" """Base class for IKEA TRADFRI.
All devices and groups should ultimately inherit from this class.
"""
def __init__(self, device, api, gateway_id): def __init__(self, device, api, gateway_id):
"""Initialize a device.""" """Initialize a device."""
...@@ -54,20 +57,6 @@ class TradfriBaseDevice(Entity): ...@@ -54,20 +57,6 @@ class TradfriBaseDevice(Entity):
"""Return True if entity is available.""" """Return True if entity is available."""
return self._available return self._available
@property
def device_info(self):
"""Return the device info."""
info = self._device.device_info
return {
"identifiers": {(DOMAIN, self._device.id)},
"manufacturer": info.manufacturer,
"model": info.model_number,
"name": self._name,
"sw_version": info.firmware_version,
"via_device": (DOMAIN, self._gateway_id),
}
@property @property
def name(self): def name(self):
"""Return the display name of this device.""" """Return the display name of this device."""
...@@ -94,3 +83,24 @@ class TradfriBaseDevice(Entity): ...@@ -94,3 +83,24 @@ class TradfriBaseDevice(Entity):
self._device = device self._device = device
self._name = device.name self._name = device.name
self._available = device.reachable self._available = device.reachable
class TradfriBaseDevice(TradfriBaseClass):
"""Base class for a TRADFRI device.
All devices should inherit from this class.
"""
@property
def device_info(self):
"""Return the device info."""
info = self._device.device_info
return {
"identifiers": {(DOMAIN, self._device.id)},
"manufacturer": info.manufacturer,
"model": info.model_number,
"name": self._name,
"sw_version": info.firmware_version,
"via_device": (DOMAIN, self._gateway_id),
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment