* Add support for Broadlink SP4M-JP (0x756B) (#782)
* Add support for Luceco/BG Electrical A60 bulb (0x606D) (#766)
* Add support for Luceco EFCF60WSMT (0xA6EF) (#787)
* Add support for Broadlink WS4 (#792)
* Add support for Broadlink SP4D-US (0xA6F4) (#793)
* Add support for Tornado 16X SQ air conditioner
* Make Tornado a generic HVAC class
* Better names
* Clean up IntEnums
* Clean up encoders
* Fix indexes
* Improve set_state() interface
* Enumerate presets
* Rename state to power in get_ac_info()
* Paint it black
* Use CRC16 helper class
* Remove log messages
* Fix bugs
* Return state in set_state()
* Move IR duration<->Broadlink conversion down from CLI
* Fix --learn base64 to not crash with --durations
Also remove its b'...' wrapping.
* Fix IR/RF conversions
---------
Co-authored-by: William Grant <me@williamgrant.id.au>
* Add support for Broadlink SP4L-AU (0xA576) (#731)
* Add support for Broadlink RM mini 3 (0x27B7) (#751)
* Add support for Broadlink LB27 C1 (0x6488) (#752)
* Add support for Broadlink SP mini 3 (0x7549) (#753)
* Add ability to RF scan a specific frequency
This adds an optional parameter to find_rf_packet(), along with a
corresponding --rflearn parameter (defaulting to 433.92) to
broadlink_cli that specifies the frequency to tune to, rather than
requiring the frequency be found via sweeping. This is almost mandatory
for certain types of remotes that do not repeat their signals while the
button is held, and saves significant time when the frequency is known
in advance or when many buttons are to be captured in a row.
Additionally:
- A get_frequency() API is added to return the current frequency the
device is tuned to.
- A check_frequency_ex() API is added to perform functions of both
check_frequency() and get_frequency() in a single call.
- broadlink_cli --rfscanlearn will now report the current frequency at 1
second intervals during sweeping, and will report the frequency it
finally locks on to.
* Clean up remote.py
* Clean up broadlink_cli
* Update conditional
* Fix message
---------
Co-authored-by: Felipe Martins Diel <41558831+felipediel@users.noreply.github.com>
* Add support for RM4C mini (0x520D) (#694)
* Add support for SP4L-US (0x648C) (#707)
* Add support for RM4C mate (0x5211) (#709)
* Add support for RM4 mini (0x521C) (#710)
* Add support for LB1 (0x644B) (#717)
* Add support for Broadlink RM4 mini (0x5216) (#671)
* Add support for Broadlink RM4 pro 0x520B (#673)
* Add support for SP4L-UK 0xA569 (#677)
* Fixing typo in rm4pro device definitions (#682)
* Add support for Bestcon RM4C pro (0x5218) (#683)
* Add support for Broadlink RM4 TV mate (0x5212) (#684)
* Add support for Broadlink RM4 mini (0x520C) (#685)
* 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>
* 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