1
0
mirror of https://github.com/mjg59/python-broadlink.git synced 2024-11-22 15:10:12 +01:00
Commit Graph

17 Commits

Author SHA1 Message Date
Felipe Martins Diel
0a9acab2b8
Make type hints compatible with Python 3.6 (#797) 2024-04-17 03:20:13 -03:00
Felipe Martins Diel
c4979562c8
Fix type hints (#794) 2024-04-17 02:49:13 -03:00
Felipe Martins Diel
247be74c33
Expose IR/RF conversion functions (#788)
* 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>
2024-04-10 22:51:41 -03:00
Ian Munsie
634370d878
Add ability to RF scan a specific frequency (#613)
* 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>
2024-04-09 15:40:00 -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
1a8ee21a34 Make better use of namespaces (#564)
Use namespaces for typing and exceptions.
2021-04-26 17:57:02 -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
39ee67bb98
Split the rm and rm4 classes into smaller classes (#529) 2021-02-16 18:14:11 -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
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
Kendell R
dfd3372c36 Add GH Actions (#470)
Add GitHub actions and run black.
2021-01-29 18:17:45 -03: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
5ef4124491 Remove legacy byte conversions 2020-09-20 17:11:14 -07:00
Felipe Martins Diel
08c020e597 Call Mr. Krueger 2020-09-20 02:10:18 -07:00