Commit graph

43 commits

Author SHA1 Message Date
wind-rider
3c44422b60 Update protocol.md 2017-04-22 12:40:04 -07:00
wind-rider
2388808f41 Add device type mapping to protocol 2017-04-22 12:40:04 -07:00
Daniel Høyer Iversen
19851ed423 bug fix in timeout (#70) 2017-04-22 12:38:02 -07:00
Dimitrij
d346476e63 fix check_power for SP2/SP3 (#72)
Fixed up to avoid merge conflict with #78
2017-04-22 12:36:50 -07:00
Thomas Järvstrand
4f03ffb963 Add support for pure python AES implementation (#78) 2017-04-22 12:34:37 -07:00
Matthew Garrett
7a852b2084 Bump version to 0.3 2017-01-03 10:08:06 -06:00
Víctor Ferrer García
63e097d73f check_power_raw included for mp1 devices
Export raw power state for MP1 devices
2017-01-02 23:31:04 -06:00
Matthew Garrett
a4465a7515 Merge pull request #46 from Danielhiversen/patch-10
validate the authorization
2016-12-28 08:03:02 -06:00
Daniel Høyer Iversen
39e170c9e0 validate the authorization 2016-12-26 20:02:04 +01:00
Daniel Høyer Iversen
b30fc0d1c1 Ensure discover() returns devices and not None
There's a small race condition in the discover() method. If recv() returns
before the socket timeout is reached, but we hit the top of the loop after
the timeout is reached, we'll return None rather than the set of devices.
2016-12-25 11:16:53 +00:00
Matthew Garrett
877a7b7460 Merge pull request #34 from eschava/master
allow to specify network interface for discover method
2016-12-25 11:07:54 +00:00
Matthew Garrett
a0a1c1b7a1 Merge pull request #37 from Danielhiversen/patch-9
Make communication thread safe
2016-12-25 11:07:19 +00:00
Matthew Garrett
1cd4834fef Merge pull request #30 from Danielhiversen/patch-5
Add pycrypto as package dependency
2016-12-25 11:01:55 +00:00
Victor Ferrer
d519623dd4 Add new device support: Broadlink MP1 Smart power strip 2016-12-25 10:59:58 +00:00
Daniel Høyer Iversen
1296c3da48 Make communication thread safe 2016-12-22 09:51:38 +01:00
Eugene Schava
72cf09f9e4 allow to specify network interface for discover method 2016-12-20 15:59:32 +02:00
Daniel Høyer Iversen
5c658b686d Update setup.py 2016-12-18 19:38:08 +01:00
Daniel Høyer Iversen
43133b5f31 Create requirements.txt 2016-12-18 19:24:06 +01:00
Matthew Garrett
83f1c3fc93 Bump version 2016-12-03 17:02:07 -08:00
Matthew Garrett
63d184fc8c Provide raw sensor data
Provide raw versions of the sensor data for interpretation by clients
2016-12-03 16:41:10 -08:00
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