Skip to content
Snippets Groups Projects
Commit 4347e4fd authored by KERDREUX Jerome's avatar KERDREUX Jerome
Browse files

Black before switching to a new lib

parent 495f6728
Branches
No related tags found
No related merge requests found
......@@ -14,9 +14,11 @@ logger = logging.getLogger(__name__)
def get_dps(dps, idx):
return dps.get(str(idx), None)
def now():
return time.time()
class TuyaDev:
def __init__(self, tuya_id, cfg, parent):
self.is_valid = False
......@@ -43,7 +45,8 @@ class TuyaDev:
proto = cfg.get('protocol', '3.3')
self.debug = cfg.get('debug', False)
# invalid file ?
if not ip or not key: return
if not ip or not key:
return
if addr == None:
addr = tools.get_random_base_uuid()
......@@ -62,7 +65,7 @@ class TuyaDev:
dev.hw_id = self.tuya_id
dev.info = 'Tuya %s: @ %s' % (self.__class__.__name__, self.tuya_client.ip)
if len(self.devices) > 1:
dev.group_id = self.base_addr + 0xff
dev.group_id = self.base_addr + 0xFF
def event_handle(self, ev_type, ev_data):
if ev_type == tuyaclient.Event.DPS:
......@@ -90,7 +93,7 @@ class TuyaDev:
def setup(self):
logger.warning('Please override setup()')
def on_dps(self,data):
def on_dps(self, dps):
logger.warning('Please implement on_status in your class')
......@@ -183,7 +186,6 @@ class SmartPlug(PowerRelay):
pmeter_attr['voltage'] = tmp
class Lamp(TuyaDev):
def setup(self):
dev = devices.lamp_toggle(self.base_addr + 1)
......@@ -206,6 +208,7 @@ class Lamp(TuyaDev):
if state != None:
self.devices[0].attributes['light'] = state
class AdvLampMixin:
"""
Dimming Lamp & RGB Lamp shares the config & API, but the dps (in & out) are
......@@ -232,23 +235,28 @@ class AdvLampMixin:
def brightness_to_dps(self, value):
try:
res = round(int(value) * 255 / 100)
except ValueError:return
if res < 25: res = 25
if res > 255: res = 255
except ValueError:
return
if res < 25:
res = 25
if res > 255:
res = 255
return res
def temperature_to_dps(self, value):
try:
res = int(value)
except ValueError:return
except ValueError:
return
delta = (self.white_max - self.white_min) / 255.0
target = int((res - self.white_min) / delta)
if target > 255: target = 255
if target < 0: target = 0
if target > 255:
target = 255
if target < 0:
target = 0
return target
class LampDimmer(Lamp, AdvLampMixin):
def setup(self):
dev = devices.lamp_dimmer(self.base_addr + 1)
......@@ -301,9 +309,12 @@ class LampRGB(Lamp,AdvLampMixin):
attrs['light'] = result
# color / white
result = get_dps(dps, 2)
if result == 'colour': attrs['mode'] = 'color'
if result == 'white': attrs['mode'] = 'white'
if result and result.startswith('scene'): attrs['mode'] = 'scene'
if result == 'colour':
attrs['mode'] = 'color'
if result == 'white':
attrs['mode'] = 'white'
if result and result.startswith('scene'):
attrs['mode'] = 'scene'
# brightness
result = get_dps(dps, 3)
if result:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment