Skip to content

Novelan Luxtronic heat pump binding

Benjamin edited this page Oct 13, 2016 · 2 revisions

Documentation of the Novelan/Luxtronic heat pump binding Bundle


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

This binding was originally created for the Novelan heat pump. Since the Novelan control unit is based on the Luxtronic 2 contol unit of Alpha Innotec, this binding should work with all heat pumps that use this typ of controller.


The whole functionality was reverse engineered via tcpdump, so use it at your own risk. 


The heat pump bundle connects to your heat pump via network. Make sure your heat pump is connected to your network and the network settings are configured. To excess the network settings go in the heat pump Service menu -> system control -> IP address.

Generic Item Binding Configuration

openhab.cfg file (in the folder '${openhab_home}/configurations').

######################## Novelan/Luxtronic heat pump binding ###########################
# IP address of the heat pump to connect to

# refresh inverval in milliseconds (optional, defaults to 60000)

# port number of the heat pump to connect to (optional, defaults to 8888)

Please be aware that from firmware version 1.73, Alpha Innotec has changed the port to 8889!

Item Binding Configuration

The binding configurations format is simple and looks like this:


where <eventType> is one of the following values:

<eventType> Item Type Meaning
temperature_outside Number the measured temperature by the outside sensor
temperature_outside_avg Number the average measured temperature by the outside sensor
temperature_return Number the temperature returned by floor heating
temperature_reference_return Number the reference temperature of the heating water
temperature_supplay Number the temperature sent to the floor heating
temperature_servicewater_reference Number the reference temperature of the servicewater
temperature_servicewater Number the temperature of the servicewater
state String contains the time of the state and the state; Possible states are error, running, stoped, defrosting
extended_state String contains the time of the state and the state; Possible states are error, heating, standby, switch-on delay, switching cycle blocked, provider lock time, service water, screed heat up, defrosting, pump flow, desinfection, cooling, pool water, heating ext., service water ext., flow monitoring, ZWE operation
temperature_solar_collector Number the temperature of the sensor in the solar collector
temperature_hot_gas Number
temperature_probe_in Number temperature flowing to probe head
temperature_probe_out Number temperature coming from probe head
temperature_mk1 Number
temperature_mk1_reference Number
temperature_mk2 Number
temperature_mk2_reference Number
temperature_external_source Number
hours_compressor1 String operating hours of compressor one
starts_compressor1 Number total starts of compressor one
hours_compressor2 String operating hours of compressor two
starts_compressor2 Number total starts of compressor two
temperature_out_external Number
hours_zwe1 String
hours_zwe2 String
hours_zwe3 String
hours_heatpump String operating hours of heatpump
hours_heating String operating hours of heating
hours_warmwater String operating hours creating warm water
hours_cooling String operating hours of cooling
thermalenergy_heating Number total energy for heating in KWh
thermalenergy_warmwater Number total energy for creating warm water in KWh
thermalenergy_pool Number total energy for heating pool in KWh
thermalenergy_total Number sum of all total energy in KWh
massflow Number
temperature_solar_storage Number the temperature of the solar storage
heating_operation_mode Number operation mode (0="Auto", 1="Zuheizer", 2="Party", 3="Ferien", 4="Aus")
heating_temperature Number heating curve offset
warmwater_operation_mode Number (0="Auto", 1="Zuheizer", 2="Party", 3="Ferien", 4="Aus")
warmwater_temperature Number target temperature for warm water
cooling_operation_mode Number (1="Auto", 0="Off")
cooling_release_temperature Number cooling release temeprature
cooling_inlet_temperature Number cooling inlet temeprature
cooling_start_hours Number cooling start after hours
cooling_stop_hours Number cooling stop after hours

As a result, your lines in the items file might look like the following:

