annotate service/insteon/insteonprotocol.py @ 1296:b70e2029bd8d

old insteon driver attempt Ignore-this: 21e4ebcbb7378639e310762a0e806904 darcs-hash:429c418876cb015c9a8db11b9941ce0a122251e6
author drewp <drewp@bigasterisk.com>
date Sun, 21 Apr 2019 01:37:02 -0700
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1296
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
1 from twisted.internet.defer import Deferred
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
2 from twisted.protocols.stateful import StatefulProtocol, StringIO
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
3 from twisted.protocols.policies import TimeoutMixin
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
4
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
5
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
6 class InsteonProtocol(StatefulProtocol, TimeoutMixin):
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
7 def getInitialState(self):
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
8 return (self.surprise, 1)
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
9
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
10 def surprise(self, bytes):
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
11 print "received %r" % bytes
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
12
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
13
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
14
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
15 def getImInfo(self):
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
16 msg = map(ord, self._send("\x60", 6))
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
17 def imInfoBack(
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
18 self._sful_data = (imInfoBack, , StringIO(), 0
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
19
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
20
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
21 d = Deferred()
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
22 return d
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
23 return {'id' : "%02X%02X%02X" % (msg[0], msg[1], msg[2]),
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
24 'deviceCategory' : msg[3],
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
25 'deviceSubcategory' : msg[4],
b70e2029bd8d old insteon driver attempt
drewp <drewp@bigasterisk.com>
parents:
diff changeset
26 'firmwareRevision': msg[5]}