EcoTouch Binding

The openHAB EcoTouch binding allows interaction with a heat pump.

Prerequisites

Make sure the display unit of the heat pump is connected to the network and that the network settings are configured. By default, the heat pump uses DHCP.

Binding Configuration

The binding can be configured in the file services/ecotouch.cfg.

PropertyDefaultRequiredDescription
ipYesip or DNS name of the heat pump
usernamewaterkotteNousername for login
passwordwaterkotteNopassword for login

NOTE: Since Waterkotte Display software version 1.6.xx, the username/password default value is waterkotte. Prior to that, the username default was admin and the password default was wtkadmin.

Item Configuration

The binding configuration format is simple and looks like this:

ecotouch="<eventType>"

where <eventType> is one of the following values:

Description<eventType>ItemClassWriteNotes
Außentemperaturtemperature_outsidenumber
Außentemperatur gemittelt über 1htemperature_outside_1hnumber
Außentemperatur gemittelt über 24htemperature_outside_24hnumber
Quelleneintrittstemperaturtemperature_source_innumberAi1 Geo only
Quellenaustrittstemperaturtemperature_source_outnumberAi1 Geo only
Umgebungstemperaturtemperature_surroundingnumberAi1 Air only
Verdampfungstemperaturtemperature_evaporationnumber
Sauggastemperaturtemperature_suctionnumberAi1 Geo only
Sauggastemperature_suction_airnumberAi1 Air only
Ölsumpftemperature_sumpnumberAi1 Air only
Verdampfungsdruckpressure_evaporationnumber
Temperatur Rücklauf Solltemperature_return_setnumber
Temperatur Rücklauftemperature_returnnumber
Temperatur Vorlauftemperature_flownumber
Kondensationstemperaturtemperature_condensationnumber
Kondensationsdruckpressure_condensationnumber
Speichertemperaturtemperature_storagenumber
Raumtemperaturtemperature_roomnumber
Raumtemperatur gemittelt über 1htemperature_room_1hnumber
Warmwassertemperaturtemperature_waternumber
Pooltemperaturtemperature_poolnumber
Solarkollektortemperaturtemperature_solarnumber
Solarkreis Vorlauftemperature_solar_flownumber
Ventilöffnung elektrisches Expansionsventil %position_expansion_valvenumber
elektrische Leistung Verdichterpower_compressornumber
abgegebene thermische Heizleistung der Wärmepumpepower_heatingnumber
abgegebene thermische KälteLeistung der Wärmepumpepower_coolingnumber
COP Heizleistungcop_heatingnumber
COP Kälteleistungcop_coolingnumber
Aktuelle Heizkreistemperaturtemperature_heating_returnnumber
Geforderte Temperatur im Heizbetriebtemperature_heating_setnumber
Sollwertvorgabe Heizkreistemperaturtemperature_heating_set2numberyes
Aktuelle Kühlkreistemperaturtemperature_cooling_returnnumber
Geforderte Temperatur im Kühlbetriebtemperature_cooling_setnumber
Sollwertvorgabe Kühlbetriebtemperature_cooling_set2numberyes
Sollwert Warmwassertemperaturtemperature_water_setnumber
Sollwertvorgabe Warmwassertemperaturtemperature_water_set2numberyes
Sollwert Poolwassertemperaturtemperature_pool_setnumber
Sollwertvorgabe Poolwassertemperaturtemperature_pool_set2numberyes
geforderte Verdichterleistungcompressor_powernumber
% Heizungsumwälzpumpepercent_heat_circ_pumpnumber
% Quellenpumpepercent_source_pumpnumber
% Leistung Verdichterpercent_compressornumber
Heizkurve - Norm-Aussen-Temp (Auslegungstemp)nviNormAussennumberyes
Heizkurve - Temp Heizkreis bei AuslegungstempnviHeizkreisNormnumberyes
Heizkurve - Temp HeizgrenzenviTHeizgrenzenumberyes
Heizkurve - Temp Heizkreis HeizgrenzenviTHeizgrenzeSollnumberyes
Heizkurve - max. VL-TempmaxVLTempnumberyes
Kühlen Einschalt-AussentempcoolEnableTempnumberyes
geforderte KühltemperaturnviSollKuehlennumber
Firmware-Version Reglerversion_controllernumber
Build-Nr. Reglerversion_controller_buildnumber
Bios-Version Reglerversion_biosnumber
Datum: Tagdate_daynumber
Datum: Monatdate_monthnumber
Datum: Jahrdate_yearnumber
Uhrzeit: Stundetime_hournumber
Uhrzeit: Minutetime_minutenumber
Betriebsstunden Verdichter 1operating_hours_compressor1number
Betriebsstunden Verdichter 2operating_hours_compressor2number
Betriebsstunden Heizungsumwälzpumpeoperating_hours_circulation_pumpnumber
Betriebsstunden Quellenpumpeoperating_hours_source_pumpnumber
Betriebsstunden Solarkreisoperating_hours_solarnumber
Handabschaltung Heizbetriebenable_heatingswitchyes
Handabschaltung Kühlbetriebenable_coolingswitchyes
Handabschaltung Warmwasserbetriebenable_warmwaterswitchyes
Handabschaltung Pool_Heizbetriebenable_poolswitchyes
Status der WärmepumpenkomponentenstatenumberState as a number, see below for possible mapping.
Status Quellenpumpestate_sourcepumpswitch
Status Heizungsumwälzpumpestate_heatingpumpswitch
Status Freigabe Regelung EDV / Magnetventilstate_evdswitch
Status Verdichter 1state_compressor1switch
Status Verdichter 2state_compressor2switch
Status externer Wärmeerzeugerstate_extheaterswitch
Status Alarmausgangstate_alarmswitch
Status Motorventil Kühlbetriebstate_coolingswitch
Status Motorventil Warmwasserstate_waterswitch
Status Motorventil Poolstate_poolswitch
Status Solarbetriebstate_solarswitch
Status 4-Wege-Ventilstate_cooling4wayswitch
Temperaturanpassung für die Heizung -2,0 / +2,0adapt_heatingnumberyes-2 bis +2 (0,5)---> 0 bis 8
Handschaltung Heizungspumpemanual_heatingpumpyes(H-0-A) H= manuell ein (Handschaltung), 0= aus, A= Automatik
Handschaltung Quellenpumpemanual_sourcepumpyes(H-0-A)
Handschaltung Solarpumpe 1manual_solarpump1yes(H-0-A)
Handschaltung Solarpumpe 2manual_solarpump2yes(H-0-A)
Handschaltung Speicherladepumpemanual_tankpumpyes(H-0-A)
Handschaltung Brauchwasserventilmanual_valveyes(H-0-A)
Handschaltung Poolventilmanual_poolvalveyes(H-0-A)
Handschaltung Kühlventilmanual_coolvalveyes(H-0-A)
Handschaltung Vierwegeventilmanual_4wayvalveyes(H-0-A)
Handschaltung Multiausgang Ext.manual_multiextyes(H-0-A)