Number HeatPump_Temperature_1   "Wärmepumpe Außentemperatur [%.1f °C]"   <temperature> (gHeatpump) { novelanheatpump="temperature_outside" }
Number HeatPump_Temperature_2   "Rücklauf [%.1f °C]"  <temperature> (gHeatpump) { novelanheatpump="temperature_return" }
Number HeatPump_Temperature_3   "Rücklauf Soll [%.1f °C]" <temperature> (gHeatpump) { novelanheatpump="temperature_reference_return" }
Number HeatPump_Temperature_4   "Vorlauf [%.1f °C]"    <temperature> (gHeatpump) { novelanheatpump="temperature_supplay" }
Number HeatPump_Temperature_5   "Brauchwasser Soll [%.1f °C]"  <temperature> (gHeatpump) { novelanheatpump="temperature_servicewater_reference" }
Number HeatPump_Temperature_6   "Brauchwasser Ist [%.1f °C]"   <temperature> (gHeatpump) { novelanheatpump="temperature_servicewater" }
Number HeatPump_Temperature_7   "Solarkollektor [%.1f °C]" <temperature> (gHeatpump) { novelanheatpump="temperature_solar_collector" }
Number HeatPump_Temperature_8   "Solarspeicher [%.1f °C]"  <temperature> (gHeatpump) { novelanheatpump="temperature_solar_storage" }
String HeatPump_State   "Status [%s]"   <temperature> (gHeatpump) { novelanheatpump="state" }

//new since 1.3
Number HeatPump_Retrun_External     "Rücklauf Extern [%.1f °C]"   <temperature> (gHeatpump) { novelanheatpump="temperature_out_external" } // return external
Number HeatPump_Hot_Gas     "Temperatur Heissgas [%.1f °C]"    <temperature> (gHeatpump) { novelanheatpump="temperature_hot_gas" } // return hot gas
Number HeatPump_Outside_Avg     "mittlere Aussentemperatur [%.1f °C]"  <temperature> (gHeatpump) { novelanheatpump="temperature_outside_avg" } 
Number HeatPump_Probe_in    "Sondentemperatur Eingang [%.1f °C]"   <temperature> (gHeatpump) { novelanheatpump="temperature_probe_in" } 
Number HeatPump_Probe_out   "Sondentemperatur Ausgang [%.1f °C]"   <temperature> (gHeatpump) { novelanheatpump="temperature_probe_out" } 
Number HeatPump_Mk1     "Vorlauftemperatur MK1 IST [%.1f °C]"  <temperature> (gHeatpump) { novelanheatpump="temperature_mk1" } 
Number HeatPump_Mk1_Reference   "Vorlauftemperatur MK1 SOLL [%.1f °C]" <temperature> (gHeatpump) { novelanheatpump="temperature_mk1_reference" } 
Number HeatPump_Mk2     "Vorlauftemperatur MK2 IST [%.1f °C]"  <temperature> (gHeatpump) { novelanheatpump="temperature_mk2" } 
Number HeatPump_Mk2_Reference   "Vorlauftemperatur MK2 SOLL [%.1f °C]" <temperature> (gHeatpump) { novelanheatpump="temperature_mk2_reference" } 
Number HeatPump_External_Source     "Temperatur externe Energiequelle [%.1f °C]"   <temperature> (gHeatpump) { novelanheatpump="temperature_external_source" } 
String HeatPump_Hours_Compressor1   "Betriebsstunden Verdichter1 [%s]"  <clock> (gHeatpump) { novelanheatpump="hours_compressor1" } 
Number HeatPump_Starts_Compressor1  "Verdichter 1 [%.1f]"   <clock> (gHeatpump) { novelanheatpump="starts_compressor1" } 
String HeatPump_Hours_Compressor2   "Betriebsstunden Verdichter2 [%s]"  <clock> (gHeatpump) { novelanheatpump="hours_compressor2" } 
Number HeatPump_Starts_Compressor2  "Verdichter 2 [%.1f]"   <clock> (gHeatpump) { novelanheatpump="starts_compressor2" } 
String HeatPump_Hours_Zwe1  "Betriebsstunden ZWE1 [%s]" <clock> (gHeatpump) { novelanheatpump="hours_zwe1" }
String HeatPump_Hours_Zwe2  "Betriebsstunden ZWE2 [%s]" <clock> (gHeatpump) { novelanheatpump="hours_zwe2" }
String HeatPump_Hours_Zwe3  "Betriebsstunden ZWE3 [%s]" <clock> (gHeatpump) { novelanheatpump="hours_zwe3" }
String HeatPump_Hours_Heatpump  "Betriebsstunden [%s]"  <clock> (gHeatpump) { novelanheatpump="hours_heatpump" } 
String HeatPump_Hours_Heating   "Betriebsstunden Heizung [%s]"  <clock> (gHeatpump) { novelanheatpump="hours_heating" }
String HeatPump_Hours_Warmwater "Betriebsstunden Brauchwasser [%s]" <clock> (gHeatpump) { novelanheatpump="hours_warmwater" }
String HeatPump_Hours_Cooling   "Betriebsstunden Kuehlung [%s]" <clock> (gHeatpump) { novelanheatpump="hours_cooling" }
Number HeatPump_Thermalenergy_Heating   "Waermemenge Heizung [%.1f KWh]"    <energy> (gHeatpump) { novelanheatpump="thermalenergy_heating" }
Number HeatPump_Thermalenergy_Warmwater     "Waermemenge Brauchwasser [%.1f KWh]"   <energy> (gHeatpump) { novelanheatpump="thermalenergy_warmwater" }
Number HeatPump_Thermalenergy_Pool  "Waermemenge Schwimmbad [%.1f KWh]" <energy> (gHeatpump) { novelanheatpump="thermalenergy_pool" }
Number HeatPump_Thermalenergy_Total     "Waermemenge gesamt seit Reset [%.1f KWh]"  <energy> (gHeatpump) { novelanheatpump="thermalenergy_total" }
Number HeatPump_Massflow    "Massentrom [%.1f L/h]" <energy> (gHeatpump) { novelanheatpump="massflow" }
String HeatPump_State   "Status [%s]"   <temperature> (gHeatpump) { novelanheatpump="extended_state" }

