mirror of
https://github.com/mjg59/python-broadlink.git
synced 2024-11-10 18:00:12 +01:00
39cc64efce
* 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
40 lines
983 B
Python
40 lines
983 B
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import re
|
|
from setuptools import setup, find_packages
|
|
import sys
|
|
import warnings
|
|
|
|
try:
|
|
import pyaes
|
|
dynamic_requires = ["pyaes==1.6.0"]
|
|
except ImportError as e:
|
|
dynamic_requires = ['pycryptodome==3.4.11']
|
|
|
|
# For Hysen thermostatic heating controller
|
|
dynamic_requires.append('PyCRC')
|
|
|
|
version = 0.6
|
|
|
|
setup(
|
|
name='broadlink',
|
|
version=0.6,
|
|
author='Matthew Garrett',
|
|
author_email='mjg59@srcf.ucam.org',
|
|
url='http://github.com/mjg59/python-broadlink',
|
|
packages=find_packages(),
|
|
scripts=[],
|
|
install_requires=dynamic_requires,
|
|
description='Python API for controlling Broadlink IR controllers',
|
|
classifiers=[
|
|
'Development Status :: 4 - Beta',
|
|
'Intended Audience :: Developers',
|
|
'License :: OSI Approved :: MIT License',
|
|
'Operating System :: OS Independent',
|
|
'Programming Language :: Python',
|
|
],
|
|
include_package_data=True,
|
|
zip_safe=False,
|
|
)
|