Skip to content

Update#1

Merged
ashcoding merged 41 commits into
ashcoding:masterfrom
mjg59:master
Jan 20, 2019
Merged

Update#1
ashcoding merged 41 commits into
ashcoding:masterfrom
mjg59:master

Conversation

@ashcoding
Copy link
Copy Markdown
Owner

No description provided.

jaxer and others added 30 commits December 25, 2017 00:34
Added new flags so it is possible to check device's current power state and to turn device on & off from CLI
Depend on pycryptodome instead of pycrypto
Default support for python3 in get_energy() for SP2
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
Find lacking for an option in one line to switch a state of SP2 switches
* few item in gendevice use `if` instead of `elif`

* passing `devtype` back to device
change `cli/broadlink_discovery` to display proper devtype
* 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
* implemented method to toggle nightlight on some SP3 devices

* implement nightlight feature to cli

* check_power/check_nightligh fixes for py2.7
Use explicit byte literals.

AES encryption padding broken with commit f7e3034 under Python 3.
Python 3 support when using pyaes (instead of Crypto.Cipher.AES) now works.
I picked one of these up cheap on ebay and it totally works.
Add the RM3 mini to the supported device list.
Add support for Clas Ohlsson OEM branded SP3
fixed Hysen thermostat ctor & added comments
check_power and check_nightlight did not check to see if the payload was already an int before calling ord.
check_power and check_nightlight did not check to see if the payload was already an int before calling ord.
Fixed a bug within the SP2 class.
Add energy option to broadlink_cli
It is now more readable, which should make it easier to parse the code
and add new devices.
@ashcoding ashcoding merged commit 311439f into ashcoding:master Jan 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.