# Heatmiser WiFi - python library and tool
[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/midstar/heatmiser_wifi?svg=true)](https://ci.appveyor.com/api/projects/status/github/midstar/heatmiser_wifi)
## Overview
A [Heatmiser](http://www.heatmiser.com/) WiFi Thermostat communication tool and library for python.
Supported Heatmiser Thermostats are DT, DT-E, PRT and PRT-E.
This release (v1.3.0) adds support for the PRT-HW WiFi thermostat, and adds the following functionality (for PRT-HW, maybe others):
* Setting timers for heating (should work for all models)
* Setting timers for hot water (for PRT-HW)
* Setting clock on thermostat with option offset (should work for all models)
The main class of the library is Heatmiser. It supports retrieval of all Thermostat parameters as a dictionary. It also supports setting of most (but not all) of the Thermostat parameters.
## Supported platforms
The application is written in Python and has been successfully tested with Python version 2.7 and 3.4.
For versions prior to v1.3.0 both Windows and Linux had been tested successfully. Mac OS X has not been tested, but should work as well. For this release v.1.3.0, only Linux has been tested, though I see no reason why it wouldn't work on the other platforms.
## Installation
Run
python -m pip install heatmiser_wifi
This will install both the library and the command line tool.
Alternatively, since this is just one python file, you can download heatmiser_wifi.py and include it in your project.
### Using libary
See how the library/class is used in the main() function of heatmiser_wifi.py.
### Using command line tool
To list all parameters write:
heatmiser_wifi -c <pincode> <themostat_ip_address> -l
It is also possible to read and write specific parameters. For instructions, write:
heatmiser_wifi -h
When setting triggers for heating / hot water use comma separated values for the trigger parameters
For heating triggers: Time1Hour,Time1Minute,Time1Temp,Time2Hour,Time2Minute,Time2Temp,Time3Hour,Time3Minute,Time3Temp,Time4Hour,Time4Minute,Time4Temp
For hot water triggers: Time1OnHour,Time1OnMinute,Time1OffHour,Time1OffMinute,Time2OnHour,Time2OnMinute,Time2OffHour,Time2OffMinute,Time3OnHour,Time3OnMinute,Time3OffHour,Time3OffMinute,Time4OnHour,Time4OnMinute,Time4OffHour,Time4OffMinute
Note the thermostat only allows minutes to be either 0 or 30
For example:
heatmiser_wifi -c <pincode> <themostat_ip_address> -w mon_triggers 7,30,20,9,0,5,16,0,22,22,0,5
heatmiser_wifi -c <pincode> <themostat_ip_address> -w tue_hw_triggers 7,30,8,0,9,0,9,30,13,30,14,30,22,0,23,0
When setting date / time, the parameter is an offset which added to the system date before sending to the thermostat. I use this to partially get round the limitation on the trigger minute only being 0 or 30
For example, this will set the thermostat clock to be 15 mins behind the system time:
heatmiser_wifi -c <pincode> <themostat_ip_address> -w date_time -15
### Author and license
This application is written by Joel Midstjärna and is licensed under the MIT License. Additional functionality and support for PRT-HW written by Iain Bullock
Raw data
{
"_id": null,
"home_page": "http://github.com/midstar/heatmiser_wifi",
"name": "heatmiser-wifi",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "heatmiser, climate, temperature, thermostat",
"author": "Joel Midstj\u00e4rna",
"author_email": "joel.midstjarna@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ef/3f/abd26b1ebf61c77311566d9b4f03f9f0ca35a1957f77330ef76a9d258ef6/heatmiser_wifi-1.3.0.tar.gz",
"platform": null,
"description": "# Heatmiser WiFi - python library and tool\r\n[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/midstar/heatmiser_wifi?svg=true)](https://ci.appveyor.com/api/projects/status/github/midstar/heatmiser_wifi)\r\n\r\n## Overview\r\nA [Heatmiser](http://www.heatmiser.com/) WiFi Thermostat communication tool and library for python.\r\n\r\nSupported Heatmiser Thermostats are DT, DT-E, PRT and PRT-E.\r\n\r\nThis release (v1.3.0) adds support for the PRT-HW WiFi thermostat, and adds the following functionality (for PRT-HW, maybe others):\r\n* Setting timers for heating (should work for all models)\r\n* Setting timers for hot water (for PRT-HW)\r\n* Setting clock on thermostat with option offset (should work for all models)\r\n\r\nThe main class of the library is Heatmiser. It supports retrieval of all Thermostat parameters as a dictionary. It also supports setting of most (but not all) of the Thermostat parameters. \r\n\r\n## Supported platforms\r\nThe application is written in Python and has been successfully tested with Python version 2.7 and 3.4.\r\n\r\nFor versions prior to v1.3.0 both Windows and Linux had been tested successfully. Mac OS X has not been tested, but should work as well. For this release v.1.3.0, only Linux has been tested, though I see no reason why it wouldn't work on the other platforms.\r\n\r\n## Installation\r\nRun \r\n\r\n python -m pip install heatmiser_wifi\r\n\r\nThis will install both the library and the command line tool.\r\n\r\nAlternatively, since this is just one python file, you can download heatmiser_wifi.py and include it in your project.\r\n \r\n### Using libary\r\n\r\nSee how the library/class is used in the main() function of heatmiser_wifi.py.\r\n\r\n### Using command line tool\r\n\r\nTo list all parameters write:\r\n\r\n heatmiser_wifi -c <pincode> <themostat_ip_address> -l \r\n\r\nIt is also possible to read and write specific parameters. For instructions, write:\r\n\r\n heatmiser_wifi -h\r\n\r\nWhen setting triggers for heating / hot water use comma separated values for the trigger parameters\r\n\r\nFor heating triggers: Time1Hour,Time1Minute,Time1Temp,Time2Hour,Time2Minute,Time2Temp,Time3Hour,Time3Minute,Time3Temp,Time4Hour,Time4Minute,Time4Temp\r\n\r\nFor hot water triggers: Time1OnHour,Time1OnMinute,Time1OffHour,Time1OffMinute,Time2OnHour,Time2OnMinute,Time2OffHour,Time2OffMinute,Time3OnHour,Time3OnMinute,Time3OffHour,Time3OffMinute,Time4OnHour,Time4OnMinute,Time4OffHour,Time4OffMinute\r\n\r\nNote the thermostat only allows minutes to be either 0 or 30\r\n\r\nFor example:\r\n \r\n heatmiser_wifi -c <pincode> <themostat_ip_address> -w mon_triggers 7,30,20,9,0,5,16,0,22,22,0,5\r\n heatmiser_wifi -c <pincode> <themostat_ip_address> -w tue_hw_triggers 7,30,8,0,9,0,9,30,13,30,14,30,22,0,23,0\r\n\r\nWhen setting date / time, the parameter is an offset which added to the system date before sending to the thermostat. I use this to partially get round the limitation on the trigger minute only being 0 or 30\r\n\r\nFor example, this will set the thermostat clock to be 15 mins behind the system time:\r\n\r\n heatmiser_wifi -c <pincode> <themostat_ip_address> -w date_time -15\r\n\r\n### Author and license\r\nThis application is written by Joel Midstj\u00c3\u00a4rna and is licensed under the MIT License. Additional functionality and support for PRT-HW written by Iain Bullock\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Library for communication with Heatmiser Wifi thermostats",
"version": "1.3.0",
"project_urls": {
"Bug Tracker": "https://github.com/midstar/heatmiser_wifi/issues",
"Homepage": "http://github.com/midstar/heatmiser_wifi",
"Source Code": "https://github.com/midstar/heatmiser_wifi"
},
"split_keywords": [
"heatmiser",
" climate",
" temperature",
" thermostat"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "49014e5901ab5e172e32bbabe3fafb4ac5373a4fb0e19ab92d1131f8ce06f536",
"md5": "441a8c9a3d429538180cef98ea3ff7dc",
"sha256": "2dd231be3741038f1a1db31446dc004e50329b9da22b48e812f88a15fe436482"
},
"downloads": -1,
"filename": "heatmiser_wifi-1.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "441a8c9a3d429538180cef98ea3ff7dc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 9730,
"upload_time": "2024-05-10T16:13:55",
"upload_time_iso_8601": "2024-05-10T16:13:55.681585Z",
"url": "https://files.pythonhosted.org/packages/49/01/4e5901ab5e172e32bbabe3fafb4ac5373a4fb0e19ab92d1131f8ce06f536/heatmiser_wifi-1.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ef3fabd26b1ebf61c77311566d9b4f03f9f0ca35a1957f77330ef76a9d258ef6",
"md5": "2cadb55d55939f85ded486d3a80ca229",
"sha256": "f8f4fdc7c940b840cfe5a594a8f86a5d178710084371f875f2fddfa01a285d4e"
},
"downloads": -1,
"filename": "heatmiser_wifi-1.3.0.tar.gz",
"has_sig": false,
"md5_digest": "2cadb55d55939f85ded486d3a80ca229",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10233,
"upload_time": "2024-05-10T16:13:57",
"upload_time_iso_8601": "2024-05-10T16:13:57.175662Z",
"url": "https://files.pythonhosted.org/packages/ef/3f/abd26b1ebf61c77311566d9b4f03f9f0ca35a1957f77330ef76a9d258ef6/heatmiser_wifi-1.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-10 16:13:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "midstar",
"github_project": "heatmiser_wifi",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"appveyor": true,
"tox": true,
"lcname": "heatmiser-wifi"
}