Use entity class attributes for avion (#52696)

pull/52669/head
Robert Hillis 2021-07-08 03:16:47 -04:00 committed by GitHub
parent dabb50f7ee
commit 5b49107007
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 42 deletions

View File

@ -65,49 +65,17 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
class AvionLight(LightEntity):
"""Representation of an Avion light."""
_attr_supported_features = SUPPORT_AVION_LED
_attr_should_poll = False
_attr_assumed_state = True
def __init__(self, device):
"""Initialize the light."""
self._name = device.name
self._address = device.mac
self._brightness = 255
self._state = False
self._attr_name = device.name
self._attr_unique_id = device.mac
self._attr_brightness = 255
self._switch = device
@property
def unique_id(self):
"""Return the ID of this light."""
return self._address
@property
def name(self):
"""Return the name of the device if any."""
return self._name
@property
def is_on(self):
"""Return true if device is on."""
return self._state
@property
def brightness(self):
"""Return the brightness of this light between 0..255."""
return self._brightness
@property
def supported_features(self):
"""Flag supported features."""
return SUPPORT_AVION_LED
@property
def should_poll(self):
"""Don't poll."""
return False
@property
def assumed_state(self):
"""We can't read the actual state, so assume it matches."""
return True
def set_state(self, brightness):
"""Set the state of this lamp to the provided brightness."""
avion = importlib.import_module("avion")
@ -130,12 +98,12 @@ class AvionLight(LightEntity):
brightness = kwargs.get(ATTR_BRIGHTNESS)
if brightness is not None:
self._brightness = brightness
self._attr_brightness = brightness
self.set_state(self.brightness)
self._state = True
self._attr_is_on = True
def turn_off(self, **kwargs):
"""Turn the specified or all lights off."""
self.set_state(0)
self._state = False
self._attr_is_on = False