{ "info": { "author": "Herb Peyerl", "author_email": "hpeyerl+venstar@beer.org", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "# Python3 API for Venstar ColorTouch thermostats\n\nThe [Venstar ColorTouch thermostat](https://venstar.com/thermostats/colortouch/) is a WIFI thermostat with a REST api. This is a simple Python3 API for talking to it. The [API documents](http://developer.venstar.com/index.html) are required reading.\n\n## Limitations\n\nThe API does not implement the Venstar discovery protocol. It is assumed that you know the IP address or FQDN of your thermostat(s).\n\n## Testing\n\n```bash\n$ python venstarcolortouch 192.168.1.252\nTesting with IP: 192.168.1.252\nLogin successful. API: 5 Type: residential\nWas able to get info:{u'spacetemp': 67.0, u'schedulepart': 255, u'dehum_setpoint': 0, u'away': 0, u'cooltempmax': 99.0, u'cooltemp': 78.0, u'tempunits': 0, u'state': 1, u'schedule': 0, u'hum': 0, u'heattemp': 75.0, u'hum_setpoint': 36, u'fan': 0, u'hum_active': 99, u'heattempmax': 99.0, u'cooltempmin': 35.0, u'name': u'DebtRidge', u'mode': 1, u'heattempmin': 35.0, u'availablemodes': 0, u'fanstate': 1, u'setpointdelta': 2.0}\nName is MyHouse\nFan is 0\nHeat setpoint is 75.0\nCool setpoint is 78.0\n\nWas able to get sensors:{u'sensors': [{u'hum': 36, u'name': u'Thermostat', u'temp': 67.0}, {u'name': u'Outdoor', u'temp': 0.0}]}\nIndoor temp is 67.0 and humidity is 36\nRuntimes: {u'cool1': 0, u'cool2': 0, u'ts': 1429574400, u'fc': 0, u'heat2': 0, u'heat1': 0, u'aux2': 0, u'aux1': 0}\nPath is: /control\nset_control Success!\nHeat setpoint is 60.0\nCool setpoint is 90.0\n\nPath is: /control\nset_control Success!\nHeat setpoint is 75.0\nCool setpoint is 78.0\n```\n\n## Usage\n```Python\nclass VenstarColorTouch:\n def __init__(self, addr, timeout):\n```\n\nClass instantiation requires an IP address or hostname with an optional timeout.\n\n\n```Python\n ct = venstarcolortouch.VenstarColorTouch(a, timeout=5)\n\n if ct.login() is True:\n print(\"Login successful. API: {0} Type: {1}\".format(ct._api_ver,ct._type))\n```\n\nThe login() function does not really log in, but it does confirm communication and that the API version is recent enough.\n\n## API\n\nAPI calls use the following constants:\n\n```Python\nMODE_OFF\nMODE_HEAT\nMODE_COOL\nMODE_AUTO\nSTATE_IDLE\nSTATE_HEATING\nSTATE_COOLING\nSTATE_LOCKOUT\nSTATE_ERROR\nFAN_AUTO\nFAN_ON\nFANSTATE_OFF\nFANSTATE_ON\nTEMPUNITS_F\nTEMPUNITS_C\nSCHED_F\nSCHED_C\nSCHEDPART_MORNING\nSCHEDPART_DAY\nSCHEDPART_EVENING\nSCHEDPART_NIGHT\nSCHEDPART_INACTIVE\nAWAY_HOME\nAWAY_AWAY\n```\n\n### Functions\n\nThere are ```update_*``` functions which update local copies of various pieces of data. Then there are ```get_*``` functions for retrieving that data and finally ```set_*``` functions for changing writable settings.\n\n* ```update_sensors()``` - Update the state of indoor and outdoor temperature sensors.\n\n* ```get_runtimes()``` - Gather runtime data.\n\n* ```get_info()``` - returns a dict of information.\n
\n {u'spacetemp',\n u'schedulepart',\n u'dehum_setpoint',\n u'away',\n u'cooltempmax',\n u'cooltemp',\n u'tempunits',\n u'state',\n u'schedule',\n u'hum',\n u'heattemp',\n u'hum_setpoint',\n u'fan',\n u'hum_active',\n u'heattempmax',\n u'cooltempmin',\n u'name',\n u'mode',\n u'heattempmin',\n u'availablemodes',\n u'fanstate',\n u'setpointdelta'}\n \n\n ```python\n get_info(\"heattemp\")\n ```\n\n* ```get_thermostat_sensor(attr)``` Get a specific thermostat sensor's value.\n\n ```python\n get_thermostat_sensor(\"temp\")\n ```\n\n* ```get_outdoor_sensor(attr)``` Get an outdoor sensor's value.\n\n ```python\n get_outdoor_sensor(\"temp\")```\n\n* ```get_alerts()``` Get any alerts that are registered.\n\n* ```set_setpoints(heattemp, cooltemp)``` Set heattemp/cooltemp.\n\n* ```set_mode(mode)``` Set the thermostat mode.\n * MODE_OFF\n * MODE_HEAT\n * MODE_COOL\n * MODE_AUTO\n\n* ```set_fan(fan)``` Set the Fan mode.\n * FAN_AUTO\n * FAN_ON\n\n* ```set_tempunits(tempunits)``` Set degrees to either Celsius or Fahrenheit\n * TEMPUNITS_F\n * TEMPUNITS_C\n* ```set_away(away)``` Set either Home or Away schedule.\n * AWAY_HOME\n * AWAY_AWAY\n* ```set_schedule(schedule)``` Set Schedule On or Off.\n * 0 - off\n * 1 - on\n* ```set_hum_setpoint(hum_setpoint)``` Set humidifier Setpoint\n* ```set_dehum_setpoint(dehum_setpoint)``` Set dehumidifier Setpoint\n\n\n\n",
"description_content_type": "text/markdown",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/hpeyerl/venstarcolortouch",
"keywords": "thermostat",
"license": "MIT",
"maintainer": "Herb Peyerl",
"maintainer_email": "hpeyerl+venstar@beer.org",
"name": "venstarcolortouch",
"package_url": "https://pypi.org/project/venstarcolortouch/",
"platform": "",
"project_url": "https://pypi.org/project/venstarcolortouch/",
"project_urls": {
"Homepage": "https://github.com/hpeyerl/venstarcolortouch"
},
"release_url": "https://pypi.org/project/venstarcolortouch/0.9/",
"requires_dist": [
"requests (>=2.14.1)"
],
"requires_python": "",
"summary": "Interface Library for Venstar ColorTouch Thermostat API v5",
"version": "0.9"
},
"last_serial": 5610723,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "77894b4f17ddb22c906218511d5ef8ed",
"sha256": "b3dfd1d32274c5e48a25046a5b1ffed8beb6696cc1268866d8ec981278a38c8b"
},
"downloads": -1,
"filename": "venstarcolortouch-0.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "77894b4f17ddb22c906218511d5ef8ed",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 9359,
"upload_time": "2018-01-01T14:47:47",
"url": "https://files.pythonhosted.org/packages/ce/f7/d48eadbdd922166910f3279f8805bb4161c1092d0aabb88428ede8b5dacb/venstarcolortouch-0.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "874b5978f4e8b914feed5c3794c64a57",
"sha256": "fe9eb2adaebdedc941da0b24c437f8e4ea5a00e5bdb3a2d28147f9040e8aecd2"
},
"downloads": -1,
"filename": "venstarcolortouch-0.1.tar.gz",
"has_sig": false,
"md5_digest": "874b5978f4e8b914feed5c3794c64a57",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7173,
"upload_time": "2018-01-01T14:47:50",
"url": "https://files.pythonhosted.org/packages/df/1b/23ae8f0f42a3adfd4bb8296adb33e6c1e512f6d4701a3c847d6b33ede0fe/venstarcolortouch-0.1.tar.gz"
}
],
"0.2": [
{
"comment_text": "",
"digests": {
"md5": "c27c30c92860454c28840fe642fdb58a",
"sha256": "180315ba155d61bf8da8ca1ed0637a6fcbba33ba8e7c8133a4764f02255678f6"
},
"downloads": -1,
"filename": "venstarcolortouch-0.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "c27c30c92860454c28840fe642fdb58a",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 9820,
"upload_time": "2018-01-12T13:29:04",
"url": "https://files.pythonhosted.org/packages/cd/7f/ce050d84f940a22130b5fbda45bc9a56793b90cda0cd557ec75b1800db27/venstarcolortouch-0.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "f8fd17955b1d71146ac3beb434f51d74",
"sha256": "39e0f7767843f0730fb9fc2009e2d9d2deb40b43e06fe053ca8fa7c8753b6f83"
},
"downloads": -1,
"filename": "venstarcolortouch-0.2.tar.gz",
"has_sig": false,
"md5_digest": "f8fd17955b1d71146ac3beb434f51d74",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7654,
"upload_time": "2018-01-12T13:29:07",
"url": "https://files.pythonhosted.org/packages/29/8a/da949c2deccde7408681508dc3e40568462ab25967c1a77e7b85ea657bd2/venstarcolortouch-0.2.tar.gz"
}
],
"0.3": [
{
"comment_text": "",
"digests": {
"md5": "6d6c856f461e277c0606264d59381842",
"sha256": "8da2e8a92789ba7f4e49fea59660700bb98b531df5f920541d10cdd81e2b03c7"
},
"downloads": -1,
"filename": "venstarcolortouch-0.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "6d6c856f461e277c0606264d59381842",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 9893,
"upload_time": "2018-01-14T11:35:21",
"url": "https://files.pythonhosted.org/packages/7a/bf/1920172cb5004f9eca39f45063c2b95327d29fdde3644a4b09a285aca069/venstarcolortouch-0.3-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "1569e76053305b16bd1f45c7f643b0e2",
"sha256": "fc15b80fb940ebde4bd444c540ad3a9abdca50e4d181bf5f4820970c96eb19b8"
},
"downloads": -1,
"filename": "venstarcolortouch-0.3.tar.gz",
"has_sig": false,
"md5_digest": "1569e76053305b16bd1f45c7f643b0e2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7713,
"upload_time": "2018-01-14T11:35:22",
"url": "https://files.pythonhosted.org/packages/6f/34/58f1f49871157d3bb37fa714ccf71babf7d683997c5ed62ca9e4b080594e/venstarcolortouch-0.3.tar.gz"
}
],
"0.4": [
{
"comment_text": "",
"digests": {
"md5": "00d974474568ce0a9bfb3a7342f8fa48",
"sha256": "8f19ef5eab66e2d77b32717dd6cc266e504bdcaf97903db84a460caab2831040"
},
"downloads": -1,
"filename": "venstarcolortouch-0.4-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "00d974474568ce0a9bfb3a7342f8fa48",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 10022,
"upload_time": "2018-01-16T03:29:39",
"url": "https://files.pythonhosted.org/packages/c3/c0/8ab00e462f26d1f6b016b47479530bed32acde013692ab67fbff68ca5e1d/venstarcolortouch-0.4-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c84490c65d366ebeec30f0480cd8ba7e",
"sha256": "272f04b219074221d936be8240df246c48b79f3aff6a79b4c0daa10d23e24930"
},
"downloads": -1,
"filename": "venstarcolortouch-0.4.tar.gz",
"has_sig": false,
"md5_digest": "c84490c65d366ebeec30f0480cd8ba7e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7839,
"upload_time": "2018-01-16T03:29:40",
"url": "https://files.pythonhosted.org/packages/be/2c/9997b6a6dc990784465411409821f6e609b43ad55e5e365f7b3d61d51cec/venstarcolortouch-0.4.tar.gz"
}
],
"0.5": [
{
"comment_text": "",
"digests": {
"md5": "0a4a43163637be373020b1f4d972ca6c",
"sha256": "d73dce0c24abd456bbc1af69e91f7877a9300162486ab00a6451f9d5d15d4e57"
},
"downloads": -1,
"filename": "venstarcolortouch-0.5-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "0a4a43163637be373020b1f4d972ca6c",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 10020,
"upload_time": "2018-01-16T12:03:54",
"url": "https://files.pythonhosted.org/packages/9b/d5/77c3409156e1c26eda1747bd28a8b11088ff39d5e4ee94301861327406bd/venstarcolortouch-0.5-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "78063a3e2b670baf6a4b6bce29f182e9",
"sha256": "09c9db8c6d10f96803282f729908aa0a05e5e058975516d12ac3f0463a967526"
},
"downloads": -1,
"filename": "venstarcolortouch-0.5.tar.gz",
"has_sig": false,
"md5_digest": "78063a3e2b670baf6a4b6bce29f182e9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7844,
"upload_time": "2018-01-16T12:03:56",
"url": "https://files.pythonhosted.org/packages/e5/88/3a833b06a12a58c6c57e75240bf5af6fadc3f21b3a7c93627983d0c1bb0c/venstarcolortouch-0.5.tar.gz"
}
],
"0.6": [
{
"comment_text": "",
"digests": {
"md5": "33907d0b7ab074d5afaecf5067c2c0fe",
"sha256": "0f7e5eaceff1850ae83f5aad39b72a4d2d8490d4b84a6cf68ef881f2cd83cbd3"
},
"downloads": -1,
"filename": "venstarcolortouch-0.6-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "33907d0b7ab074d5afaecf5067c2c0fe",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 10049,
"upload_time": "2018-01-28T23:32:45",
"url": "https://files.pythonhosted.org/packages/63/a0/01185c2e2300777c6eed7ab3ddba9211b9e55ae1c0dc6f6be4323c283ec3/venstarcolortouch-0.6-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "32ae76a4e02eff44e7a4b2ce58dc3f38",
"sha256": "3863abc099228f6300a7b03e4eb2e36e3a079b3c643828fbcbe8067d51bae1cf"
},
"downloads": -1,
"filename": "venstarcolortouch-0.6.tar.gz",
"has_sig": false,
"md5_digest": "32ae76a4e02eff44e7a4b2ce58dc3f38",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7874,
"upload_time": "2018-01-28T23:32:47",
"url": "https://files.pythonhosted.org/packages/b6/ed/6b975fcd5857217692be5e69489af2b62936d21fcf1cee538d2c52c7fb12/venstarcolortouch-0.6.tar.gz"
}
],
"0.7": [
{
"comment_text": "",
"digests": {
"md5": "cbad06bcbc372345027706f4ea13e0ad",
"sha256": "bf40e895e5162dfc0446ba006ca737734b9fb3cf26281ce148a7cfbe476b3f60"
},
"downloads": -1,
"filename": "venstarcolortouch-0.7-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "cbad06bcbc372345027706f4ea13e0ad",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 10357,
"upload_time": "2018-10-06T12:43:38",
"url": "https://files.pythonhosted.org/packages/59/54/e299b53197d7c8398335e09c2fe34605849a544abea722d8924616519de3/venstarcolortouch-0.7-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "862b1e27796b0954dfaa1be721521392",
"sha256": "6577a6eff6b4e42ad8615de2cbbc74e9e30d292befe56bc723aaf99f01f0a0af"
},
"downloads": -1,
"filename": "venstarcolortouch-0.7.tar.gz",
"has_sig": false,
"md5_digest": "862b1e27796b0954dfaa1be721521392",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8611,
"upload_time": "2018-10-06T12:43:40",
"url": "https://files.pythonhosted.org/packages/58/23/eec4031a43fbbedf0df84627b9dac7ebdc8c86ebc5ea994470bcafdd47c5/venstarcolortouch-0.7.tar.gz"
}
],
"0.8": [
{
"comment_text": "",
"digests": {
"md5": "39b1ce9488eb129c893084b9774a978e",
"sha256": "c5e3901466c54fcc740f01912dee4fd4cecc7b22f1f13a05278281ae42bba403"
},
"downloads": -1,
"filename": "venstarcolortouch-0.8-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "39b1ce9488eb129c893084b9774a978e",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 7750,
"upload_time": "2019-07-21T13:23:27",
"url": "https://files.pythonhosted.org/packages/5e/c8/3ffcdd6efb021acd39189c65fcaa916cbb50c3e42412a109d6853b5a99a1/venstarcolortouch-0.8-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "86650a724e88cccc3d233a471a500323",
"sha256": "324e795b0961de66909afe781f9649bda853e2b1ceeb6aaf1ff149e0ffc1610d"
},
"downloads": -1,
"filename": "venstarcolortouch-0.8.tar.gz",
"has_sig": false,
"md5_digest": "86650a724e88cccc3d233a471a500323",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8228,
"upload_time": "2019-07-21T13:23:28",
"url": "https://files.pythonhosted.org/packages/7a/e9/d0e2fec26bb17b04797fcd45d64de448b5df80d75820a734267fc65aae6d/venstarcolortouch-0.8.tar.gz"
}
],
"0.9": [
{
"comment_text": "",
"digests": {
"md5": "9fa4f562ebdad4d025a723bed495b8c2",
"sha256": "7ee033c70b16b44c15c9a7f63ce3cfd8ce5bab21021a44fbc2ff0f9d209429a7"
},
"downloads": -1,
"filename": "venstarcolortouch-0.9-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "9fa4f562ebdad4d025a723bed495b8c2",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 7699,
"upload_time": "2019-07-31T00:10:07",
"url": "https://files.pythonhosted.org/packages/39/6e/9dba3b5d4b048e835ad69445cfb4da436ea39c3666a599d7ddb72d173452/venstarcolortouch-0.9-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5bff3a5bb1004a58fbe138fc581b6af7",
"sha256": "c90cf6aab97890908d5152db5878e675b51895503496d3c1d2f8d6c4360a3771"
},
"downloads": -1,
"filename": "venstarcolortouch-0.9.tar.gz",
"has_sig": false,
"md5_digest": "5bff3a5bb1004a58fbe138fc581b6af7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8203,
"upload_time": "2019-07-31T00:10:09",
"url": "https://files.pythonhosted.org/packages/27/cf/52fcfcb62d5b276939dc412a9be978bedbbf9aef4ef8fb7f4492f4057b3e/venstarcolortouch-0.9.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "9fa4f562ebdad4d025a723bed495b8c2",
"sha256": "7ee033c70b16b44c15c9a7f63ce3cfd8ce5bab21021a44fbc2ff0f9d209429a7"
},
"downloads": -1,
"filename": "venstarcolortouch-0.9-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "9fa4f562ebdad4d025a723bed495b8c2",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 7699,
"upload_time": "2019-07-31T00:10:07",
"url": "https://files.pythonhosted.org/packages/39/6e/9dba3b5d4b048e835ad69445cfb4da436ea39c3666a599d7ddb72d173452/venstarcolortouch-0.9-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5bff3a5bb1004a58fbe138fc581b6af7",
"sha256": "c90cf6aab97890908d5152db5878e675b51895503496d3c1d2f8d6c4360a3771"
},
"downloads": -1,
"filename": "venstarcolortouch-0.9.tar.gz",
"has_sig": false,
"md5_digest": "5bff3a5bb1004a58fbe138fc581b6af7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8203,
"upload_time": "2019-07-31T00:10:09",
"url": "https://files.pythonhosted.org/packages/27/cf/52fcfcb62d5b276939dc412a9be978bedbbf9aef4ef8fb7f4492f4057b3e/venstarcolortouch-0.9.tar.gz"
}
]
}