Mappings

Heatpump event type "state" can be mapped to strings. Different heatpump models seem to have slightly different state values. Mappings for the Ai1 Geo have been copied from here.

StateAi1 GeoAi1 Air
0ausaus
1nur Solepumpe 1
2nur Heizkreispumpe 2Standby
3unbekannt
7unbekannt
10Heizbetrieb
15Heizbetrieb
131Naturkühlung
256Vorlauf WarmwasserVorlauf Warmwasser
258Nachlauf WarmwasserNachlauf Warmwasser
259unbekannt 259 vor WW Bereitung
263unbekannt 263 vor WW Bereitung
266Warmwasserbereitung
271Warmwasserbereitung

Examples

Items examples

/* Waterkotte EcoTouch heat pump DEMO */
Group Heatpump
Group Heatpump_outside
Group Heatpump_source
Group Heatpump_control
Group Heatpump_water
Group Heatpump_heating
Group Heatpump_power
Group Heatpump_state
Number Chart_Period "Chart Period"
Number HeatPump_Temperature_3   "Wärmepumpe Außentemperatur [%.1f °C]"   <temperature> (Heatpump,Heatpump_outside) { ecotouch="temperature_outside" }
Number HeatPump_Temperature_4   "Wärmepumpe Außentemperatur 1h [%.1f °C]"   <temperature> (Heatpump,Heatpump_outside) { ecotouch="temperature_outside_1h" }
Number HeatPump_Temperature_5   "Wärmepumpe Außentemperatur 24h [%.1f °C]"   <temperature> (Heatpump,Heatpump_outside) { ecotouch="temperature_outside_24h" }
Number HeatPump_Temperature_6   "Wärmepumpe Quelleneintrittstemperatur [%.1f °C]"   <temperature> (Heatpump,Heatpump_source) { ecotouch="temperature_source_in" }
Number HeatPump_Temperature_7   "Wärmepumpe Quellenaustrittstemperatur [%.1f °C]"   <temperature> (Heatpump,Heatpump_source) { ecotouch="temperature_source_out" }
Number HeatPump_Temperature_8   "Wärmepumpe Vorlauf [%.1f °C]"   <temperature> (Heatpump,Heatpump_control) { ecotouch="temperature_flow" }
Number HeatPump_Temperature_9   "Wärmepumpe Rücklauf [%.1f °C]"   <temperature> (Heatpump,Heatpump_control) { ecotouch="temperature_return" }
Number HeatPump_Temperature_10   "Wärmepumpe Rücklauf Soll [%.1f °C]"   <temperature> (Heatpump,Heatpump_control) { ecotouch="temperature_return_set" }
Number HeatPump_Temperature_11   "Wärmepumpe Warmwasser Ist [%.1f °C]"   <temperature> (Heatpump,Heatpump_water) { ecotouch="temperature_water" }
Number HeatPump_Temperature_12   "Wärmepumpe Warmwasser Soll [%.1f °C]"   <temperature> (Heatpump,Heatpump_water) { ecotouch="temperature_water_set" }
Number HeatPump_Temperature_13   "Wärmepumpe Warmwasser Soll2 [%.1f °C]"   <temperature> (Heatpump,Heatpump_water) { ecotouch="temperature_water_set2" }
Number HeatPump_Temperature_14   "Wärmepumpe Heizung Ist [%.1f °C]"   <temperature> (Heatpump,Heatpump_heating) { ecotouch="temperature_heating_return" }
Number HeatPump_Temperature_15   "Wärmepumpe Heizung Soll [%.1f °C]"   <temperature> (Heatpump,Heatpump_heating) { ecotouch="temperature_heating_set" }
Number HeatPump_Temperature_16   "Wärmepumpe Heizung Soll2 [%.1f °C]"   <temperature> (Heatpump,Heatpump_heating) { ecotouch="temperature_heating_set2" }
Number HeatPump_power_1   "Wärmepumpe elektrische Leistung [%.1f kW]"   <energy> (Heatpump,Heatpump_power) { ecotouch="power_compressor" }
Number HeatPump_power_2   "Wärmepumpe thermische Leistung [%.1f kW]"   <energy> (Heatpump,Heatpump_power) { ecotouch="power_heating" }
Number HeatPump_state            "Wärmepumpe Status [%i]"   <settings> (Heatpump) { ecotouch="state" }
Number HeatPump_state_sourcepump "Wärmepumpe Status Quellenpumpe [%i]"   <settings> (Heatpump,Heatpump_state) { ecotouch="state_sourcepump" }
Number HeatPump_state_heatingpump "Wärmepumpe Status Heizungsumwälzpumpe [%i]"   <settings> (Heatpump,Heatpump_state) { ecotouch="state_heatingpump" }
Number HeatPump_state_compressor1 "Wärmepumpe Status Kompressor [%i]"   <settings> (Heatpump,Heatpump_state) { ecotouch="state_compressor1" }
Number HeatPump_state_water      "Wärmepumpe Status Motorventil Warmwasser[%i]"   <settings> (Heatpump,Heatpump_state) { ecotouch="state_water" }

