Age | Commit message (Collapse) | Author | Files | Lines |
|
* Revert adler32
* Fix checksum
|
|
|
|
|
|
|
|
Due to the lack of a parenthesis, the packets were getting 16 bytes larger than necessary.
|
|
* Removed PyCRC as dependency; implemented CRC16 directly
* replace crc16 with integrated function
* Added self to calculate crc
|
|
|
|
* Add support for RM4 0x62bc
* Fix device name
|
|
|
|
* Add temperature and humidity reading for RM4 Mini
* Change divider for tem and humi (RM4 mini)
|
|
|
|
* Add support for 0x5f36 devices
This type of device requires a header in the payload. The rest is the same.
* Improve request header assignment
* Change code sending header
I just found out that this device uses a different header for sending codes. This update addresses this issue.
* Improve authentication
Use the error code to check if the authentication was successful.
* Use default value when devtype is None
* Use generic remote type if devtype is None
* Extend support to RM4 series
I just realized that RM4 devices use the same header. I will take the opportunity to extend support to these devices as well.
* Add device type 0x62be and create rm4 class
The rm4 class will improve code scalability. Just add the RM4 type to this class and it will just work.
* Remove comma
|
|
* Fix new RM mini3
Some little change
* Fix new RM mini3
Some little change
Co-authored-by: Daniel Høyer Iversen <mail@dahoiv.net>
|
|
Co-authored-by: Kja64 <Ken@lkv20.dk>
|
|
I have a 0x27de RM Mini 3, as inspired by https://github.com/lprhodes/broadlinkjs-rm/blob/master/index.js, I added the identification and python-broadlink would handle it properly.
|
|
* Fix CBC mode padding and use adler32 for checksums
* Change line order
This change comes to improve the readability of the code.
* Use zero-padding for CBC mode
|
|
|
|
|
|
* remove support for pyaes
* remove support for pyaes
* remove support for pyaes
|
|
On some machines, resolving the local hostname results in a loopback IP
address (127.0.0.0/8). This breaks discovery. In these situations, fall
back to the old IP address lookup logic that was removed on commit 790edb9.
|
|
|
|
|
|
* Use cryptography instad of pycryptodome
* Use cryptography instad of pycryptodome
|
|
|
|
|
|
|
|
add new device: TMall OEM SPMini3
|
|
|
|
|
|
# Conflicts:
# README.md
# broadlink/__init__.py
# cli/broadlink_cli
|
|
It returns different codes for check and checknl.
|
|
It is now more readable, which should make it easier to parse the code
and add new devices.
|
|
check_power and check_nightlight did not check to see if the payload was already an int before calling ord.
|
|
fixed Hysen thermostat ctor & added comments
|
|
|
|
|
|
Use explicit byte literals.
AES encryption padding broken with commit f7e30344c5748e37924c8a4f28522c2bc99a52ee under Python 3.
Python 3 support when using pyaes (instead of Crypto.Cipher.AES) now works.
|
|
* implemented method to toggle nightlight on some SP3 devices
* implement nightlight feature to cli
* check_power/check_nightligh fixes for py2.7
|
|
* Initial support for Hysen heating controller device. Only gets current temperature.
* Add switch_to_auto() to put the controller in (pre-programmed) timed mode
* Add set_temp() to manually set temperature. Now requires PyCRC (payload needs modbus CRC16)
* Remove test script
* Get current timer schedule
* Get much more data from device
* Add PyCRC to install_requires setup.py
* Rewrite based on better understanding. Allow setting schedule and changing 'loop mode'
* Add set_time function
* Support advanced settings and perform CRC check on responses
* Explain remaining unknowns for Hyson thermostat
The room_temp_adj (or simply 'adj') only applies to the room_temp. It's limited to -5.0..+5.0, but uses a 2 byte data type.
This leads to the assumption that external_temp could also use this data type, maybe for showing temperatures below 0 - but I cannot test this currently. Maybe I have to place it near a fridge to confirm.
* Fix get_temp and add get_external_temp for Hysen
Again: maybe payload[17] also belongs to the external temperature...
* remove comment about first 2 bytes and raise error if CRC check on response fails
* Remove comment about guessed meaning of unknown
Just confirmed, that lowest outside temp is 0. So it seems to only need 1 byte, as room temp does.
* add ability to toogle hysen device power
Turn display power on/off
* Update set_power() to support remote_lock for Hysen
Sorry, there was still one thing missing: set/unset remote_lock.
I captured again and changed the set_power accordingly.
* fix comments
|
|
* few item in gendevice use `if` instead of `elif`
* passing `devtype` back to device
change `cli/broadlink_discovery` to display proper devtype
|
|
If both Crypto and pyaes are installed 'pyaes' is in sys.modules(), but as it is not imported (see top) it's not available.
Fix for #128
|
|
Default support for python3 in get_energy() for SP2
|
|
Pro PP
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|