Skip to content
Snippets Groups Projects
Commit 485b3369 authored by jkerdreu's avatar jkerdreu
Browse files

- switch for self._dev.attributes.get() to self.get_attribute()



git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/branches/0.7@2993 b32b6428-25c9-4566-ad07-03861ab6144f
parent 12a6651a
No related branches found
No related tags found
No related merge requests found
......@@ -40,7 +40,7 @@ class XAALBinarySensorEntity(XAALEntity, BinarySensorEntity):
def state(self):
try:
attr = getattr(self,'_xaal_attribute')
value = self._dev.attributes.get(attr, None)
value = self.get_attribute(attr)
return STATE_ON if value else STATE_OFF
except:
return None
......
......@@ -17,7 +17,6 @@ class XAALEntity(Entity):
@property
def device_info(self):
#print(f"DB: {self.unique_id} {self._dev.db}")
dev = self._dev
ident = "dev:" + str(dev.address)
......@@ -41,6 +40,9 @@ class XAALEntity(Entity):
_LOGGER.debug(f"{self} {action} {body}")
self._bridge.send_request([self._dev.address, ], action, body)
def get_attribute(self, name, default=None):
return self._dev.attributes.get(name, default)
def short_type(self):
""" return a fake device class for entity that doesn't have one """
# this apply for light, button
......
......@@ -58,25 +58,25 @@ class ShutterPosition(Shutter):
@property
def is_closed(self) -> bool | None:
if self._dev.attributes.get('position', None) == 0:
if self.get_attribute('position') == 0:
return True
return False
@property
def is_closing(self) -> bool | None:
if self._dev.attributes.get('action',None) == 'down':
if self.get_attribute('action') == 'down':
return True
return False
@property
def is_opening(self) -> bool | None:
if self._dev.attributes.get('action',None) == 'up':
if self.get_attribute('action') == 'up':
return True
return False
@property
def current_cover_position(self) -> int | None:
return self._dev.attributes.get('position',None)
return self.get_attribute('position')
def set_cover_position(self, **kwargs: Any) -> None:
position = kwargs.get(ATTR_POSITION, None)
......
......@@ -34,7 +34,7 @@ class Lamp(XAALEntity, LightEntity):
@property
def color_mode(self):
mode = self._dev.attributes.get('mode', None)
mode = self.get_attribute('mode')
if mode == 'white':
return 'color_temp'
elif mode == 'color':
......@@ -44,24 +44,24 @@ class Lamp(XAALEntity, LightEntity):
@property
def brightness(self):
brightness = self._dev.attributes.get('brightness', 0)
brightness = self.get_attribute('brightness',0)
return round(255 * (int(brightness) / 100))
@property
def hs_color(self):
hsv = self._dev.attributes.get('hsv', None)
hsv = self.get_attribute('hsv')
if hsv:
return (hsv[0], hsv[1]*100)
@property
def color_temp(self) -> int | None:
white_temp = self._dev.attributes.get('white_temperature', None)
white_temp = self.get_attribute('white_temperature')
if white_temp:
return color_util.color_temperature_kelvin_to_mired(white_temp)
@property
def is_on(self) -> bool | None:
return self._dev.attributes.get('light', None)
return self.get_attribute('light')
def turn_on(self, **kwargs) -> None:
color = kwargs.get(ATTR_HS_COLOR, None)
......@@ -82,7 +82,7 @@ class Lamp(XAALEntity, LightEntity):
if color:
h = int(color[0])
s = color[1] / 100
v = self._dev.attributes.get('brightness', 100) / 100
v = self.get_attribute('brightness', 100) / 100
self.send_request('set_hsv', {'hsv': [h, s, v]})
# if not self.is_on:
......
......@@ -47,7 +47,7 @@ class XAALSensorEntity(XAALEntity, SensorEntity):
@property
def native_value(self):
target = getattr(self,'_xaal_attribute')
return self._dev.attributes.get(target,None)
return self.get_attribute(target)
class Thermometer(XAALSensorEntity):
......
......@@ -26,7 +26,7 @@ class PowerRelay(XAALEntity, SwitchEntity):
@property
def is_on(self) -> bool | None:
return self._dev.attributes.get('power', None)
return self.get_attribute('power')
def turn_on(self, **kwargs) -> None:
_LOGGER.debug(f"turn_on: {kwargs}")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment