Weishaupt WBB, WWP LS und WGB Modbus Configuration

Hi all,
I wanted to shared by Modbus Configuration for reading (and writing) Weishaupt Heatpumps WBB, WWP LS und WGB (according to the documentation I have). Maybe some other people have a Weishaupt Heatpump, too, and can make use of it. You need to enable Modbus in the Expert Section of the Heatpump. This configuration has been running with my heatpump for quite some time.

Things configuration

Bridge modbus:tcp:weishaupt "Weishaupt Wärmepumpe" @ "Technikraum" [ host="wwp-cpu-com", port=502, id=1 ] {

    // **** SYSTEM *****

    // Außentemperatur 1        FormatTemperatur                                    30 001      Input
    // Außentemperatur 2        FormatTemperatur                                    30 002      Input
    // Fehler                   n Fehlercode, 65535 kein Fehler                     30 003      Input
    // Warnung                  n - Fehlercode, 65535 kein Fehler                   30 004      Input
    // Fehlerfrei               0 = Fehler aktiv, 1 = Störungsfreier Betrieb        30 005      Input
    // Betriebstatusanzeige     Codierung                                           30 006      Input
    Bridge poller weishaupt_system_input "Weishaupt Wärmepumpe Poller 30.001-30.006" @ "Weishaupt Wärmepumpe" [ start="30001", length="6", refresh="30000", type="input" ] {
        Thing data System_Aussentemperatur1       "Weishaupt Wärmepumpe - System - Außentemperatur 1"    [ readStart="30001", readValueType="int16" ]   // FormatTemperatur
        Thing data System_Aussentemperatur2       "Weishaupt Wärmepumpe - System - Außentemperatur 2"    [ readStart="30002", readValueType="int16" ]   // FormatTemperatur
        Thing data System_Fehler                  "Weishaupt Wärmepumpe - System - Fehler"               [ readStart="30003", readValueType="uint16" ]   // n Fehlercode, 65535 kein Fehler
        Thing data System_Warnung                 "Weishaupt Wärmepumpe - System - Warnung"              [ readStart="30004", readValueType="uint16" ]   // n - Fehlercode, 65535 kein Fehler
        Thing data System_Fehlerfrei              "Weishaupt Wärmepumpe - System - Fehlerfrei"           [ readStart="30005", readValueType="int16" ]   // 0 = Fehler aktiv, 1 = Störungsfreier Betrieb
        Thing data System_Betriebstatusanzeige    "Weishaupt Wärmepumpe - System - Betriebstatusanzeige" [ readStart="30006", readValueType="int16" ]   // Codierung
    }

    //  Systembetriebsart       Codierung                                           40 001      Holding R/W
    Bridge poller weishaupt_system_holding "Weishaupt Wärmepumpe Poller 40.001" @ "Weishaupt Wärmepumpe" [ start="40001", length="1", refresh="30000", type="holding" ] {
        Thing data System_Systembetriebsart       "Weishaupt Wärmepumpe - System - Systembetriebsart" [ readStart="40001", readValueType="int16", writeStart="40001", writeValueType="int16", writeType="holding" ]   // Codierung
    }

    // **** HEIZKREIS 1 ****
    // Raumsolltemperatur       FormatTemperatur                                    31 101      Input
    // Raumtemperatur           FormatTemperatur                                    31 102      Input
    // Raumfeuchte              0 … 100 Feuchte in %,0xffff kein Wert verfügbar     31 103      Input
    // Vorlaufsolltemperatur    FormatTemperatur                                    31 104      Input
    // Vorlauftemperatur        FormatTemperatur                                    31 105      Input
    Bridge poller weishaupt_hk1_input "Weishaupt Wärmepumpe Poller 31.101-31.105" @ "Weishaupt Wärmepumpe"    [ start="31101", length="5", refresh="30000", type="input" ] {
        Thing data HK1_Raumsolltemperatur      "Weishaupt Wärmepumpe - Heizkreis 1 - Raumsolltemperatur"    [ readStart="31101", readValueType="int16" ]     // FormatTemperatur
        Thing data HK1_Raumtemperatur          "Weishaupt Wärmepumpe - Heizkreis 1 - Raumtemperatur"        [ readStart="31102", readValueType="int16" ]     // FormatTemperatur
        Thing data HK1_Raumfeuchte             "Weishaupt Wärmepumpe - Heizkreis 1 - Raumfeuchte"           [ readStart="31103", readValueType="int16" ]  // 0 … 100 Feuchte in %,0xffff kein Wert verfügbar
        Thing data HK1_Vorlaufsolltemperatur   "Weishaupt Wärmepumpe - Heizkreis 1 - Vorlaufsolltemperatur" [ readStart="31104", readValueType="int16" ]     // FormatTemperatur
        Thing data HK1_Vorlauftemperatur       "Weishaupt Wärmepumpe - Heizkreis 1 - Vorlauftemperatur"     [ readStart="31105", readValueType="int16" ]     // FormatTemperatur
    }

    // Konfiguration                Codierung                                       41 101      Holding R
    // Anforderung Typ              Codierung                                       41 102      Holding R/W
    // Betriebsart                  Codierung                                       41 103      Holding R/W
    // Pause / Party                Codierung                                       41 104      Holding R/W
    // Raumsolltemperatur Komfort   FormatTemperatur                                41 105      Holding R/W
    // Raumsolltemperatur Normal    FormatTemperatur                                41 106      Holding R/W
    // Raumsolltemperatur Absenk    FormatTemperatur                                41 107      Holding R/W
    // Heizkennlinie                0 = AUS, 5 ... 150 = 0.05 ... 1.50              41 108      Holding R/W
    // Sommer Winter Umschaltung    3.0 … 30.0°C32768 = Ohne Sommerabschaltung      41 109      Holding R/W
    // Heizen Konstanttemperatur    20.0 … 45.0°C                                   41 110      Holding R/W
    // Heizen Konstanttemp Absenk   20.0 … 30.0°C, 32768 = Ohne Absenktemperatur    41 111      Holding R/W
    // Kühlen Konstanttemperatur    FormatTemperatur                                41 112      Holding R/W
    Bridge poller weishaupt_hk1_holding "Weishaupt Wärmepumpe Poller 41.101-41.112" @ "Weishaupt Wärmepumpe" [ start="41101", length="12", refresh="30000", type="holding" ] {
        Thing data HK1_Konfiguration               "Weishaupt Wärmepumpe - Heizkreis 1 - Konfiguration"              [ readStart="41101", readValueType="int16" ]  // Codierung
        Thing data HK1_AnforderungTyp              "Weishaupt Wärmepumpe - Heizkreis 1 - Anforderung Typ"            [ readStart="41102", readValueType="int16" ]  // Codierung
        Thing data HK1_Betriebsart                 "Weishaupt Wärmepumpe - Heizkreis 1 - Betriebsart"                [ readStart="41103", readValueType="int16", writeStart="41103", writeValueType="int16", writeType="holding" ]  // Codierung
        Thing data HK1_PauseParty                  "Weishaupt Wärmepumpe - Heizkreis 1 - Pause / Party"              [ readStart="41104", readValueType="int16", writeStart="41104", writeValueType="int16", writeType="holding" ]  // Codierung
        Thing data HK1_RaumsolltemperaturKomfort   "Weishaupt Wärmepumpe - Heizkreis 1 - Raumsolltemperatur Komfort" [ readStart="41105", readValueType="int16" ]  // FormatTemperatur
        Thing data HK1_RaumsolltemperaturNormal    "Weishaupt Wärmepumpe - Heizkreis 1 - Raumsolltemperatur Normal"  [ readStart="41106", readValueType="int16" ]  // FormatTemperatur
        Thing data HK1_RaumsolltemperaturAbsenk    "Weishaupt Wärmepumpe - Heizkreis 1 - Raumsolltemperatur Absenk"  [ readStart="41107", readValueType="int16" ]  // FormatTemperatur
        Thing data HK1_Heizkennlinie               "Weishaupt Wärmepumpe - Heizkreis 1 - Heizkennlinie"              [ readStart="41108", readValueType="int16" ]  // 0 = AUS, 5 ... 150 = 0.05 ... 1.50
        Thing data HK1_SommerWinterUmschaltung     "Weishaupt Wärmepumpe - Heizkreis 1 - Sommer Winter Umschaltung"  [ readStart="41109", readValueType="int16" ]  // 3.0 … 30.0°C, -32768 = Ohne Sommerabschaltung
        Thing data HK1_HeizenKonstanttemperatur    "Weishaupt Wärmepumpe - Heizkreis 1 - Heizen Konstanttemperatur"  [ readStart="41110", readValueType="int16" ]  // 20.0 … 45.0°C
        Thing data HK1_HeizenKonstanttempAbsenk    "Weishaupt Wärmepumpe - Heizkreis 1 - Heizen Konstanttemp Absenk" [ readStart="41111", readValueType="int16" ]  // 20.0 … 30.0°C, -32768 = Ohne Absenktemperatur
        Thing data HK1_KuehlenKonstanttemperatur   "Weishaupt Wärmepumpe - Heizkreis 1 - Kühlen Konstanttemperatur"  [ readStart="41112", readValueType="int16" ]  // FormatTemperatur
    }

    // **** WARMWASSER ****
    // Warmwassersolltemperatur     FormatTemperatur                                32 101      Input
    // Warmwassertemperatur         FormatTemperatur                                32 102      Input
    Bridge poller weishaupt_ww_input "Weishaupt Wärmepumpe Poller 32.101-32.102" @ "Weishaupt Wärmepumpe" [ start="32101", length="2", refresh="30000", type="input" ] {
        Thing data WW_Warmwassersolltemperatur    "Weishaupt Wärmepumpe - Warmwasser - Warmwassersolltemperatur"   [ readStart="32101", readValueType="int16" ]     // FormatTemperatur
        Thing data WW_Warmwassertemperatur        "Weishaupt Wärmepumpe - Warmwasser - Warmwassertemperatur"       [ readStart="32102", readValueType="int16" ]     // FormatTemperatur
    }

    // Konfiguration                Codierung                                       42 101      Holding R
    // Warmwasser Push              0 = AUS, 5 … 240 MIN                            42 102      Holding R/W
    // Warmwasser Normal            FormatTemperatur                                42 103      Holding R/W
    // Warmwasser Absenk            FormatTemperatur                                42 104      Holding R/W
    // SG Ready Anhebung            FormatTemperatur                                42 105      Holding R/W
    Bridge poller weishaupt_ww_holding "Weishaupt Wärmepumpe Poller 42.101-42.105" @ "Weishaupt Wärmepumpe" [ start="42101", length="4", refresh="30000", type="holding" ] {
        Thing data WW_Konfiguration               "Weishaupt Wärmepumpe - Warmwasser - Konfiguration"          [ readStart="42101", readValueType="int16" ]  // Codierung
        Thing data WW_WarmwasserPush              "Weishaupt Wärmepumpe - Warmwasser - Warmwasser Push"        [ readStart="42102", readValueType="int16", writeStart="42102", writeValueType="int16", writeType="holding" ]  // 0 = AUS, 5 … 240 MIN
        Thing data WW_WarmwasserNormal            "Weishaupt Wärmepumpe - Warmwasser - Warmwasser Normal"      [ readStart="42103", readValueType="int16" ]  // FormatTemperatur
        Thing data WW_WarmwasserAbsenk            "Weishaupt Wärmepumpe - Warmwasser - Warmwasser Absenk"      [ readStart="42104", readValueType="int16" ]  // FormatTemperatur
     // 42.105 responds with Illegal Data Access
     // Thing data WW_SGReadyAnhebung             "Weishaupt Wärmepumpe - Warmwasser - SG Ready Anhebung"      [ readStart="42105", readValueType="int16" ]  // FormatTemperatur
    }

    // **** WÄRMEPUMPE ****
    // Betrieb                      FormatBetriebsstatusanzeige                     33 101      Input
    // Störmeldung                  0 = Störung / 1 = Störungsfrei                  33 102      Input
    // Leistungsanforderung         0 … 100%                                        33 103      Input
    // Vorlauftemperatur            FormatTemperatur                                33 104      Input
    // Rücklauftemperatur           FormatTemperatur                                33 105      Input
    Bridge poller weishaupt_wp_input "Weishaupt Wärmepumpe Poller 33.101-33.105" @ "Weishaupt Wärmepumpe" [ start="33101", length="5", refresh="30000", type="input" ] {
        Thing data WP_Betrieb                  "Weishaupt Wärmepumpe - Wärmepumpe - Betrieb"               [ readStart="33101", readValueType="uint16" ]    // FormatBetriebsstatusanzeige
        Thing data WP_Stoermeldung             "Weishaupt Wärmepumpe - Wärmepumpe - Störmeldung"           [ readStart="33102", readValueType="int16" ]     // 0 = Störung / 1 = Störungsfrei
        Thing data WP_Leistungsanforderung     "Weishaupt Wärmepumpe - Wärmepumpe - Leistungsanforderung"  [ readStart="33103", readValueType="int16" ]     // 0 … 100%
        Thing data WP_Vorlauftemperatur        "Weishaupt Wärmepumpe - Wärmepumpe - Vorlauftemperatur"     [ readStart="33104", readValueType="int16" ]     // FormatTemperatur
        Thing data WP_Ruecklauftemperatur      "Weishaupt Wärmepumpe - Wärmepumpe - Rücklauftemperatur"    [ readStart="33105", readValueType="int16" ]     // FormatTemperatur
    }

    // Konfiguration                                                                43 101      Holding R
    // Ruhemodus                                                                    43 101      Holding R/W
    // Pumpe Einschaltart                                                           43 102      Holding R/W
    // Pumpe Leistung Heizen                                                        43 103      Holding R/W
    // Pumpe Leistung Kühlen                                                        43 104      Holding R/W
    // Pumpe Leistung Warmwasser                                                    43 105      Holding R/W
    // Pumpe Leistung Abtaubetrieb                                                  43 106      Holding R/W
    // Volumenstrom Heizen                                                          43 107      Holding R/W
    // Volumenstrom Kühlen                                                          43 108      Holding R/W
    // Volumenstrom Warmwasser                                                      43 109      Holding R/W
    Bridge poller weishaupt_wp_holding "Weishaupt Wärmepumpe Poller 43.101-43.109" @ "Weishaupt Wärmepumpe" [ start="43101", length="9", refresh="30000", type="holding" ] {
        Thing data WP_Konfiguration_Ruhemodus         "Weishaupt Wärmepumpe - Wärmepumpe - Konfiguration/Ruhemodus"       [ readStart="43101", readValueType="int16" ]  //
        Thing data WP_PumpeEinschaltart               "Weishaupt Wärmepumpe - Wärmepumpe - Pumpe Einschaltart"            [ readStart="43102", readValueType="int16" ]  //
        Thing data WP_PumpeLeistungHeizen             "Weishaupt Wärmepumpe - Wärmepumpe - Pumpe Leistung Heizen"         [ readStart="43103", readValueType="int16" ]  //
        Thing data WP_PumpeLeistungKuehlen            "Weishaupt Wärmepumpe - Wärmepumpe - Pumpe Leistung Kühlen"         [ readStart="43104", readValueType="int16" ]  //
        Thing data WP_PumpeLeistungWarmwasser         "Weishaupt Wärmepumpe - Wärmepumpe - Pumpe Leistung Warmwasser"     [ readStart="43105", readValueType="int16" ]  //
        Thing data WP_PumpeLeistungAbtaubetrieb       "Weishaupt Wärmepumpe - Wärmepumpe - Pumpe Leistung Abtaubetrieb"   [ readStart="43106", readValueType="int16" ]  //
        Thing data WP_VolumenstromHeizen              "Weishaupt Wärmepumpe - Wärmepumpe - Volumenstrom Heizen"           [ readStart="43107", readValueType="int16" ]  //
        Thing data WP_VolumenstromKuehlen             "Weishaupt Wärmepumpe - Wärmepumpe - Volumenstrom Kühlen"           [ readStart="43108", readValueType="int16" ]  //
        Thing data WP_VolumenstromWarmwasser          "Weishaupt Wärmepumpe - Wärmepumpe - Volumenstrom Warmwasser"       [ readStart="43109", readValueType="int16" ]  //
    }

    // **** 2. WEZ ****
    // Status 2. WEZ                                                                34 101      Input
    // Betriebsstunden 2. WEZ                                                       34 102      Input
    // Schaltspiele 2. WEZ                                                          34 103      Input
    // Status E-Heizung 1                                                           34 104      Input
    // Status E-Heizung 2                                                           34 105      Input
    // Betriebsstunden E1                                                           34 106      Input
    // Betriebsstunden E2                                                           34 107      Input
    Bridge poller weishaupt_2wez_input "Weishaupt Wärmepumpe Poller 34.101-34.107" @ "Weishaupt Wärmepumpe" [ start="34101", length="1", refresh="30000", type="input" ] {
        Thing data WEZ2_Status2WEZ                  "Weishaupt Wärmepumpe - 2. WEZ - Status 2. WEZ"       [ readStart="34101", readValueType="int16" ]   //
     // 34102-34107 responds with Illegal Data Access
     // Thing data WEZ2_Betriebsstunden2WEZ             [ readStart="34102", readValueType="uint16" ]   //
     // Thing data WEZ2_Schaltspiele2WEZ                [ readStart="34103", readValueType="uint16" ]   //
     // Thing data WEZ2_StatusEHeizung1                 [ readStart="34104", readValueType="int16" ]   //
     // Thing data WEZ2_StatusEHeizung2                 [ readStart="34105", readValueType="int16" ]   //
     // Thing data WEZ2_BetriebsstundenE1               [ readStart="34106", readValueType="uint16" ]   //
     // Thing data WEZ2_BetriebsstundenE2               [ readStart="34107", readValueType="uint16" ]   //
    }
    // Konfiguration                                                                44 101      Holding R
    // Grenztemperatur                                                              44 102      Holding R/W
    // Bivalenztemperatur                                                           44 103      Holding R/W
    // Bivalenztemperatur WW                                                        44 104      Holding R/W
    Bridge poller weishaupt_2wez_holding "Weishaupt Wärmepumpe Poller 44.101-44.104" @ "Weishaupt Wärmepumpe" [ start="44101", length="4", refresh="30000", type="holding" ] {
        Thing data WEZ2_Konfiguration              "Weishaupt Wärmepumpe - 2. WEZ - Konfiguration"          [ readStart="44101", readValueType="int16" ]  //
        Thing data WEZ2_Grenztemperatur            "Weishaupt Wärmepumpe - 2. WEZ - Grenztemperatur"        [ readStart="44102", readValueType="int16" ]  //
        Thing data WEZ2_Bivalenztemperatur         "Weishaupt Wärmepumpe - 2. WEZ - Bivalenztemperatur"     [ readStart="44103", readValueType="int16" ]  //
        Thing data WEZ2_BivalenztemperaturWW       "Weishaupt Wärmepumpe - 2. WEZ - Bivalenztemperatur WW"  [ readStart="44104", readValueType="int16" ]  //
    }

    // **** 2. Statistik ****
    // Gesamt Energie heute                     MWh                                 36 101      Input
    // Gesamt Energie gestern                   MWh                                 36 102      Input
    // Gesamt Energie Monat                     MWh                                 36 103      Input
    // Gesamt Energie Jahr                      MWh                                 36 104      Input
    // Heizen Energie heute                     MWh                                 36 201      Input
    // Heizen Energie gestern                   MWh                                 36 202      Input
    // Heizen Energie Monat                     MWh                                 36 203      Input
    // Heizen Energie Jahr                      MWh                                 36 204      Input
    // Warmwasser Energie heute                 MWh                                 36 301      Input
    // Warmwasser Energie gestern               MWh                                 36 302      Input
    // Warmwasser Energie Monat                 MWh                                 36 303      Input
    // Warmwasser Energie Jahr                  MWh                                 36 304      Input
    // Kühlen Energie heute                     MWh                                 36 401      Input
    // Kühlen Energie gestern                   MWh                                 36 402      Input
    // Kühlen Energie Monat                     MWh                                 36 403      Input
    // Kühlen Energie Jahr                      MWh                                 36 404      Input 
    Bridge poller weishaupt_stats_gesamt "Weishaupt Wärmepumpe Poller 36.101-36.104" @ "Weishaupt Wärmepumpe" [ start="36101", length="4", refresh="30000", type="input" ] {
        Thing data Statistik_Gesamt_heute                  "Weishaupt Wärmepumpe - Statistik - Gesamt heute"       [ readStart="36101", readValueType="uint16" ]
        Thing data Statistik_Gesamt_gestern                "Weishaupt Wärmepumpe - Statistik - Gesamt gestern"     [ readStart="36102", readValueType="uint16" ]
        Thing data Statistik_Gesamt_monat                  "Weishaupt Wärmepumpe - Statistik - Gesamt monat"       [ readStart="36103", readValueType="uint16" ]
        Thing data Statistik_Gesamt_jahr                   "Weishaupt Wärmepumpe - Statistik - Gesamt jahr"        [ readStart="36104", readValueType="uint16" ]
    }
    Bridge poller weishaupt_stats_heizen "Weishaupt Wärmepumpe Poller 36.201-36.204" @ "Weishaupt Wärmepumpe" [ start="36201", length="4", refresh="30000", type="input" ] {
        Thing data Statistik_Heizen_heute                  "Weishaupt Wärmepumpe - Statistik - Heizen heute"       [ readStart="36201", readValueType="uint16" ]
        Thing data Statistik_Heizen_gestern                "Weishaupt Wärmepumpe - Statistik - Heizen gestern"     [ readStart="36202", readValueType="uint16" ]
        Thing data Statistik_Heizen_monat                  "Weishaupt Wärmepumpe - Statistik - Heizen monat"       [ readStart="36203", readValueType="uint16" ]
        Thing data Statistik_Heizen_jahr                   "Weishaupt Wärmepumpe - Statistik - Heizen jahr"        [ readStart="36204", readValueType="uint16" ]
    }
    Bridge poller weishaupt_stats_ww "Weishaupt Wärmepumpe Poller 36.301-36.304" @ "Weishaupt Wärmepumpe" [ start="36301", length="4", refresh="30000", type="input" ] {
        Thing data Statistik_WW_heute                  "Weishaupt Wärmepumpe - Statistik - WW heute"       [ readStart="36301", readValueType="uint16" ]
        Thing data Statistik_WW_gestern                "Weishaupt Wärmepumpe - Statistik - WW gestern"     [ readStart="36302", readValueType="uint16" ]
        Thing data Statistik_WW_monat                  "Weishaupt Wärmepumpe - Statistik - WW monat"       [ readStart="36303", readValueType="uint16" ]
        Thing data Statistik_WW_jahr                   "Weishaupt Wärmepumpe - Statistik - WW jahr"        [ readStart="36304", readValueType="uint16" ]
    }
    Bridge poller weishaupt_stats_kuehlen "Weishaupt Wärmepumpe Poller 36.401-36.404" @ "Weishaupt Wärmepumpe" [ start="36401", length="4", refresh="30000", type="input" ] {
        Thing data Statistik_Kuehlen_heute                  "Weishaupt Wärmepumpe - Statistik - Kühlen heute"       [ readStart="36401", readValueType="uint16" ]
        Thing data Statistik_Kuehlen_gestern                "Weishaupt Wärmepumpe - Statistik - Kühlen gestern"     [ readStart="36402", readValueType="uint16" ]
        Thing data Statistik_Kuehlen_monat                  "Weishaupt Wärmepumpe - Statistik - Kühlen monat"       [ readStart="36403", readValueType="uint16" ]
        Thing data Statistik_Kuehlen_jahr                   "Weishaupt Wärmepumpe - Statistik - Kühlen jahr"        [ readStart="36404", readValueType="uint16" ]
    }
}

Items file:

// **** SYSTEM *****
Group                  HP_Z_S                       "Weishaupt Wärmepumpe - System"                                                                           ( HP_Z )            [ "Equipment" ]
// Außentemperatur 1        FormatTemperatur                                    30 001      Input
// Außentemperatur 2        FormatTemperatur                                    30 002      Input
// Fehler                   n Fehlercode, 65535 kein Fehler                     30 003      Input
// Warnung                  n - Fehlercode, 65535 kein Fehler                   30 004      Input
// Fehlerfrei               0 = Fehler aktiv, 1 = Störungsfreier Betrieb        30 005      Input
// Betriebstatusanzeige     Codierung                                           30 006      Input
Number:Temperature     HP_Z_S_Aussentemperatur1       "Weishaupt Wärmepumpe - System - Außentemperatur 1 [%.1f %unit%]"                                       ( HP_Z_S )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_system_input:System_Aussentemperatur1:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }   // FormatTemperatur
Number:Temperature     HP_Z_S_Aussentemperatur2       "Weishaupt Wärmepumpe - System - Außentemperatur 2 [%.1f %unit%]"                                       ( HP_Z_S )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_system_input:System_Aussentemperatur2:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }   // FormatTemperatur
Number                 HP_Z_S_Fehler                  "Weishaupt Wärmepumpe - System - Fehler [MAP(Weishaupt_Fehlerliste.map):%s]"                            ( HP_Z_S )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_system_input:System_Fehler:number" }   // n Fehlercode, 65535 kein Fehler
Number                 HP_Z_S_Warnung                 "Weishaupt Wärmepumpe - System - Warnung [MAP(Weishaupt_Fehlerliste.map):%s]"                           ( HP_Z_S )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_system_input:System_Warnung:number" }   // n - Fehlercode, 65535 kein Fehler
Number                 HP_Z_S_Fehlerfrei              "Weishaupt Wärmepumpe - System - Fehlerfrei [MAP(Weishaupt_Fehlerfrei.map):%s]"                         ( HP_Z_S )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_system_input:System_Fehlerfrei:number" }   // 0 = Fehler aktiv, 1 = Störungsfreier Betrieb
Number                 HP_Z_S_Betriebstatusanzeige    "Weishaupt Wärmepumpe - System - Betriebstatusanzeige [MAP(Weishaupt_Betriebstatusanzeige.map):%s]"     ( HP_Z_S )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_system_input:System_Betriebstatusanzeige:number" }   // Codierung

//  Systembetriebsart       Codierung                                           40 001      Holding R/W
Number                 HP_Z_S_Systembetriebsart       "Weishaupt Wärmepumpe - System - Systembetriebsart [MAP(Weishaupt_Systembetriebsart.map):%s]"           ( HP_Z_S )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_system_holding:System_Systembetriebsart:number" }   // Codierung

// **** HEIZKREIS 1 ****
Group                   HP_Z_HK1                    "Weishaupt Wärmepumpe - Heizkreis 1"                                                                      ( HP_Z )            [ "Equipment" ]
// Raumsolltemperatur       FormatTemperatur                                    31 101      Input
// Raumtemperatur           FormatTemperatur                                    31 102      Input
// Raumfeuchte              0 … 100 Feuchte in %,0xffff kein Wert verfügbar     31 103      Input
// Vorlaufsolltemperatur    FormatTemperatur                                    31 104      Input
// Vorlauftemperatur        FormatTemperatur                                    31 105      Input
Number:Temperature     HP_Z_HK1_Raumsolltemperatur      "Weishaupt Wärmepumpe - Heizkreis 1 - Raumsolltemperatur [%.1f %unit%]"                               ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_input:HK1_Raumsolltemperatur:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }     // FormatTemperatur
Number:Temperature     HP_Z_HK1_Raumtemperatur          "Weishaupt Wärmepumpe - Heizkreis 1 - Raumtemperatur [%.1f %unit%]"                                   ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_input:HK1_Raumtemperatur:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }     // FormatTemperatur
Number                 HP_Z_HK1_Raumfeuchte             "Weishaupt Wärmepumpe - Heizkreis 1 - Raumfeuchte [%d %%]"                                            ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_input:HK1_Raumfeuchte:number" }  // 0 … 100 Feuchte in %,0xffff kein Wert verfügbar
Number:Temperature     HP_Z_HK1_Vorlaufsolltemperatur   "Weishaupt Wärmepumpe - Heizkreis 1 - Vorlaufsolltemperatur [%.1f %unit%]"                            ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_input:HK1_Vorlaufsolltemperatur:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }     // FormatTemperatur
Number:Temperature     HP_Z_HK1_Vorlauftemperatur       "Weishaupt Wärmepumpe - Heizkreis 1 - Vorlauftemperatur [%.1f %unit%]"                                ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_input:HK1_Vorlauftemperatur:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }     // FormatTemperatur

// Konfiguration                Codierung                                       41 101      Holding R
// Anforderung Typ              Codierung                                       41 102      Holding R/W
// Betriebsart                  Codierung                                       41 103      Holding R/W
// Pause / Party                Codierung                                       41 104      Holding R/W
// Raumsolltemperatur Komfort   FormatTemperatur                                41 105      Holding R/W
// Raumsolltemperatur Normal    FormatTemperatur                                41 106      Holding R/W
// Raumsolltemperatur Absenk    FormatTemperatur                                41 107      Holding R/W
// Heizkennlinie                0 = AUS, 5 ... 150 = 0.05 ... 1.50              41 108      Holding R/W
// Sommer Winter Umschaltung    3.0 … 30.0°C32768 = Ohne Sommerabschaltung      41 109      Holding R/W
// Heizen Konstanttemperatur    20.0 … 45.0°C                                   41 110      Holding R/W
// Heizen Konstanttemp Absenk   20.0 … 30.0°C, 32768 = Ohne Absenktemperatur    41 111      Holding R/W
// Kühlen Konstanttemperatur    FormatTemperatur                                41 112      Holding R/W
Number                 HP_Z_HK1_Konfiguration               "Weishaupt Wärmepumpe - Heizkreis 1 - Konfiguration [MAP(Weishaupt_HK_Konfiguration.map):%s]"     ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_holding:HK1_Konfiguration:number" }  // Codierung
Number                 HP_Z_HK1_AnforderungTyp              "Weishaupt Wärmepumpe - Heizkreis 1 - Anforderung Typ [MAP(Weishaupt_HK_AnforderungTyp.map):%s]"  ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_holding:HK1_AnforderungTyp:number" }  // Codierung
Number                 HP_Z_HK1_Betriebsart                 "Weishaupt Wärmepumpe - Heizkreis 1 - Betriebsart [MAP(Weishaupt_HK_Betriebsart.map):%s]"         ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_holding:HK1_Betriebsart:number" }  // Codierung
Number                 HP_Z_HK1_PauseParty                  "Weishaupt Wärmepumpe - Heizkreis 1 - Pause / Party [MAP(Weishaupt_HK_PauseParty.map):%s]"        ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_holding:HK1_PauseParty:number" }  // Codierung
Number:Temperature     HP_Z_HK1_RaumsolltemperaturKomfort   "Weishaupt Wärmepumpe - Heizkreis 1 - Raumsolltemperatur Komfort [%.1f %unit%]"                   ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_holding:HK1_RaumsolltemperaturKomfort:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }  // FormatTemperatur
Number:Temperature     HP_Z_HK1_RaumsolltemperaturNormal    "Weishaupt Wärmepumpe - Heizkreis 1 - Raumsolltemperatur Normal [%.1f %unit%]"                    ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_holding:HK1_RaumsolltemperaturNormal:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }  // FormatTemperatur
Number:Temperature     HP_Z_HK1_RaumsolltemperaturAbsenk    "Weishaupt Wärmepumpe - Heizkreis 1 - Raumsolltemperatur Absenk [%.1f %unit%]"                    ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_holding:HK1_RaumsolltemperaturAbsenk:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }  // FormatTemperatur
Number                 HP_Z_HK1_Heizkennlinie               "Weishaupt Wärmepumpe - Heizkreis 1 - Heizkennlinie [%.2f]"                                       ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_holding:HK1_Heizkennlinie:number" [ profile="modbus:gainOffset", gain="0.01", pre-gain-offset="0" ] }  // 0 = AUS, 5 ... 150 = 0.05 ... 1.50
Number:Temperature     HP_Z_HK1_SommerWinterUmschaltung     "Weishaupt Wärmepumpe - Heizkreis 1 - Sommer Winter Umschaltung [%.1f %unit%]"                    ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_holding:HK1_SommerWinterUmschaltung:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }  // 3.0 … 30.0°C, -32768 = Ohne Sommerabschaltung
Number:Temperature     HP_Z_HK1_HeizenKonstanttemperatur    "Weishaupt Wärmepumpe - Heizkreis 1 - Heizen Konstanttemperatur [%.1f %unit%]"                    ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_holding:HK1_HeizenKonstanttemperatur:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }  // 20.0 … 45.0°C
Number:Temperature     HP_Z_HK1_HeizenKonstanttempAbsenk    "Weishaupt Wärmepumpe - Heizkreis 1 - Heizen Konstanttemp Absenk [%.1f %unit%]"                   ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_holding:HK1_HeizenKonstanttempAbsenk:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }  // 20.0 … 30.0°C, -32768 = Ohne Absenktemperatur
Number:Temperature     HP_Z_HK1_KuehlenKonstanttemperatur   "Weishaupt Wärmepumpe - Heizkreis 1 - Kühlen Konstanttemperatur [%.1f %unit%]"                    ( HP_Z_HK1 )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_hk1_holding:HK1_KuehlenKonstanttemperatur:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }  // FormatTemperatur