Sitemap examples

    Frame label="Waterkotte" {
            Text item=HeatPump_Temperature_3 {
                    Frame {
                            Switch item=Chart_Period label="Chart Period" mappings=[0="Hour", 1="Day", 2="Week"]
                            Chart item=Heatpump_outside period=h refresh=60000 visibility=[Chart_Period==0, Chart_Period=="Uninitialized"]
                            Chart item=Heatpump_outside period=D refresh=60000 visibility=[Chart_Period==1]
                            Chart item=Heatpump_outside period=W refresh=60000 visibility=[Chart_Period==2]
                    }
            }
            Text item=HeatPump_Temperature_6 {
                    Frame {
                            Switch item=Chart_Period label="Chart Period" mappings=[0="Hour", 1="Day", 2="Week"]
                            Chart item=Heatpump_source period=h refresh=60000 visibility=[Chart_Period==0, Chart_Period=="Uninitialized"]
                            Chart item=Heatpump_source period=D refresh=60000 visibility=[Chart_Period==1]
                            Chart item=Heatpump_source period=W refresh=60000 visibility=[Chart_Period==2]
                    }
            }
            Text item=HeatPump_Temperature_7 {
                    Frame {
                            Switch item=Chart_Period label="Chart Period" mappings=[0="Hour", 1="Day", 2="Week"]
                            Chart item=Heatpump_source period=h refresh=60000 visibility=[Chart_Period==0, Chart_Period=="Uninitialized"]
                            Chart item=Heatpump_source period=D refresh=60000 visibility=[Chart_Period==1]
                            Chart item=Heatpump_source period=W refresh=60000 visibility=[Chart_Period==2]
                    }
            }
            Text item=HeatPump_Temperature_8 {
                    Frame {
                            Switch item=Chart_Period label="Chart Period" mappings=[0="Hour", 1="Day", 2="Week"]
                            Chart item=Heatpump_control period=h refresh=60000 visibility=[Chart_Period==0, Chart_Period=="Uninitialized"]
                            Chart item=Heatpump_control period=D refresh=60000 visibility=[Chart_Period==1]
                            Chart item=Heatpump_control period=W refresh=60000 visibility=[Chart_Period==2]
                    }
            }
            Text item=HeatPump_Temperature_9 {
                    Frame {
                            Switch item=Chart_Period label="Chart Period" mappings=[0="Hour", 1="Day", 2="Week"]
                            Chart item=Heatpump_control period=h refresh=60000 visibility=[Chart_Period==0, Chart_Period=="Uninitialized"]
                            Chart item=Heatpump_control period=D refresh=60000 visibility=[Chart_Period==1]
                            Chart item=Heatpump_control period=W refresh=60000 visibility=[Chart_Period==2]
                    }
            }
            Text item=HeatPump_Temperature_10 {
                    Frame {
                            Switch item=Chart_Period label="Chart Period" mappings=[0="Hour", 1="Day", 2="Week"]
                            Chart item=Heatpump_control period=h refresh=60000 visibility=[Chart_Period==0, Chart_Period=="Uninitialized"]
                            Chart item=Heatpump_control period=D refresh=60000 visibility=[Chart_Period==1]
                            Chart item=Heatpump_control period=W refresh=60000 visibility=[Chart_Period==2]
                    }
            }
            Text item=HeatPump_Temperature_11 {
                    Frame {
                            Switch item=Chart_Period label="Chart Period" mappings=[0="Hour", 1="Day", 2="Week"]
                            Chart item=Heatpump_water period=h refresh=60000 visibility=[Chart_Period==0, Chart_Period=="Uninitialized"]
                            Chart item=Heatpump_water period=D refresh=60000 visibility=[Chart_Period==1]
                            Chart item=Heatpump_water period=W refresh=60000 visibility=[Chart_Period==2]
                    }
            }
            Text item=HeatPump_Temperature_12 {
                    Frame {
                            Switch item=Chart_Period label="Chart Period" mappings=[0="Hour", 1="Day", 2="Week"]
                            Chart item=Heatpump_water period=h refresh=60000 visibility=[Chart_Period==0, Chart_Period=="Uninitialized"]
                            Chart item=Heatpump_water period=D refresh=60000 visibility=[Chart_Period==1]
                            Chart item=Heatpump_water period=W refresh=60000 visibility=[Chart_Period==2]
                    }
            }
            Text item=HeatPump_Temperature_13 {
                    Frame {
                            Switch item=Chart_Period label="Chart Period" mappings=[0="Hour", 1="Day", 2="Week"]
                            Chart item=Heatpump_water period=h refresh=60000 visibility=[Chart_Period==0, Chart_Period=="Uninitialized"]
                            Chart item=Heatpump_water period=D refresh=60000 visibility=[Chart_Period==1]
                            Chart item=Heatpump_water period=W refresh=60000 visibility=[Chart_Period==2]
                    }
            }
            Text item=HeatPump_Temperature_14 {
                    Frame {
                            Switch item=Chart_Period label="Chart Period" mappings=[0="Hour", 1="Day", 2="Week"]
                            Chart item=Heatpump_heating period=h refresh=60000 visibility=[Chart_Period==0, Chart_Period=="Uninitialized"]
                            Chart item=Heatpump_heating period=D refresh=60000 visibility=[Chart_Period==1]
                            Chart item=Heatpump_heating period=W refresh=60000 visibility=[Chart_Period==2]
                    }
            }
            Text item=HeatPump_Temperature_15 {
                    Frame {
                            Switch item=Chart_Period label="Chart Period" mappings=[0="Hour", 1="Day", 2="Week"]
                            Chart item=Heatpump_heating period=h refresh=60000 visibility=[Chart_Period==0, Chart_Period=="Uninitialized"]
                            Chart item=Heatpump_heating period=D refresh=60000 visibility=[Chart_Period==1]
                            Chart item=Heatpump_heating period=W refresh=60000 visibility=[Chart_Period==2]
                    }
            }
            Text item=HeatPump_Temperature_16 {
                    Frame {
                            Switch item=Chart_Period label="Chart Period" mappings=[0="Hour", 1="Day", 2="Week"]
                            Chart item=Heatpump_heating period=h refresh=60000 visibility=[Chart_Period==0, Chart_Period=="Uninitialized"]
                            Chart item=Heatpump_heating period=D refresh=60000 visibility=[Chart_Period==1]
                            Chart item=Heatpump_heating period=W refresh=60000 visibility=[Chart_Period==2]
                    }
            }
            Text item=HeatPump_power_1 {
                    Frame {
                            Switch item=Chart_Period label="Chart Period" mappings=[0="Hour", 1="Day", 2="Week"]
                            Chart item=Heatpump_power period=h refresh=60000 visibility=[Chart_Period==0, Chart_Period=="Uninitialized"]
                            Chart item=Heatpump_power period=D refresh=60000 visibility=[Chart_Period==1]
                            Chart item=Heatpump_power period=W refresh=60000 visibility=[Chart_Period==2]
                    }
            }
            Text item=HeatPump_power_2 {
                    Frame {
                            Switch item=Chart_Period label="Chart Period" mappings=[0="Hour", 1="Day", 2="Week"]
                            Chart item=Heatpump_power period=h refresh=60000 visibility=[Chart_Period==0, Chart_Period=="Uninitialized"]
                            Chart item=Heatpump_power period=D refresh=60000 visibility=[Chart_Period==1]
                            Chart item=Heatpump_power period=W refresh=60000 visibility=[Chart_Period==2]
                    }
            }
    }

The following charts are created via the rrd4j chart and heatpump bundle.

outside temperature

power consumption