Felipe Martins Diel
70180cfbc6
Merge branch 'master' into dev
2022-03-19 19:37:31 -03:00
Steven Dodd
2b70440786
Add support for S3 Hub and LC-1 (1,2&3 gang) light switches ( #654 )
...
* https://github.com/mjg59/python-broadlink/issues/647
* Added get_state(did) and update documentation
* Fixed pwr3 set_state
* Added get_subdevices()
* Cleaned up get_subdevices
* Updated S3 documentation
* Added device id 0xA59C:("S3", "Broadlink")
* Improve logic of get_subdevices()
Prevents infinite loop.
* Black
* Move s3 closer to s1c
* Update README.md
Co-authored-by: Felipe Martins Diel <41558831+felipediel@users.noreply.github.com>
2022-03-19 19:31:14 -03:00
Felipe Martins Diel
3bdb6dfb92
Merge new product ids into master ( #667 )
...
* Add support for Broadlink LB26 R1 (0x644E) (#636 )
* Add support for Broadlink LB26 R1 (0x644E)
* Add Broadlink LB26 R1 to README.md
* Add missing device codes for LB27 R1 Smart Bulbs (#644 )
These are two missing codes.
This closes issue #639
* Add support for Broadlink RM4 pro (0x5213) (#649 )
* Add support for Broadlink RM4 TV mate (0x5209) (#655 )
* Move 0x644C and 0x644E to the LB1 class (#666 )
Co-authored-by: Mathew Verdouw <mathew@vtc.com.au>
2022-03-19 15:28:54 -03:00
Felipe Martins Diel
f2a582b8f9
Add support for Broadlink MP1 with power meter ( #631 )
2021-10-18 15:59:47 -03:00
Felipe Martins Diel
9873af9bc4
Standardize ip_address option ( #630 )
2021-10-18 14:19:41 -03:00
Felipe Martins Diel
b596984b44
Add ip_address option to setup() ( #628 )
...
* Add ip_address option to setup()
* Update README.md
2021-10-18 13:42:32 -03:00
Felipe Martins Diel
26ee3192d9
Change the type and model of the hysen class ( #627 )
2021-10-17 13:25:00 -03:00
Felipe Martins Diel
62f81bc281
Add support for Broadlink SCB1E (0xA56B) ( #623 )
2021-10-17 05:36:42 -03:00
1UPNuke
ca1634575e
Add support for Clas Ohlson SL-2 E14 (0x6065) ( #600 )
2021-09-12 16:55:08 -03:00
Felipe Martins Diel
a84a628d1c
Add support for Broadlink RM mini 3 (0x27DC) ( #594 )
2021-05-15 15:06:38 -03:00
Felipe Martins Diel
3f92850a5f
Add support for Broadlink SP4L-EU (0xA56C) ( #593 )
2021-05-11 17:25:22 -03:00
Felipe Martins Diel
bc44166702
Refactor SUPPORTED_TYPES ( #592 )
2021-05-06 14:52:11 -03:00
Felipe Martins Diel
1ae12e7d1c
Remove local_ip_address option from hello() ( #591 )
2021-05-03 17:34:22 -03:00
Felipe Martins Diel
c6390924bf
Add support for Broadlink SP4L-AU (0x757B) ( #590 )
2021-05-03 16:02:54 -03:00
Felipe Martins Diel
b43b296ff3
Add support for Broadlink RM mini 3 (0x6507) ( #589 )
2021-05-01 15:05:31 -03:00
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
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
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