This page is part of archived documentation for openHAB 2.5. Go to the current stable version

# Novelan/Luxtronic Heat Pump Binding v1

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 type of controller.

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

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

# Prerequisites

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 access the network settings go in the heat pump Service menu -> system control -> IP address.

# Binding Configuration

This binding can be configured in the file services/novelanheatpump.cfg.

Property Default Required Description
ip Yes IP address of the heat pump to connect to
refresh 60000 No refresh inverval in milliseconds
port 8888 No port number of the heat pump to connect to Please be aware that from firmware version 1.73, Alpha Innotec has changed the port to 8889.

# Item Configuration

The item configuration 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, stopped, defrosting
simple_state String contains only the short statename; Possible states are error, running, stopped, defrosting
simple_state_num Number same information as simple_state, but as a numeric value
extended_state String contains the time of the state and the state; Possible states are error, heating, standby, switch-on delay, switching cycle
switchoff_reason_0 Number contains the last shutdown reason
switchoff_code_0 Number contains the last heatpump error code
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
output_av Switch Output: defrosting (= Abtauventil)
output_bup Switch Output: water pump (= Brauchwasserpumpe)
output_hup Switch Output: heat pump (= Heizungsumwälzpumpe)
output_mz1 Switch
output_ven Switch Output: ventilation
output_vbo Switch
output_vd1 Switch Output: compressor 1
output_vd2 Switch Output: compressor 2
output_zip Switch Output: water circulation pump
output_zup Switch Output: additional water pump
output_zw1 Switch Output: additional heater 1
output_zw2sst Switch Output: additional heater 2
output_zw3sst Switch Output: additional heater 3
output_fp2 Switch
output_slp Switch
output_sup Switch
output_ma2 Switch
output_mz2 Switch
output_ma3 Switch
output_mz3 Switch
output_fp3 Switch
output_vsk Switch
output_frh Switch
output_vdh Switch Output: compressor heating
output_av2 Switch Output: defrosting 2 (= Abtauventil 2)
output_vbo2 Switch
output_vd12 Switch Output: compressor 1/2
output_vdh2 Switch Output: compressor heating 2

# Examples

# Items

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" }

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_Ext   "Status [%s]"   <temperature> (gHeatpump) { novelanheatpump="extended_state" }

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" }

Switch HeatPump_HUP  "Heizungsumwälzpumpe [%s]"   <switch>   (gHeatpump)   { novelanheatpump="output_hup" }

# Sitemap (fragment)

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