Heatmiser software scripts

Developed by Alex Thoukydides as a hobby activity, this software allows homeowners to objectively monitor how their heating system behaves and the effect of changing environmental conditions. The software is designed to communicate with Heatmiser's range of Wi-Fi thermostats and is released for free under the GPL open source licence so that others can use and modify it as they wish.

This project comprises Perl scripts to log data from Heatmiser's range of Wi-Fi thermostats to a MySQL database, and an HTML/JavaScript web interface for rendering charts of temperature, heating and hot water activity. The external temperature from the Met Office's DataPoint data feed can also be logged to the database and overlaid on the charts, avoiding the need to install an external temperature sensor for this purpose.

Monitor the effect of changing environmental conditions

The out-of-the-box functionality allows homeowners to objectively monitor how their heating system behaves and the effect of changing environmental conditions. This can highlight problems with the central heating, such as insufficient insulation or thermostatic valves that are poorly adjusted. It also assists with properly configuring the heating system, including choosing the appropriate period to switch it off when not required over the summer. This helps to improve comfort and reduce energy consumption.

Full source code is provided under the GPL open source license and the database schema is fully documented. Users are encouraged to customise and extend the functionality to meet their own requirements. For example, analysis of the historical performance could enable predictions about the heating system's behaviour, which when combined with DataPoint forecast data would enable more effective and efficient control that avoids using the central heating when the house is expected to warm up sufficiently on its own. One user has also proposed using tracking of his mobile phone's location to automatically turn on the heating when he leaves the office, so that the house is warm by the time he arrives home.

iPhone Day Winter iPhone Day Winter  Safari on an Apple iPhone 4S showing central heating activity (orange bars) over the course of a typical winter's day. The internal temperature (red line) generally follows the programmed 'comfort level' (solid blue line), with the thermostat using 'optimum start' (dotted blue line) to automatically start the heating earlier than programmed when a larger temperature rise is required. The internal temperature can be seen to drop more rapidly towards the end of the day when the external temperature (dashed black line) falls significantly.

iPad Week Summer iPad Week Summer  Safari on a 'new' iPad showing a week's worth of data with the central heating in frost protection mode (dotted blue line) for summer. The variation of the internal temperature (red line) with external conditions (dashed black line) is clearly apparent. The programmed 'comfort level' (solid blue line) shows the temperature that the heating would have attempted to achieve if it had been switched on, demonstrating that the heating is not required (although air conditioning would have been desirable!).

Chrome month winter Chrome month winter  Chrome on a Windows 7 PC showing a particularly cold winter month. The heating is enabled (orange bands) for longer and more frequently when the external temperature (dashed black line) is lower. The chart also highlights where the thermostat's 'hold' feature ('H' in a green circle) has been used to override the programmed target temperature.

User testimonials

The Heatmiser Wi-Fi scripts are a great companion for the Heatmiser thermostats - I now know exactly when the boiler has kicked in and why, and with the external temperature support the relationship between the inside temperature and outside temperature is easy to see. (Joseph Heenan)

For anyone interested, Heatmiser Wi-Fi is an awesome piece of homebrew code which helps log everything and makes it easy to optimise your settings. Plus it just looks damn cool. (Rich Pyke)

My earlier post on the Heatmiser PRT-TS Wi-Fi thermostat proved very popular and is the most commented article on this blog. When commenter Rich mentioned the heatmiser-wifi project, a set of Perl scripts that can be installed on a PC or Raspberry Pi to provide a full-featured web interface for the Heatmiser, I just had to give it a go. Happily the project's web interface instructions seem to work fine on the Pi without any changes. I have also set up logging and charting of external temperature (via the Met Office API). (Chris Barnes)

The protocol used by the iPhone app is documented, and essentially the same as the serial protocol that the company's equipment uses, and there are third party tools that work with it. For example, if you head over to Heatmiser Wi-Fi Project website you'll find some scripts that will log your temperature in a MySQL database, and plot graphs on a web page, which I've set up too, and work fine with the RF stat. Home hackers will be pleased to note that the protocol for controlling the thermostat is fully documented, and there are already open source projects that work with it  - setting up a perl script to log data and graph it was straightforward, and so too should be other ways of controlling the system. (Nigel Whitfield)

Just setup my @Raspberry_Pi to monitor my @HeatmiserUK thermostat. Thanks to @thouky for his heatmiser tools! (James Mulcahy)

The software has been developed as a hobby activity and is released for free under the GPL open source licence so that others can use and modify it as they wish.

More information and full documentation can be found on the developers website.

Last updated: 27 March 2014

Our products

Related products