// **** WARMWASSER ****
Group                  HP_Z_WW                          "Weishaupt Wärmepumpe - Warmwasser"                                                                   ( HP_Z )            [ "Equipment" ]
// Warmwassersolltemperatur     FormatTemperatur                                32 101      Input
// Warmwassertemperatur         FormatTemperatur                                32 102      Input
Number:Temperature     HP_Z_WW_Warmwassersolltemperatur    "Weishaupt Wärmepumpe - Warmwasser - Warmwassersolltemperatur [%.1f %unit%]"                       ( HP_Z_WW )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_ww_input:WW_Warmwassersolltemperatur:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }     // FormatTemperatur
Number:Temperature     HP_Z_WW_Warmwassertemperatur        "Weishaupt Wärmepumpe - Warmwasser - Warmwassertemperatur [%.1f %unit%]"                           ( HP_Z_WW )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_ww_input:WW_Warmwassertemperatur:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }     // FormatTemperatur
// Konfiguration                Codierung                                       42 101      Holding R
// Warmwasser Push              0 = AUS, 5 … 240 MIN                            42 102      Holding R/W
// Warmwasser Normal            FormatTemperatur                                42 103      Holding R/W
// Warmwasser Absenk            FormatTemperatur                                42 104      Holding R/W
// SG Ready Anhebung            FormatTemperatur                                42 105      Holding R/W
Number                 HP_Z_WW_Konfiguration               "Weishaupt Wärmepumpe - Warmwasser - Konfiguration [MAP(Weishaupt_WW_Konfiguration.map):%s]"       ( HP_Z_WW )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_ww_holding:WW_Konfiguration:number" }  // Codierung
Number                 HP_Z_WW_WarmwasserPush              "Weishaupt Wärmepumpe - Warmwasser - Warmwasser Push [%d min]"                                     ( HP_Z_WW )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_ww_holding:WW_WarmwasserPush:number" }  // 0 = AUS, 5 … 240 MIN
Number:Temperature     HP_Z_WW_WarmwasserNormal            "Weishaupt Wärmepumpe - Warmwasser - Warmwasser Normal [%.1f %unit%]"                              ( HP_Z_WW )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_ww_holding:WW_WarmwasserNormal:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }  // FormatTemperatur
Number:Temperature     HP_Z_WW_WarmwasserAbsenk            "Weishaupt Wärmepumpe - Warmwasser - Warmwasser Absenk [%.1f %unit%]"                              ( HP_Z_WW )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_ww_holding:WW_WarmwasserAbsenk:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }  // FormatTemperatur
// Number:Temperature  HP_Z_WW_SGReadyAnhebung             "Weishaupt Wärmepumpe - Warmwasser - SG Ready Anhebung [%.1f %unit%]"                              ( HP_Z_WW )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_ww_holding:WW_SGReadyAnhebung:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }  // FormatTemperatur

// **** WÄRMEPUMPE ****
Group                  HP_Z_WP                          "Weishaupt Wärmepumpe - Wärmepumpe"                                                                   ( HP_Z )            [ "Equipment" ]
// Betrieb                      FormatBetriebsstatusanzeige                     33 101      Input
// Störmeldung                  0 = Störung / 1 = Störungsfrei                  33 102      Input
// Leistungsanforderung         0 … 100%                                        33 103      Input
// Vorlauftemperatur            FormatTemperatur                                33 104      Input
// Rücklauftemperatur           FormatTemperatur                                33 105      Input
Number                 HP_Z_WP_Betrieb                  "Weishaupt Wärmepumpe - Wärmepumpe - Betrieb [MAP(Weishaupt_Betriebstatusanzeige.map):%s]"            ( HP_Z_WP )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_wp_input:WP_Betrieb:number" }    // FormatBetriebsstatusanzeige
Number                 HP_Z_WP_Stoermeldung             "Weishaupt Wärmepumpe - Wärmepumpe - Störmeldung [MAP(Weishaupt_Fehlerfrei.map):%s]"                  ( HP_Z_WP )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_wp_input:WP_Stoermeldung:number" }     // 0 = Störung / 1 = Störungsfrei
Number                 HP_Z_WP_Leistungsanforderung     "Weishaupt Wärmepumpe - Wärmepumpe - Leistungsanforderung [%d %%]"                                    ( HP_Z_WP )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_wp_input:WP_Leistungsanforderung:number" }     // 0 … 100%
Number:Temperature     HP_Z_WP_Vorlauftemperatur        "Weishaupt Wärmepumpe - Wärmepumpe - Vorlauftemperatur [%.1f %unit%]"                                 ( HP_Z_WP )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_wp_input:WP_Vorlauftemperatur:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }     // FormatTemperatur
Number:Temperature     HP_Z_WP_Ruecklauftemperatur      "Weishaupt Wärmepumpe - Wärmepumpe - Rücklauftemperatur [%.1f %unit%]"                                ( HP_Z_WP )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_wp_input:WP_Ruecklauftemperatur:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }     // FormatTemperatur

