Commit graph

73 commits

Author SHA1 Message Date
Matthew Garrett
d10a43531c Fix python 2 compatibility
Ugly but appears to work
2016-12-03 16:40:58 -08:00
Matthew Garrett
31cd077165 Expose the type of the discovered device
Allow clients to identify what kind of device has been discovered
2016-12-03 14:22:20 -08:00
Matthew Garrett
c157860f0d Fix setup.py 2016-12-03 14:16:59 -08:00
Matthew Garrett
9628b87572 Merge remote-tracking branch 'zenitraM/python3' 2016-12-03 14:16:32 -08:00
Alejandro M
a5d05c95b3 Python 3 compatibility 2016-11-24 22:25:14 +01:00
Matthew Garrett
d066513d02 Add packet retransmission and timeout
UDP doesn't guarantee delivery, so reattempt packet transmission if we don't
get a response and timeout if we still don't have anything after (by
default) 10 seconds.
2016-11-20 11:18:51 -08:00
Matthew Garrett
7ac243b838 Merge pull request #16 from PeWu/smartplug
Updated SmartPlug commands - set_power() and check_power()
2016-11-19 16:47:28 -08:00
Matthew Garrett
c68fcea5e6 Fix single device discovery
The automatic device type detection was only implemented when discovering
with a timeout. Refactor to do it for the single-device discover() case.
2016-11-19 14:23:50 -08:00
Przemek Wiech
1e04ec2be5 Merge branch 'master' into smartplug. 2016-11-18 21:20:35 +01:00
Przemek Wiech
652f52eb03 Updated SmartPlug commands - set_power() and check_power() 2016-11-18 00:19:02 +01:00
Matthew Garrett
d490c5b71e Add automatic determination of device type
Look at the device ID and figure out what type of device it is, and provide
appropriate classes for each that only support the functionality available
on that device.
2016-11-18 09:55:21 +13:00
Matthew Garrett
c174e40f59 Add experimental support for smartplugs
This adds a set_power() call that should work for the SP2 - unsure whether
it will work for the SP3.
2016-11-13 14:29:07 +13:00
Matthew Garrett
61efc7ae29 Merge pull request #14 from msh100/master
each send_packet() needs a unique count
2016-11-11 09:15:08 +13:00
Marcus Stewart Hughes
4705fdf011 each send_packet() needs a unique count
Increment count instead of randomly generating on each send_packet() as per @mjg59's suggestion.

Tested and working as expected.
2016-11-10 20:13:21 +00:00
Matthew Garrett
0b9dd40921 Merge pull request #11 from kelvl/macos-cant-assign-address-fix
Fix for [Errno 49] Can't assign requested address
2016-11-04 16:33:02 -06:00
Kelvin Law
bd1c44488d Fix for [Errno 49] Can't assign requested address
Fixes #3 on macOS
2016-11-02 20:34:46 -07:00
Matthew Garrett
925742768d Update documentation to cover RF packets
RF packets behave identically to IR packets, so update the docs to match
2016-10-30 14:18:20 -07:00
Matthew Garrett
989009e21f Add support for multiple devices and update documentation
Add support for discovering more than one device on the network, and update
the documentation to describe that.
2016-10-30 14:16:40 -07:00
Matthew Garrett
69afd4ce52 Add support for sensor data
Add a check_temperature() function that'll work for both the RM2 and the A1
sensor platform, and a check_sensors() function that returns the full set of
sensor data for the A1 as a dict.
2016-10-24 20:50:34 -07:00
Matthew Garrett
ef77bc7ea8 Add some todos in the protocol 2016-10-12 05:42:07 -07:00
Matthew Garrett
60afb5164e Document packet format 2016-10-12 05:38:15 -07:00
Matthew Garrett
6936bc750e Attempt to handle timezones
The timezone should be embedded in the discovery packet, so make a better
attempt to do that.
2016-10-10 01:09:06 -07:00
Matthew Garrett
ecab016a73 Initial commit 2016-09-15 13:20:16 -07:00