//new since 1.7
Number HeatPump_heating_operation_mode   "Heizung Betriebsart [%.0f]"  (gHeatpump) { novelanheatpump="heating_operation_mode" }
Number HeatPump_heating_temperature   "Heizung Temperatur [%.1f]"  (gHeatpump) { novelanheatpump="heating_temperature" }
Number HeatPump_warmwater_operation_mode   "Warmwasser Betriebsart [%.0f]"  (gHeatpump) { novelanheatpump="warmwater_operation_mode" }
Number HeatPump_warmwater_temperature   "Warmwasser Temperatur [%.1f]"  (gHeatpump) { novelanheatpump="warmwater_temperature" }
Number HeatPump_Cool_BA "Betriebsart" (gHeatpump) { novelanheatpump="cooling_operation_mode" }
Number HeatPump_Cooling_Release "Freigabe [%.1f °C]" (gHeatpump) { novelanheatpump="cooling_release_temperature" }
Number HeatPump_Cooling_Inlet "Vorlauf Soll [%.1f °C]" (gHeatpump) { novelanheatpump="cooling_inlet_temperature" }
Number HeatPump_Cooling_Start "AT Überschreitung[%.1f hrs]" (gHeatpump) { novelanheatpump="cooling_start_hours" }
Number HeatPump_Cooling_Stop "AT Unterschreitung[%.1f hrs]" (gHeatpump) { novelanheatpump="cooling_stop_hours" }

Set parameters

These parameters can be changed:

  • Heating operation mode
  • Warm water operation mode
  • Cooling operation mode
  • Offset of the heating curve
  • Target temperature for warm water

Sitemap example:

Switch item=heatPump_heating_operation_mode  mappings=[0="Auto", 1="Zuheizer", 2="Party", 3="Ferien", 4="Aus"]
Setpoint item=heatPump_heating_temperature minValue=-10 maxValue=10 step=0.5
Switch item=heatPump_warmwater_operation_mode  mappings=[0="Auto", 1="Zuheizer", 2="Party", 3="Ferien", 4="Aus"]
Setpoint item=heatPump_warmwater_temperature minValue=10 maxValue=65 step=1

Planned features (not yet implemented)

  • access the errorlog

feature overview


Setup intro

Linux and OS X





User Interfaces



(link to openHAB forum)



Application Integration



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


Syntax highlighting for external editors

Release Notes

Clone this wiki locally
You can’t perform that action at this time.