// Konfiguration                                                                43 101      Holding R
// Ruhemodus                                                                    43 101      Holding R/W
// Pumpe Einschaltart                                                           43 102      Holding R/W
// Pumpe Leistung Heizen                                                        43 103      Holding R/W
// Pumpe Leistung Kühlen                                                        43 104      Holding R/W
// Pumpe Leistung Warmwasser                                                    43 105      Holding R/W
// Pumpe Leistung Abtaubetrieb                                                  43 106      Holding R/W
// Volumenstrom Heizen                                                          43 107      Holding R/W
// Volumenstrom Kühlen                                                          43 108      Holding R/W
// Volumenstrom Warmwasser                                                      43 109      Holding R/W
Number                 HP_Z_WP_Konfiguration_Ruhemodus         "Weishaupt Wärmepumpe - Wärmepumpe - Konfiguration/Ruhemodus [%s]"                             ( HP_Z_WP )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_wp_holding:WP_Konfiguration_Ruhemodus:number" }  //
Number                 HP_Z_WP_PumpeEinschaltart               "Weishaupt Wärmepumpe - Wärmepumpe - Pumpe Einschaltart [%s]"                                  ( HP_Z_WP )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_wp_holding:WP_PumpeEinschaltart:number" }  //
Number                 HP_Z_WP_PumpeLeistungHeizen             "Weishaupt Wärmepumpe - Wärmepumpe - Pumpe Leistung Heizen [%d %%]"                            ( HP_Z_WP )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_wp_holding:WP_PumpeLeistungHeizen:number" }  //
Number                 HP_Z_WP_PumpeLeistungKuehlen            "Weishaupt Wärmepumpe - Wärmepumpe - Pumpe Leistung Kühlen [%d %%]"                            ( HP_Z_WP )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_wp_holding:WP_PumpeLeistungKuehlen:number" }  //
Number                 HP_Z_WP_PumpeLeistungWarmwasser         "Weishaupt Wärmepumpe - Wärmepumpe - Pumpe Leistung Warmwasser [%d %%]"                        ( HP_Z_WP )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_wp_holding:WP_PumpeLeistungWarmwasser:number" }  //
Number                 HP_Z_WP_PumpeLeistungAbtaubetrieb       "Weishaupt Wärmepumpe - Wärmepumpe - Pumpe Leistung Abtaubetrieb [%d %%]"                      ( HP_Z_WP )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_wp_holding:WP_PumpeLeistungAbtaubetrieb:number" }  //
Number                 HP_Z_WP_VolumenstromHeizen              "Weishaupt Wärmepumpe - Wärmepumpe - Volumenstrom Heizen [%s]"                                 ( HP_Z_WP )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_wp_holding:WP_VolumenstromHeizen:number" }  //
Number                 HP_Z_WP_VolumenstromKuehlen             "Weishaupt Wärmepumpe - Wärmepumpe - Volumenstrom Kühlen [%s]"                                 ( HP_Z_WP )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_wp_holding:WP_VolumenstromKuehlen:number" }  //
Number                 HP_Z_WP_VolumenstromWarmwasser          "Weishaupt Wärmepumpe - Wärmepumpe - Volumenstrom Warmwasser [%s]"                             ( HP_Z_WP )  [ "Point" ]      { channel="modbus:data:weishaupt:weishaupt_wp_holding:WP_VolumenstromWarmwasser:number" }  //


// **** 2. WEZ ****
Group                  HP_Z_WEZ2                          "Weishaupt Wärmepumpe - 2. WEZ"                                                                     ( HP_Z )            [ "Equipment" ]
// Status 2. WEZ                                                                34 101      Input
// Betriebsstunden 2. WEZ                                                       34 102      Input
// Schaltspiele 2. WEZ                                                          34 103      Input
// Status E-Heizung 1                                                           34 104      Input
// Status E-Heizung 2                                                           34 105      Input
// Betriebsstunden E1                                                           34 106      Input
// Betriebsstunden E2                                                           34 107      Input
Number                 HP_Z_WEZ2_Status2WEZ                  "Weishaupt Wärmepumpe - 2. WEZ - Status 2. WEZ [%s]"                                             ( HP_Z_WEZ2 )  [ "Point" ]        { channel="modbus:data:weishaupt:weishaupt_2wez_input:WEZ2_Status2WEZ:number" }   //
// Number              HP_Z_WEZ2_Betriebsstunden2WEZ                                                                                                          ( HP_Z_WEZ2 )  [ "Point" ]        { channel="modbus:data:weishaupt:weishaupt_2wez_input:WEZ2_Betriebsstunden2WEZ:number" }   //
// Number              HP_Z_WEZ2_Schaltspiele2WEZ                                                                                                             ( HP_Z_WEZ2 )  [ "Point" ]        { channel="modbus:data:weishaupt:weishaupt_2wez_input:WEZ2_Schaltspiele2WEZ:number" }   //
// Number              HP_Z_WEZ2_StatusEHeizung1                                                                                                              ( HP_Z_WEZ2 )  [ "Point" ]        { channel="modbus:data:weishaupt:weishaupt_2wez_input:WEZ2_StatusEHeizung1:number" }   //
// Number              HP_Z_WEZ2_StatusEHeizung2                                                                                                              ( HP_Z_WEZ2 )  [ "Point" ]        { channel="modbus:data:weishaupt:weishaupt_2wez_input:WEZ2_StatusEHeizung2:number" }   //
// Number              HP_Z_WEZ2_BetriebsstundenE1                                                                                                            ( HP_Z_WEZ2 )  [ "Point" ]        { channel="modbus:data:weishaupt:weishaupt_2wez_input:WEZ2_BetriebsstundenE1:number" }   //
// Number              HP_Z_WEZ2_BetriebsstundenE2                                                                                                            ( HP_Z_WEZ2 )  [ "Point" ]        { channel="modbus:data:weishaupt:weishaupt_2wez_input:WEZ2_BetriebsstundenE2:number" }   //

