Skip to content
Snippets Groups Projects
Commit 3b20e887 authored by jkerdreu's avatar jkerdreu
Browse files

Fix update

git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/branches/0.7@2419 b32b6428-25c9-4566-ad07-03861ab6144f
parent af0d4507
No related branches found
No related tags found
No related merge requests found
......@@ -44,8 +44,8 @@ class YeelightDev(object):
logger.warning('Please overide on_properties')
def spawn(self,func,*args,**kwargs):
#gevent.spawn(wrap_errors(Exception,func),*args,**kwargs)
gevent.spawn(func,*args,**kwargs)
gevent.spawn(wrap_errors(Exception,func),*args,**kwargs)
#gevent.spawn(func,*args,**kwargs)
def get_properties(self):
self.spawn(self._get_properties)
......@@ -64,28 +64,28 @@ class YeelightDev(object):
#===================================================
# Yeelight API
#===================================================
def __get_properties(self):
def _update_properties(self):
properties = self.bulb.get_properties()
self.on_properties(properties)
@tenacity.retry(stop=TENACITY_RETRY)
def _get_properties(self):
self.__get_properties()
self._update_properties()
@tenacity.retry(stop=TENACITY_RETRY)
def _on(self):
self.bulb.turn_on()
self.__get_properties()
self._update_properties()
@tenacity.retry(stop=TENACITY_RETRY)
def _off(self):
self.bulb.turn_off()
self.__get_properties()
self._update_properties()
@tenacity.retry(stop=TENACITY_RETRY)
def _toggle(self):
self.bulb.toggle()
self.__get_properties()
self._update_properties()
class RGBW(YeelightDev):
......@@ -99,6 +99,7 @@ class RGBW(YeelightDev):
dev.methods['setWhite'] = self.set_white
dev.methods['debug'] = self.debug
dev.info = 'RGBW / %s' % self.addr
dev.schema = 'https://redmine.telecom-bretagne.eu/svn/xaal/schemas/branches/schemas-0.7/lamp.dimmer'
self.dev = dev
def debug(self):
......@@ -131,19 +132,19 @@ class RGBW(YeelightDev):
def _dim(self,val):
self.bulb.turn_on()
self.bulb.set_brightness(val)
self.__get_properties()
self._update_properties()
@tenacity.retry(stop=TENACITY_RETRY)
def _set_color_temp(self,val):
self.bulb.turn_on()
self.bulb.set_color_temp(val)
self.__get_properties()
self._update_properties()
@tenacity.retry(stop=TENACITY_RETRY)
def _set_color(self,r,g,b):
self.bulb.turn_on()
self.bulb.duration = 5000
self.bulb.set_rgb(r,g,b)
self.__get_properties()
self._update_properties()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment