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
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
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
Felipe Martins Diel
6f1f976e2f
Update packet count in the authentication step
2020-10-24 02:19:01 -07:00
Felipe Martins Diel
1c5ba74f46
Fix shebangs
2020-10-24 02:17:41 -07:00
Felipe Martins Diel
957baf5447
Add support for Broadlink SP4M-US (0x648b) ( #447 )
2020-10-18 13:22:03 -07:00
Felipe Martins Diel
c8a5ea02fd
Add support for Broadlink RM4 mini (0x653a) ( #451 )
2020-10-18 00:51:43 -07:00
Felipe Martins Diel
0beccda833
Add support for RM mini 3 (0x27c7) ( #446 )
2020-10-18 00:50:31 -07:00
Felipe Martins Diel
e1fa54f874
Fix SP4 class ( #445 )
2020-10-18 00:50:15 -07:00
Felipe Martins Diel
a31d766d33
Add support for Broadlink SP mini 3 (0x7583) ( #444 )
2020-10-18 00:49:42 -07:00
Felipe Martins Diel
f11d825e6e
Add support for Broadlink SP mini 3 (0x7d11) ( #443 )
2020-10-18 00:48:25 -07:00
Felipe Martins Diel
16abdf850f
Improve device discovery ( #438 )
...
This update improves device discovery by broadcasting several hello messages and ignoring repeated responses.
2020-10-18 00:47:21 -07:00
Felipe Martins Diel
0dc0068d63
Improve code quality ( #428 )
...
* Fix lint errors
* Remove rm2 class
* Rename cs to conn
* Add __repr__ to device class
* Make get_devices() a dictionary
* Clean up alarm kit
* Add module doscstrings
* Fix MAC address conversion
2020-09-24 07:36:12 +02:00
Felipe Martins Diel
28fa72f962
Make bind() optional and implement a generator for device discovery ( #427 )
2020-09-23 07:43:56 +02:00