Heatmiser Binding - vpjuslin/openhab GitHub Wiki

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
}