1
0
Fork 0
Commit Graph

331 Commits

Author SHA1 Message Date
Felipe Martins Diel 2d863bd6c1
Rename the lb27r1 class to lb2 (#586) 2021-04-29 20:31:30 -03:00
Felipe Martins Diel 6a54803a36
Improve code quality (#585)
* Improve docstrings

* Fix line-too-long

* Disable unidiomatic-typecheck

* Move smart plugs to the top

* Use constants from const.py

* Run black
2021-04-29 19:51:22 -03:00
Felipe Martins Diel d48d1347a3
Move constants to const.py (#584) 2021-04-29 18:59:58 -03:00
Felipe Martins Diel e1f3b83efd Add support for Broadlink SP4L-EU (0xA5D3) (#582) 2021-04-26 17:57:02 -03:00
Felipe Martins Diel 49322ddaae Add support for Broadlink SP4L-CN (0x7568) (#577) 2021-04-26 17:57:02 -03:00
Felipe Martins Diel fc5c33ee97 Use the absolute position to read the lock status (#575) 2021-04-26 17:57:02 -03:00
Felipe Martins Diel 12fdf01631 Improve code quality (#572)
* Improve typing

* Use better names

* Clean up switch.py

* Remove unused import

* Run black

* Remove unnecessary comments

* Clean up climate.py
2021-04-26 17:57:02 -03:00
Felipe Martins Diel b77e803864 Use CamelCase for the Device class (#570) 2021-04-26 17:57:02 -03:00
Felipe Martins Diel 36b293bf05 Raise exceptions explicitly (#569) 2021-04-26 17:57:02 -03:00
Felipe Martins Diel 056434ab46 Add support for Broadlink RM4C pro (0x6184) (#568) 2021-04-26 17:57:02 -03:00
Felipe Martins Diel 67b674859f Segregate CRC16.get_table() from CRC16.calculate() (#567) 2021-04-26 17:57:02 -03:00
Felipe Martins Diel 4e1e690762 Encapsulate crc16() to avoid global (#566) 2021-04-26 17:57:02 -03:00
Felipe Martins Diel 86b5d0727c Improve CRC-16 function (#565)
* Rename calculate_crc16 to crc16

* Apply PEP-8 naming conventions

* Remove unnecessary import

* Accept any sequence type

* Remove unnecessary conversions

* Expose polynomial and initial value as kwargs

* Remove unnecessary bitwise operations

* Store the CRC-16 table for performance

* Add missing type hints

* Update docstring

* General improvements
2021-04-26 17:57:02 -03:00
Felipe Martins Diel 1a8ee21a34 Make better use of namespaces (#564)
Use namespaces for typing and exceptions.
2021-04-26 17:57:02 -03:00
Felipe Martins Diel 2198400ad6 Add support for Broadlink LB27 R1 (0xA4F4) (#557)
* Add support for Broadlink LB27 R1 (0xA4F4)

* Improve typing
2021-04-26 17:57:02 -03:00
Johnson Chin f3e4edcad4 Add support for Broadlink SP4L-UK (0x7587) (#561)
* Add new SP4L-UK type

* Switch: SP4 check power and nightlight to return as boolean

Co-authored-by: Felipe Martins Diel <41558831+felipediel@users.noreply.github.com>
2021-04-26 17:57:02 -03:00
Felipe Martins Diel de0cebc00f Add support for Broadlink SCB2 (0x6494) (#558) 2021-04-26 17:57:02 -03:00
Felipe Martins Diel d45c9d0850 Improve the CLI (#555)
* Add check humidity option

* Rename type to devtype

* Remove unnecessary try except clause

* Add commands to README.md
2021-04-26 17:57:01 -03:00
Andrew Berry 822b3c3266
Add a TROUBLESHOOTING doc with WiFi password notes (#563)
* Add a TROUBLESHOOTING doc with WiFi password notes

* Update TROUBLESHOOTING.md

Co-authored-by: Felipe Martins Diel <41558831+felipediel@users.noreply.github.com>
2021-04-11 21:41:07 -03:00
Felipe Martins Diel 9ff6b2d48e 0.17.0 2021-03-11 18:10:04 -03:00
Felipe Martins Diel 9eeee0deda
Bump cryptography from 2.6.1 to 3.2 (#553) 2021-03-11 18:07:56 -03:00
Felipe Martins Diel 335399ef2f
Add new devices to README.md (#552) 2021-03-11 07:36:20 -03:00
Felipe Martins Diel 7c0b4d529f
Improve exceptions (#551) 2021-03-11 04:33:14 -03:00
Felipe Martins Diel a11b7233c9
Improve repr(device) and str(device) (#550) 2021-03-11 02:51:29 -03:00
Felipe Martins Diel 90a43835e8
Reset connection ID and AES key before sending Client Key Exchange packets (#549) 2021-03-11 01:25:57 -03:00
Felipe Martins Diel 20b9eed6bc
Add a method to update device name and lock status (#537) 2021-03-11 01:00:10 -03:00
Felipe Martins Diel 5dee06c815
Make 0x2711 a sp2s device (#538) 2021-02-17 00:38:18 -03:00
Felipe Martins Diel 39ee67bb98
Split the rm and rm4 classes into smaller classes (#529) 2021-02-16 18:14:11 -03:00
Felipe Martins Diel 1b73cfce3a
Split the sp2 class into smaller classes (#521) 2021-02-16 16:38:10 -03:00
Felipe Martins Diel 008846ba41
Fix index (#533) 2021-02-04 17:16:17 -03:00
Felipe Martins Diel e12fd6f115 Make the type a class attribute (#530) 2021-01-29 18:22:58 -03:00
Felipe Martins Diel 586d44493e Change rm.find_rf_packet()'s return value to None (#527)
Change rm.find_rf_packet()'s return value to None. If there is no exception, it worked.
2021-01-29 18:22:58 -03:00
Felipe Martins Diel 21fa2a20bf Add a function to send ping packets (#526)
Rename 'host' attribute to 'address' (ping) (#528)
2021-01-29 18:22:58 -03:00
Felipe Martins Diel 9af3a3c56c Clean up device.py (#523)
* Clean up device.send_packet()

* Clean up device.auth()

* Clean up scan()
2021-01-29 18:22:58 -03:00
Felipe Martins Diel 82a20dbdda Update README.md
Add new models and fix syntax errors in the instructions.
2021-01-29 18:22:58 -03:00
jbsky 9a04f68212 Refactor the LB1 class (#517)
* Refactor the LB1 class

* General improvements

* Enumerate bulb color modes

* Clean up encoder

Co-authored-by: Felipe Martins Diel <felipe-diel@hotmail.com>
2021-01-29 18:22:58 -03:00
Felipe Martins Diel b33bbdbbcf Fix encryption errors (#505) 2021-01-29 18:17:45 -03:00
Felipe Martins Diel 448e3026df Filter unsupported features and convert sensor data to float (#495) 2021-01-29 18:17:45 -03:00
Felipe Martins Diel c3bb598e27 Timeout improvements (#464)
- Only start to count the timer inside the lock.
- Improve precision of the timeout option.
- Use a context manager for the connection.
- Remove SO_REUSEADDR option.

Amend: Revert retry_intvl (#506)
2021-01-29 18:17:45 -03:00
Felipe Martins Diel d7cbe304e0 Improve RM4 communication (#490) 2021-01-29 18:17:45 -03:00
Felipe Martins Diel 1b3fd16321 Fix MP1's check_power_raw() annotation (#485)
This method returns an integer.
2021-01-29 18:17:45 -03:00
Felipe Martins Diel bdc5432e2e Clamp the packet count between 0x8000 and 0xFFFF (#486) 2021-01-29 18:17:45 -03:00
Felipe Martins Diel bc6719dc2a Add new product ids
Add support for Broadlink RM4C mini (0x6539) (#476)

Add support for Broadlink RM4 pro (0x653C) (#472)

Add support for Broadlink RM4S (0x6364) (#475)

Add support for Broadlink MCB1 (0x756F) (#478)

Add support for Broadlink MCB1 (0xA56A) (#478)

Add support for Broadlink RM mini 3 (0x6508) (#479)

Add support for Efergy Ego (0x271D) (#481)

Add support for Broadlink SCB1E (0x5115) (#514)

Add support for Broadlink SCB1E (0x6113) (#488)

Add support for Broadlink SP4L-EU (0x618B) (#489)

Add support for Broadlink SP4L-UK (0xA589) (#491)

Add support for Broadlink RM3 mini (0x27d3) (#493)

Add support for Broadlink SP4L-AU (0x6489) (#498)

Add support for BG Electrical AHC/U-01 (0x51E2) (#497)

Add support for Broadlink MCB1 (0x6111) (#509)
2021-01-29 18:17:45 -03:00
Felipe Martins Diel 1ad468aefe Clean up get_energy() (#471)
Amend: Fix sp3s energy monitoring (#504)
2021-01-29 18:17:45 -03:00
Kendell R dfd3372c36 Add GH Actions (#470)
Add GitHub actions and run black.
2021-01-29 18:17:45 -03:00
Matthew Garrett b3542a8865 Bump version 2020-11-05 19:27:12 -08:00
Felipe Martins Diel 73dab5c3d5
Overload __str__ in the device class (#468) 2020-11-05 20:19:03 +01:00
Felipe Martins Diel 1d81ebd1d0 Rename SP4L to SP4 and SP4M to SP4B 2020-11-05 02:11:37 -08:00
Kendell R 79f4ad47ff Readme tweaks 2020-10-24 02:20:47 -07:00
Felipe Martins Diel 6f1f976e2f Update packet count in the authentication step 2020-10-24 02:19:01 -07:00