Mercurial > code > home > repos > homeauto
diff service/piNode/devices.py @ 1067:dfb284fb025c
invert support for Pushbutton
Ignore-this: d4b994070114e26700857fcd2cd0118e
darcs-hash:2cc350da1fc7da83153b9b4da89b97a85a9dc9ab
author | drewp <drewp@bigasterisk.com> |
---|---|
date | Sat, 02 Apr 2016 23:33:43 -0700 |
parents | d29b9212c4c5 |
children | 1ae78fe6f36e |
line wrap: on
line diff
--- a/service/piNode/devices.py Mon Mar 21 04:26:14 2016 -0700 +++ b/service/piNode/devices.py Sat Apr 02 23:33:43 2016 -0700 @@ -270,11 +270,16 @@ self.pi.set_mode(self.pinNumber, pigpio.INPUT) self.pi.set_pull_up_down(self.pinNumber, pigpio.PUD_UP) self.lastClosed = None + self.invert = (self.uri, ROOM['style'], + ROOM['inverted']) in self.graph def poll(self): closed = not self.pi.read(self.pinNumber) + if self.invert: + closed = not closed if self.lastClosed is not None and closed != self.lastClosed: + log.debug('%s changed to %s', self.uri, closed) oneshot = [ (self.uri, ROOM['buttonState'], ROOM['press'] if closed else ROOM['release']),