Mercurial > code > home > repos > homeauto
diff service/piNode/devices.py @ 220:fb23df31b642
ipv6 and some refactor
Ignore-this: 8ae5a78848fac996ad777eb74a48e656
author | drewp@bigasterisk.com |
---|---|
date | Sun, 03 Jan 2016 02:32:46 -0800 |
parents | 75717a0be824 |
children | 666e0e756ce6 |
line wrap: on
line diff
--- a/service/piNode/devices.py Sun Jan 03 02:32:33 2016 -0800 +++ b/service/piNode/devices.py Sun Jan 03 02:32:46 2016 -0800 @@ -125,6 +125,7 @@ @register class RgbStrip(DeviceType): + """3 PWMs for r/g/b on a strip""" deviceType = ROOM['RgbStrip'] @classmethod @@ -159,13 +160,16 @@ def outputPatterns(self): return [(self.uri, ROOM['color'], None)] + + def _rgbFromHex(self, h): + rrggbb = h.lstrip('#') + return [int(x, 16) for x in [rrggbb[0:2], rrggbb[2:4], rrggbb[4:6]]] def sendOutput(self, statements): assert len(statements) == 1 assert statements[0][:2] == (self.uri, ROOM['color']) - rrggbb = statements[0][2].lstrip('#') - rgb = [int(x, 16) for x in [rrggbb[0:2], rrggbb[2:4], rrggbb[4:6]]] + rgb = self._rgbFromHex(statements[0][2]) for (i, v) in zip(self.rgb, rgb): self.pi.set_PWM_dutycycle(i, v)