Adrian Sampson
6d3e7b3fa6
Add method for reading light state
2018-04-21 14:59:53 -04:00
Adrian Sampson
426043397d
Move base64/JSON assumption to config method
...
The "Control" settings seem to use other encodings?
2018-04-21 14:56:41 -04:00
Adrian Sampson
597895b263
Expose AC config values I know of so far
2018-04-21 14:42:11 -04:00
Adrian Sampson
0b3730f5f2
Make a new Client base class
...
For generic device-related utilities. Eventually, non-AC devices should
inherit from this too.
2018-04-21 14:34:35 -04:00
Adrian Sampson
d3cee73759
Friendlier device-level config method
2018-04-21 14:31:49 -04:00
Adrian Sampson
5da0c4a281
Option lookup interface
2018-04-21 14:28:43 -04:00
Adrian Sampson
172c755f95
Transparently restart monitoring tasks that fail
2018-04-21 11:03:35 -04:00
Adrian Sampson
d7cadd09c5
New exception for failed monitor polls
2018-04-21 11:00:33 -04:00
Adrian Sampson
72b3b4c525
Update a comment
2018-04-21 10:50:28 -04:00
Adrian Sampson
c696489de2
Fetch device type
2018-04-03 10:40:38 -04:00
Adrian Sampson
86c63a92b5
Not all devices return JSON status data
2018-04-03 10:17:04 -04:00
Adrian Sampson
8588c109f8
Use self-reported C2F map instead of inverting F2C
...
This API is truly the worst.
2018-04-02 11:26:48 -04:00
Adrian Sampson
2dc014f17f
Wrap devices in lists ( fix #1 , fix #2 )
2018-03-11 09:59:17 -04:00
Adrian Sampson
f0cb5b8165
Factor out control setting
2018-02-18 11:31:02 -05:00
Adrian Sampson
d79f242c0f
Set on/off
2018-02-18 11:28:57 -05:00
Adrian Sampson
c7173124cd
On/off status
2018-02-18 11:26:47 -05:00
Adrian Sampson
754b453903
Getting & setting mode values
2018-02-18 11:20:43 -05:00
Adrian Sampson
f8107ebc25
An enum for OpMode
2018-02-18 11:13:50 -05:00
Adrian Sampson
315dbd73e1
Example of higher-level monitoring
2018-02-18 11:00:27 -05:00
Adrian Sampson
5e258c65a6
Wrap AC polling results
2018-01-28 12:02:58 -05:00
Adrian Sampson
01ec35d94b
Higher-level AC device wrapper
2018-01-28 11:41:04 -05:00
Adrian Sampson
c1a51c6f5a
Expose explicit monitor start/stop methods
2018-01-21 18:55:15 -05:00
Adrian Sampson
8432b87d75
Send strings to JSON
2018-01-21 13:30:44 -05:00
Adrian Sampson
aae1dea181
Serialize model info data
2018-01-21 12:51:10 -05:00
Adrian Sampson
9bf03ddb46
Used namedtuples for value info
2018-01-21 12:47:17 -05:00
Adrian Sampson
844d1c1bdb
Look up value descriptions
2018-01-21 12:39:36 -05:00
Adrian Sampson
445ea623fc
Cache a ModelInfo wrapper
2018-01-21 12:25:18 -05:00
Adrian Sampson
947ea8a647
DeviceInfo abstraction
2018-01-21 12:12:10 -05:00
Adrian Sampson
94a1ec8531
Construct a client from a token
2018-01-20 22:02:22 -05:00
Adrian Sampson
8179148342
Inline the load/dump bits
...
The ol' expression problem strikes again.
2018-01-20 21:51:49 -05:00
Adrian Sampson
ebc9c5b679
Make load into a class method
2018-01-20 21:47:32 -05:00
Adrian Sampson
2ce09e9642
Move Client to main module
2018-01-20 21:43:02 -05:00
Adrian Sampson
0dde92b241
Docstring
2018-01-20 17:16:36 -05:00
Adrian Sampson
2083357165
Remove a key we don't need
2018-01-20 17:14:23 -05:00
Adrian Sampson
1dfbc7db8f
Factor out the refresh function
2018-01-20 16:58:49 -05:00
Adrian Sampson
0648876cc0
Extract new access token
2018-01-20 16:54:53 -05:00
Adrian Sampson
8653810e0d
Actually, the secret is ASCII bytes
...
It looks like hex, but really it's just ASCII. Wow!
2018-01-20 16:51:20 -05:00
Adrian Sampson
3b5b6ca07f
Fix fake URL used in signature
2018-01-20 14:53:26 -05:00
Adrian Sampson
105646263f
Remove apparently-unnecessary headers
2018-01-20 14:47:42 -05:00
Adrian Sampson
ccddf40187
Decode OAuth secret
2018-01-20 14:42:40 -05:00
Adrian Sampson
ba3d423893
Set up OAuth token refresh
2018-01-20 14:35:27 -05:00
Adrian Sampson
35a78281d6
Auth.from_url helper
2018-01-20 13:56:16 -05:00
Adrian Sampson
8fc2749a9b
Obtain refresh token from OAuth
2018-01-20 13:53:19 -05:00
Adrian Sampson
336b7ec956
Fix format of control call
2018-01-08 14:46:04 -08:00
Adrian Sampson
c9afb9035c
Start controlling settings
2018-01-08 14:39:50 -08:00
Adrian Sampson
d2735be4ad
Unpack poll results
2018-01-08 14:16:43 -08:00
Adrian Sampson
d09820dbbd
Fix monitor polling
...
- It looks like `workList` as returned is not really a list.
- The workId we generate appears to be thrown away, in favor of a new
one returned by the service.
- The stop endpoint really does need the device ID.
This is a pretty bad API!
2018-01-08 14:11:56 -08:00
Adrian Sampson
d0a4e3e823
Try out monitoring
2018-01-08 14:03:46 -08:00
Adrian Sampson
3f6b4f1bf8
Sketch unused monitoring stuff
2018-01-08 13:51:44 -08:00
Adrian Sampson
9bf7918314
Don't raise OK responses as errors
2018-01-08 13:25:50 -08:00