about summary refs log tree commit diff
path: root/setup.py
diff options
context:
space:
mode:
authorPeter Windridge <pete@windridge.org.uk>2018-03-18T22·03+0000
committerMatthew Garrett <mjg59-github@srcf.ucam.org>2018-03-18T22·03-0700
commit39cc64efcea723cdc5e97220bd345535f558bb8f (patch)
tree8d73f5285e24ca21ae78cbc6193d35e1611293f6 /setup.py
parent8754493951b887e850d93100898d6883443b124f (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.py3
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(