Commit graph

58 commits

Author SHA1 Message Date
Michael Kaiser
71f320638e Fix protocol description (#125)
* Fix discovery packet format description

* fix MAC address offset

* Command packet format description

* Data description
2017-11-25 12:14:12 -08:00
Eugene Schava
2160488da2 sp2.get_energy 2017-11-25 12:11:05 -08:00
Eugene Schava
626b459b5b SP3S support (#117) 2017-11-25 12:08:58 -08:00
hackers365
1d7fba3d06 add honyar mp1 devtype 0x4ef7 2017-11-25 12:08:14 -08:00
Bengt Martensson
4f902342e7 New options for broadlink:cli: --convert and --durations. (#105)
Now takes several data arguments.
2017-11-25 12:06:12 -08:00
Julian Pastarmov
3d4789305e Only get temperature for devices that support it. (#102)
Calling check_temperature is only possible on the RM family of devices. The program used to crash if other types of devices were discovered (A1, MP1 etc.).
2017-11-25 12:04:10 -08:00
mob41
2e2c8ef1a1 [Critical] Fixes invalid byte string (b) for padding (#97, #107) (#108)
* Fixes invalid byte string (b) for padding (#97, #107)

* Change version to 0.5
2017-06-13 19:30:27 -07:00
kost
f7e30344c5 pad the payload for AES encryption (16) (#92) 2017-05-07 11:32:52 -07:00
Daniel Høyer Iversen
f1d62380c9 Merge pull request #86 from RobSullivan/master
Python3.5 syntax changes
2017-04-26 11:09:57 +02:00
Robert Sullivan
babb3f83d3 Python3.5 syntax changes 2017-04-25 15:33:00 +01:00
Aydaen Lynch
d989c27d36 Add in AP Mode device setup for new Broadlink devices. (#53) 2017-04-22 12:48:02 -07:00
Ivan Martinez
5195856200 included sensors option 2017-04-22 12:42:32 -07:00
Ivan F. Martinez
de7c5c2a2a basic documentation for cli programs 2017-04-22 12:42:32 -07:00
Ivan Martinez
76dd4cfc70 command line programs to control broadlink devices 2017-04-22 12:42:32 -07:00
tobiaswaldvogel
846cc35366 More details about the data structure for IR and RF pulses (#58)
* Added more details to payload structure
2017-04-22 12:41:30 -07:00
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