diff options
author | Peter Windridge <pete@windridge.org.uk> | 2018-03-18T22·03+0000 |
---|---|---|
committer | Matthew Garrett <mjg59-github@srcf.ucam.org> | 2018-03-18T22·03-0700 |
commit | 39cc64efcea723cdc5e97220bd345535f558bb8f (patch) | |
tree | 8d73f5285e24ca21ae78cbc6193d35e1611293f6 /setup.py | |
parent | 8754493951b887e850d93100898d6883443b124f (diff) |
Basic support for Hysen Heating Controller (dev type 0x4ead) (#138)
* 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
Diffstat (limited to 'setup.py')
-rw-r--r-- | setup.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/setup.py b/setup.py index c5c7e267d024..b982a11a0147 100644 --- a/setup.py +++ b/setup.py @@ -12,6 +12,9 @@ try: except ImportError as e: dynamic_requires = ['pycryptodome==3.4.11'] +# For Hysen thermostatic heating controller +dynamic_requires.append('PyCRC') + version = 0.6 setup( |