// Konfiguration                                                                44 101      Holding R
// Grenztemperatur                                                              44 102      Holding R/W
// Bivalenztemperatur                                                           44 103      Holding R/W
// Bivalenztemperatur WW                                                        44 104      Holding R/W
Number                 HP_Z_WEZ2_Konfiguration              "Weishaupt Wärmepumpe - 2. WEZ - Konfiguration [%s]"                                              ( HP_Z_WEZ2 )  [ "Point" ]         { channel="modbus:data:weishaupt:weishaupt_2wez_holding:WEZ2_Konfiguration:number" }  //
Number:Temperature     HP_Z_WEZ2_Grenztemperatur            "Weishaupt Wärmepumpe - 2. WEZ - Grenztemperatur [%.1f %unit%]"                                   ( HP_Z_WEZ2 )  [ "Point" ]         { channel="modbus:data:weishaupt:weishaupt_2wez_holding:WEZ2_Grenztemperatur:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }  //
Number:Temperature     HP_Z_WEZ2_Bivalenztemperatur         "Weishaupt Wärmepumpe - 2. WEZ - Bivalenztemperatur [%.1f %unit%]"                                ( HP_Z_WEZ2 )  [ "Point" ]         { channel="modbus:data:weishaupt:weishaupt_2wez_holding:WEZ2_Bivalenztemperatur:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }  //
Number:Temperature     HP_Z_WEZ2_BivalenztemperaturWW       "Weishaupt Wärmepumpe - 2. WEZ - Bivalenztemperatur WW [%.1f %unit%]"                             ( HP_Z_WEZ2 )  [ "Point" ]         { channel="modbus:data:weishaupt:weishaupt_2wez_holding:WEZ2_BivalenztemperaturWW:number" [ profile="modbus:gainOffset", gain="0.1 °C", pre-gain-offset="0" ] }  //
  
    // **** 2. Statistik ****
Group                  HP_Z_Stats                          "Weishaupt Wärmepumpe - Statistik"                                                                 ( HP_Z )            [ "Equipment" ]
    // Gesamt Energie heute                     MWh                                 36 101      Input
    // Gesamt Energie gestern                   MWh                                 36 102      Input
    // Gesamt Energie Monat                     MWh                                 36 103      Input
    // Gesamt Energie Jahr                      MWh                                 36 104      Input
    // Heizen Energie heute                     MWh                                 36 201      Input
    // Heizen Energie gestern                   MWh                                 36 202      Input
    // Heizen Energie Monat                     MWh                                 36 203      Input
    // Heizen Energie Jahr                      MWh                                 36 204      Input
    // Warmwasser Energie heute                 MWh                                 36 301      Input
    // Warmwasser Energie gestern               MWh                                 36 302      Input
    // Warmwasser Energie Monat                 MWh                                 36 303      Input
    // Warmwasser Energie Jahr                  MWh                                 36 304      Input
    // Kühlen Energie heute                     MWh                                 36 401      Input
    // Kühlen Energie gestern                   MWh                                 36 402      Input
    // Kühlen Energie Monat                     MWh                                 36 403      Input
    // Kühlen Energie Jahr                      MWh                                 36 404      Input 
Number:Energy          HP_Z_Statistik_Gesamt_heute              "Weishaupt Wärmepumpe - Statistik - Gesamt heute [%d %unit%]"                               ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_gesamt:Statistik_Gesamt_heute:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 
Number:Energy          HP_Z_Statistik_Gesamt_gestern            "Weishaupt Wärmepumpe - Statistik - Gesamt gestern [%d %unit%]"                             ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_gesamt:Statistik_Gesamt_gestern:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 
Number:Energy          HP_Z_Statistik_Gesamt_monat              "Weishaupt Wärmepumpe - Statistik - Gesamt monat [%d %unit%]"                               ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_gesamt:Statistik_Gesamt_monat:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 
Number:Energy          HP_Z_Statistik_Gesamt_jahr               "Weishaupt Wärmepumpe - Statistik - Gesamt jahr [%d %unit%]"                                ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_gesamt:Statistik_Gesamt_jahr:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 
Number:Energy          HP_Z_Statistik_Heizen_heute              "Weishaupt Wärmepumpe - Statistik - Heizen heute [%d %unit%]"                               ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_heizen:Statistik_Heizen_heute:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 
Number:Energy          HP_Z_Statistik_Heizen_gestern            "Weishaupt Wärmepumpe - Statistik - Heizen gestern [%d %unit%]"                             ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_heizen:Statistik_Heizen_gestern:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 
Number:Energy          HP_Z_Statistik_Heizen_monat              "Weishaupt Wärmepumpe - Statistik - Heizen monat [%d %unit%]"                               ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_heizen:Statistik_Heizen_monat:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 
Number:Energy          HP_Z_Statistik_Heizen_jahr               "Weishaupt Wärmepumpe - Statistik - Heizen jahr [%d %unit%]"                                ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_heizen:Statistik_Heizen_jahr:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 
Number:Energy          HP_Z_Statistik_WW_heute                  "Weishaupt Wärmepumpe - Statistik - WW heute [%d %unit%]"                                   ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_ww:Statistik_WW_heute:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 
Number:Energy          HP_Z_Statistik_WW_gestern                "Weishaupt Wärmepumpe - Statistik - WW gestern [%d %unit%]"                                 ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_ww:Statistik_WW_gestern:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 
Number:Energy          HP_Z_Statistik_WW_monat                  "Weishaupt Wärmepumpe - Statistik - WW monat [%d %unit%]"                                   ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_ww:Statistik_WW_monat:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 
Number:Energy          HP_Z_Statistik_WW_jahr                   "Weishaupt Wärmepumpe - Statistik - WW jahr [%d %unit%]"                                    ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_ww:Statistik_WW_jahr:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 
Number:Energy          HP_Z_Statistik_Kuehlen_heute             "Weishaupt Wärmepumpe - Statistik - Kühlen heute [%d %unit%]"                               ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_kuehlen:Statistik_Kuehlen_heute:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 
Number:Energy          HP_Z_Statistik_Kuehlen_gestern           "Weishaupt Wärmepumpe - Statistik - Kühlen gestern [%d %unit%]"                             ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_kuehlen:Statistik_Kuehlen_gestern:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 
Number:Energy          HP_Z_Statistik_Kuehlen_monat             "Weishaupt Wärmepumpe - Statistik - Kühlen monat [%d %unit%]"                               ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_kuehlen:Statistik_Kuehlen_monat:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 
Number:Energy          HP_Z_Statistik_Kuehlen_jahr              "Weishaupt Wärmepumpe - Statistik - Kühlen jahr [%d %unit%]"                                ( HP_Z_Stats )    [ "Point" ]     { channel="modbus:data:weishaupt:weishaupt_stats_kuehlen:Statistik_Kuehlen_jahr:number" [ profile="modbus:gainOffset", gain="1 kWh", pre-gain-offset="0" ] } 

Mapping Transformation files:
Weishaupt_Betriebstatusanzeige.map

0=undefiniert
1=Relaistest
2=Notaus
3=Diagnose
4=Handbetrieb
5=Handbetrieb Heizen
6=Handbetrieb Kühlen
7=Manueller Abtaubetrieb
8=Abtauen
9=2. WEZ
10=EVU Sperre
11=SG Tarif
12=SG Maximal
13=Tarifladung
14=Erhöhter Betrieb
15=Standzeit
16=Standbybetrieb
17=Spülbetrieb
18=Frostschutz
19=Heizbetrieb
20=Warmwasserbetrieb
21=Legionellenschutz
22=Umschaltung Heizen Kühlen
23=Kühlbetrieb
24=Passive Kühlung
25=Sommerbetrieb
26=Schwimmbad
27=Urlaub
28=Estricht
29=Gesperrt
30=Sperre At
31=Sperre Sommer
32=Sperre Winter
33=Einsatzgrenze
34=HK Sperre
35=Absenk

Weishaupt_Fehlerfrei.map

0=Fehler aktiv
1=Störungsfreier Betrieb

Weishaupt_Fehlerliste.map

1=Wärmetauscherfühler AG Eintritt (OCT) defekt
2=Druckgastemperaturfühler (CTT) defekt
3=Temperaturfühler im Inverter (HST) defekt
4=Luftansaugfühler (OAT) defekt
5=Wärmetauscherfühler AG Mitte (OMT) defekt
8=Hochdruck zu hoch
9=Niederdruck zu niedrig
10=Keine Kommunikation zum Inverter
11=Überstrom Verdichter
13=Kältekreislauf undicht
14=DC Über- oder Unterspannung
15=AC Über- oder Unterspannung
16=Außengerät und Hydraulikeinheit nicht kompatibel
17=Kommunikationsfehler
18=Außengerät überlastet
19=Fehler am Frequenzumrichter
20=Kühlbetrieb: Wärmetauscher Außengerät überhitzt
21=Systemtemperatur zu gering
22=Verdichter überhitzt
23=Stromaufnahme vom Verdichtermotor zu hoch
24=Ventilator läuft nicht
26=Verdichter blockiert
27=Systemtemperatur zu gering
28=Verdichter kann nicht gestartet werden
29=Kältemittelfühler Innen (B8) oder Wärmetauscher-Drucksensor ICT (B12) defekt
30=Verflüssiger überhitzt
31=Kältemittelfühler Innen (B8) zeigt unplausible Werte oder Einsatzgrenzen an
40=Durchfluss zu gering
41=Spreizung LWT/Rücklauf negativ
42=Druck am Wärmetauscher-Drucksensor Innen
47=Außengerät ohne Spannungsversorgung
50=Außenfühler (B1) unterbrochen
51=Außenfühler (B1) kurzgeschlossen
52=Weichenfühler (B2) unterbrochen
53=Weichenfühler (B2) kurzgeschlossen
54=Warmwasserfühler (B3) unterbrochen
55=Warmwasserfühler (B3) kurzgeschlossen
56=Durchflusssensor (B10) unterbrochen
57=Durchflusssensor (B10) kurzgeschlossen
58=Vorlauffühler Elektroheizung (B7) unterbrochen
59=Vorlauffühler Elektroheizung (B7) kurzgeschlossen
60=Kältemittelfühler Innen (B8) unterbrochen
61=Kältemittelfühler Innen (B8) kurzgeschlossen
62=Rücklauffühler EWT (B9) unterbrochen
63=Rücklauffühler EWT (B9) kurzgeschlossen
64=Durchflusssensor (B10) unterbrochen
65=Durchflusssensor (B10) kurzgeschlossen
66=Wärmetauscher-Drucksensor Innen (B12) unterbrochen
67=Wärmetauscher-Drucksensor Innen (B12) kurzgeschlossen
68=Durchflusssensor (B10): Signalfehler
70=Vorlauffühler Zweiter Heizkreis unterbrochen
71=Vorlauffühler Zweiter Heizkreis kurzgeschlossen
72=Fühler (T1) unterbrochen (optional)
73=Fühler (T1) kurzgeschlossen (optional)
74=Fühler (T2) unterbrochen (optional)
75=Fühler (T2) kurzgeschlossen (optional)
98=Interner Fehler
99=Nicht definierter Fehler
65535=kein Fehler

Weishaupt_HK_AnforderungTyp.map

0 = Aus
1 = Witterungsgeführt
2 = Konstant

Weishaupt_HK_Betriebsart.map

0 = Automatik
1 = Komfort
2 = Normal
3 = Absenkbetrieb
4 = Standby

Weishaupt_HK_Konfiguration.map

0 = Aus
1 = Pumpenkreis
2 = Mischkreis
3 = Sollwert

Weishaupt_HK_PauseParty.map

1 = Pausenzeit 12.0h
2 = Pausenzeit 11.5h
3 = Pausenzeit 11.0h
4 = Pausenzeit 10.5h
5 = Pausenzeit 10.0h
6 = Pausenzeit 9.5h
7 = Pausenzeit 9.0h
8 = Pausenzeit 8.5h
9 = Pausenzeit 8.0h
10 = Pausenzeit 7.5h
11 = Pausenzeit 7.0h
12 = Pausenzeit 6.5h
13 = Pausenzeit 6.0h
14 = Pausenzeit 5.5h
15 = Pausenzeit 5.0h
16 = Pausenzeit 4.5h
17 = Pausenzeit 4.0h
18 = Pausenzeit 3.5h
19 = Pausenzeit 3.0h
20 = Pausenzeit 2.5h
21 = Pausenzeit 2.0h
22 = Pausenzeit 1.5h
23 = Pausenzeit 1.0h
24 = Pausenzeit 0.5h
25 = Automatik
26 = Partyzeit 0.5h
27 = Partyzeit 1.0h
28 = Partyzeit 1.5h
29 = Partyzeit 2.0h
30 = Partyzeit 2.5h
31 = Partyzeit 3.0h
32 = Partyzeit 3.5h
33 = Partyzeit 4.0h
34 = Partyzeit 4.5h
35 = Partyzeit 5.0h
36 = Partyzeit 5.5h
37 = Partyzeit 6.0h
38 = Partyzeit 6.5h
39 = Partyzeit 7.0h
40 = Partyzeit 7.5h
41 = Partyzeit 8.0h
42 = Partyzeit 8.5h
43 = Partyzeit 9.0h
44 = Partyzeit 9.5h
45 = Partyzeit 10.0h
46 = Partyzeit 10.5h
47 = Partyzeit 11.0h
48 = Partyzeit 11.5h
49 = Partyzeit 12.0h

Weishaupt_Systembetriebsart.map

0=Automatik
1=Heizen
2=Kühlen
3=Sommer
4=Standby
5=2. WEZ

Weishaupt_WW_Konfiguration.map

0 = AUS
1 = Umlenkventil
8 = Pumpe

Note 1: When I initially got my Heatpump in 2020 it did not support Modbus. This was added with a firmware update done by a technician some time around 2022. Currently my heatpump is running version 0202040098.

Note 2: I didn’t translate the config to english, because Weishaupt mainly sells in german speaking countries. If there is interest I can assist in translating it.

Regards,
Andreas

3 Likes

Thanks for sharing!

Do you also optimize daily operations e.g. enforce heating when you have excess PV power available or power is cheap with a dynamic tariff?

Yes I do. Actually I have two levels of optimization implemented.

  • If there is excess PV power I switch the heatpump from normal operations to comfort mode (which is 1.5°C higher) to push some more energy into the building. Combined with the inertia of the underfloor heating this is quite often enough so that the heatpump can stay off during nights (especially during autumn and spring).
  • If there is excess PV power in the afternoon and the remaining forecast goes below 25kWh (using the Solar Forecast Binding) I switch the Heatpump into SG Ready increased operations. This will trigger preparation of Hotwater. The heatpump is configured to prepare water with higher temperature then normal when in increased operations (52°C instead of 47°C). The forecast is used to make sure hot water is prepared as late as possible during the day. This way I achieve that (especially during summertimes) hot water is prepared in the afternoon and is still hot enough for showers in the morning. This summer I was able to obtain 95% of the energy needed for hot water from PV.

Could you elaborate on the workings, please ? Eventually show your rules.

Do I get that right that SGr modes can be set through modbus?
Which items/registers would I need to set for that? I did not spot those in your .things.

And am I correctly assuming that heat pump goes into lock mode (no heating) and Betriebstatusanzeige = 10 happens when SGr inputs are 1/0, likewise 11 when 0/1 (increased heating) and 12 when 1/1 (maximum heating)?
And register 42105 defines the offset for heating buffer (!= hot water) so I can set that through modbus and don’t have to configure it using the panel?

Unfortunately, it’s not possible to trigger SGR modes using modbus (at least I could not find a way either). At the moment I have configured one of the binary inputs (SGR1, SGR2) of the Heat pump as “Increased Operations” (Erhöhter Betrieb) and I’m triggering this from a KNX switching actuator. I’m not using the SGR Ready configuration for SGR, but only “Increased Operations” so I’m mainly seeing Betriebsstatusanzeige 14=Erhöhter Betrieb. Betriebsstatusanzeige 10 would mean that the heat pump is blocked by EVU (i.e., “switch off”).

Register 42105 should define the offset for hot water buffer (at least according to the documentation I got from Weishaupt). However, I’m getting an error when trying to read or write it. Maybe it’s only implemented in a later firmware version. The documentation I got from Weishaupt isn’t versioned.

So what I do:

  1. Write Register 41103 (Betriebsart) to switch between Normal mode, Comfort mode and night operations.
  2. Use SGR inputs through a KNX switching actuator to trigger “Increased Operations”. Offset is configured in the heat pump directly. I configured an SG Ready increase for hot water of 17°C (because in the afternoon I have configured Absenkbetrieb with only 35°C). For safety reasons I also configured maximum hot water temperature to be 52°C. Going beyond 52°C I see warnings from the heat pump. (One note here: SG Ready defines that “increased operations” needs to stay on for at least 10 minutes when triggered).

I’m also controlling the Systembetriebsart (Register 40001) to switch between Cooling, Summer and Heating Mode and have mapped Hot water push (42102) to a button in OH.

Sharing my rules is a bit tricky as I’ve written my own - kind of - EMS as a groovy rule, where the Heat pump controll is just a small piece that is integrated into the whole thing. I’m willing to share it, but it would probably require some explanation. Just adding it to the thread would probably be more confusing then helping.

I still have the Modbus documentation from Weishaupt. If you’re interested, PM me with your mail address and I’ll send it to you.