Heatmiser Binding

Thomas E.-E edited this page Feb 9, 2014 · 4 revisions

feature overview

Installation

Setup intro

Linux and OS X

Windows

FreeBSD


Configuration

Automation*

User Interfaces

Persistence


Community

(link to openHAB forum)

Development


Bindings


Application Integration

Misc


Samples

A good source of inspiration and tips from users gathered over the years. Be aware that things may have changed since they were written and some examples might not work correctly.

Please update the wiki if you do come across any out of date information.

Binding configurations

Use case examples

Item definition examples

Sitemap definition examples

Collections of Rules on a single page

Single Rules

Scripts

Syntax highlighting for external editors


Release Notes

Clone this wiki locally

Documentation of the Heatmiser binding Bundle

Introduction

The Heatmiser binding allows you to control Heatmiser RS-422 network thermostats (also sold under other names). The binding communicates via TCP/IP to an RS-422 adaptor that links to the thermostats.

For installation of the binding, please see Wiki page Bindings.

Binding Configuration

The binding polls each thermostat that is configured in your items, at the refresh rate (as set in the cfg file - see below). It automatically detects the type of thermostats - this is not set in the items.

Refer to the example below to see what you need to include in your openhab.cfg file:

################################ Heatmiser Binding #####################################
#
# refresh interval in milliseconds (optional, defaults to 2000ms)
heatmiser:refresh

# Set the IP address for the Heatmiser interface
heatmiser:address=192.168.2.45

# Set the port number for the Heatmiser interface
heatmiser:port=1024

Item Binding Configuration

Item strings simply consist of two components - the thermostat address (as set in the thermostat), and the parameter within the thermostat. Some examples are below.

Switch  HallThermostat_Enable   "Hall Heating Enable  [%s]" { heatmiser="1:ONOFF" }
Number  HallThermostat_RoomTemp "Hall Heating Temperature [%.1f °C]"   { heatmiser="1:ROOMTEMP" }
Number  HallThermostat_SetTemp  "Hall Heating Setpoint    [%.1f °C]"   { heatmiser="1:SETTEMP" }
String  HallThermostat_HeatState    "Hall Heating State [%s]"   { heatmiser="1:HEATSTATE" }
Switch  HallThermostat_HWEnable "Hot Water Heating Enable  [%s]"    { heatmiser="1:WATERSTATE" }

The following parameters, and their associated item types are shown below. The R and RW in the description column indicate which parameters are read only (RO) or read/write (RW).

Parameter Type Supported Description
SETTEMP Number, String RW Temperature control setting
RUNMODE Number, String RW -
FROSTTEMP Number, String RW Frost temperature
ROOMTEMP Number, String RO Current room temperature
FLOORTEMP Number, String RO Floor temperature
HOLDTIME Switch, DateTime RO Current hold time (in minutes)
HOLIDAYTIME Switch, DateTime RO Holiday time remaining (in days)
HOLIDAYSET Number, Switch RW Sets the holiday time (in days)
HOLDMODE Switch RO Returns ON or OFF if the thermostat is in hold mode
HOLIDAYMODE Switch RO Returns ON or OFF if the thermostat is currently in holiday mode
WATERSTATE Switch, String RW Returns ON or OFF if the hot water is currently heating
HEATSTATE Switch, String RO Returns ON or OFF if the thermostat is currently heating
STATE Switch, String RO This is a consolidated thermostat state and maybe one of the following - OFF, ON, HOLD, HOLIDAY
ONOFF Switch, String RW Returns ON or OFF if the thermostat is enabled or not

Example Sitemap

Below is an example sitemap for a Heatmiser thermostat. This includes conditional visibility of items dependant on the thermostat state.

Frame label="Lounge Thermostat" {
    Switch item=LoungeThermostat_Enable label="Lounge Thermostat Enable"            
    Text item=LoungeThermostat_HeatState visibility=[LoungeThermostat_State==ON,LoungeThermostat_State==HOLD]
    Text item=LoungeThermostat_HolidayTime visibility=[LoungeThermostat_State==HOLIDAY]
    Setpoint item=LoungeThermostat_FrostTemp label="Lounge Frost Temperature [%d °C]" minValue=10 maxValue=18 step=1 visibility=[LoungeThermostat_State==HOLIDAY]
    Setpoint item=LoungeThermostat_SetTemp label="Lounge Setpoint [%d °C]" minValue=14 maxValue=25 step=1 visibility=[LoungeThermostat_State==ON,LoungeThermostat_State==HOLD]
    Text item=LoungeThermostat_FloorTemp valuecolor=[>28="red",>26.5="orange",>18="green", >16="orange", <=16="red"] 
    Text item=LoungeThermostat_RoomTemp  valuecolor=[>28="red",>26.5="orange",>18="green", >16="orange", <=16="red"]
    Setpoint item=LoungeThermostat_HolidaySet label="Lounge heating holiday days [%d]" minValue=0 maxValue=30 step=1
}