Use entity class attributes for arest (#52678)

This commit is contained in:
Robert Hillis
2021-07-21 08:32:42 -04:00
committed by GitHub
parent 668437741a
commit 0803b2aecd
3 changed files with 36 additions and 89 deletions

View File

@@ -73,34 +73,18 @@ class ArestBinarySensor(BinarySensorEntity):
def __init__(self, arest, resource, name, device_class, pin):
"""Initialize the aREST device."""
self.arest = arest
self._resource = resource
self._name = name
self._device_class = device_class
self._pin = pin
self._attr_name = name
self._attr_device_class = device_class
if self._pin is not None:
request = requests.get(f"{self._resource}/mode/{self._pin}/i", timeout=10)
if pin is not None:
request = requests.get(f"{resource}/mode/{pin}/i", timeout=10)
if request.status_code != HTTP_OK:
_LOGGER.error("Can't set mode of %s", self._resource)
@property
def name(self):
"""Return the name of the binary sensor."""
return self._name
@property
def is_on(self):
"""Return true if the binary sensor is on."""
return bool(self.arest.data.get("state"))
@property
def device_class(self):
"""Return the class of this sensor."""
return self._device_class
_LOGGER.error("Can't set mode of %s", resource)
def update(self):
"""Get the latest data from aREST API."""
self.arest.update()
self._attr_is_on = bool(self.arest.data.get("state"))
class ArestData: