Hi Stefan,
i can read and write to the heatpump but I do not figured out to start the heatpump when necessary. I can change the registers but the heatpump didnt start so far. I also contacted Heliotherm but still not receiver a answer for now.
I can paste you my items, things, … if you want.
//Heliotherm Wärmepumpe
Bridge modbus:tcp:Waermepumpe "Wärmepume" @ "Technikraum" [
host="192.168.178.33",
port=502,
id=1
] {
//Input register // Read // 16 or 32 bits per register
//Read registers. Reading 37 registers, with index 10-60.
Bridge poller Waermepumpe [
start=10,
length=37,
refresh=60000,
type="input"
] {
Thing data input10 "Wärmepume" @ "Technikraum" [ readStart="10", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input11 "Wärmepume" @ "Technikraum" [ readStart="11", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input12 "Wärmepume" @ "Technikraum" [ readStart="12", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input13 "Wärmepume" @ "Technikraum" [ readStart="13", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input14 "Wärmepume" @ "Technikraum" [ readStart="14", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input15 "Wärmepume" @ "Technikraum" [ readStart="15", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input16 "Wärmepume" @ "Technikraum" [ readStart="16", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input17 "Wärmepume" @ "Technikraum" [ readStart="17", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input18 "Wärmepume" @ "Technikraum" [ readStart="18", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input19 "Wärmepume" @ "Technikraum" [ readStart="19", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input20 "Wärmepume" @ "Technikraum" [ readStart="20", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input21 "Wärmepume" @ "Technikraum" [ readStart="21", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input22 "Wärmepume" @ "Technikraum" [ readStart="22", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input23 "Wärmepume" @ "Technikraum" [ readStart="23", readValueType="int16"]
Thing data input24 "Wärmepume" @ "Technikraum" [ readStart="24", readValueType="int16"]
Thing data input25 "Wärmepume" @ "Technikraum" [ readStart="25", readValueType="int16"]
Thing data input26 "Wärmepume" @ "Technikraum" [ readStart="26", readValueType="int16"]
Thing data input27 "Wärmepume" @ "Technikraum" [ readStart="27", readValueType="int16"]
Thing data input28 "Wärmepume" @ "Technikraum" [ readStart="28", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input29 "Wärmepume" @ "Technikraum" [ readStart="29", readValueType="int16"]
Thing data input30 "Wärmepume" @ "Technikraum" [ readStart="30", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input31 "Wärmepume" @ "Technikraum" [ readStart="31", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input32 "Wärmepume" @ "Technikraum" [ readStart="32", readValueType="int16"]
Thing data input33 "Wärmepume" @ "Technikraum" [ readStart="33", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input34 "Wärmepume" @ "Technikraum" [ readStart="34", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input35 "Wärmepume" @ "Technikraum" [ readStart="35", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input36 "Wärmepume" @ "Technikraum" [ readStart="36", readValueType="int16", readTransform="JS(divide10.js)"]
Thing data input37 "Wärmepume" @ "Technikraum" [ readStart="37", readValueType="int16"]
Thing data input38 "Wärmepume" @ "Technikraum" [ readStart="38", readValueType="int16"]
Thing data input39 "Wärmepume" @ "Technikraum" [ readStart="39", readValueType="int16"]
Thing data input40 "Wärmepume" @ "Technikraum" [ readStart="40", readValueType="int16"]
Thing data input41 "Wärmepume" @ "Technikraum" [ readStart="41", readValueType="int16"]
Thing data input42 "Wärmepume" @ "Technikraum" [ readStart="42", readValueType="uint32"]
Thing data input43 "Wärmepume" @ "Technikraum" [ readStart="43", readValueType="uint32"]
Thing data input44 "Wärmepume" @ "Technikraum" [ readStart="44", readValueType="uint32"]
Thing data input45 "Wärmepume" @ "Technikraum" [ readStart="45", readValueType="uint32"]
/*
Thing data input60 "Wärmepume" @ "Technikraum" [ readStart="60", readValueType="uint32", readTransform="JS(divide1000.js)"]
Thing data input61 "Wärmepume" @ "Technikraum" [ readStart="61", readValueType="uint32"]
Thing data input62 "Wärmepume" @ "Technikraum" [ readStart="62", readValueType="uint32"]
Thing data input63 "Wärmepume" @ "Technikraum" [ readStart="63", readValueType="uint32"]
Thing data input64 "Wärmepume" @ "Technikraum" [ readStart="64", readValueType="uint32"]
Thing data input65 "Wärmepume" @ "Technikraum" [ readStart="65", readValueType="uint32"]
Thing data input66 "Wärmepume" @ "Technikraum" [ readStart="66", readValueType="uint32"]
Thing data input67 "Wärmepume" @ "Technikraum" [ readStart="67", readValueType="uint32"]
Thing data input68 "Wärmepume" @ "Technikraum" [ readStart="68", readValueType="uint32"]
Thing data input69 "Wärmepume" @ "Technikraum" [ readStart="69", readValueType="uint32"]
Thing data input70 "Wärmepume" @ "Technikraum" [ readStart="70", readValueType="uint32"]
Thing data input71 "Wärmepume" @ "Technikraum" [ readStart="71", readValueType="uint32"]
Thing data input72 "Wärmepume" @ "Technikraum" [ readStart="72", readValueType="uint32"]
Thing data input73 "Wärmepume" @ "Technikraum" [ readStart="73", readValueType="uint32"]
Thing data input74 "Wärmepume" @ "Technikraum" [ readStart="74", readValueType="uint32"]
Thing data input75 "Wärmepume" @ "Technikraum" [ readStart="75", readValueType="uint32"]
*/
}
//Holding register // Read-write // 16 bits per register
//Read-write for holding registers. Reading 1 registers, with index 100-.
Bridge poller Waermepumpe_RW [
start=100,
length=31,
refresh=60000,
type="holding"
] {
// Betriebsart 0 = Aus 1 = Auto 2 = Kühl. 3 = Sommer 4 = Dauer. 5 = Absenk. 6 = Urlaub 7 = Party 8 = Ausheizen 9 = EVU Sperre 10 = Hauptschalter aus
Thing data holding100 "Wärmepume_RW" @ "Technikraum" [ readStart="100", readValueType="uint16", writeStart="100", writeValueType="int16", writeType="holding" ]
// 101 03, 06, 16 INT16 HKR Soll_Raum (Raumsolltemperatur) Einheit in 0,1°C
Thing data holding101 "Wärmepume_RW" @ "Technikraum" [ readStart="101", readValueType="int16",readTransform="JS(divide10.js)", writeStart="101", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" ]
// HKR Soll (Raumsolltemperatur) Einheit in 0,1°C
Thing data holding102 "Wärmepume_RW" @ "Technikraum" [ readStart="102", readValueType="int16",readTransform="JS(divide10.js)", writeStart="102", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" ]
// HKR Soll (Raumsolltemperatur) aktiv 0 oder 1
Thing data holding103 "Wärmepume_RW" @ "Technikraum" [ readStart="103", readValueType="uint16", writeStart="103", writeValueType="int16", writeType="holding" ]
// RLT min Kuehlen Einheit 0,1°C
Thing data holding104 "Wärmepume_RW" @ "Technikraum" [ readStart="104", readValueType="int16",readTransform="JS(divide10.js)", writeStart="104", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" ]
// WW Normaltemp. Einheit 0,1°C
Thing data holding105 "Wärmepume_RW" @ "Technikraum" [ readStart="105", readValueType="int16",readTransform="JS(divide10.js)", writeStart="105", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" ]
// WW Minimaltemp. Einheit 0,1°C
Thing data holding106 "Wärmepume_RW" @ "Technikraum" [ readStart="106", readValueType="int16",readTransform="JS(divide10.js)", writeStart="106", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" ]
// MKR1 Betriebsart Siehe Reg. 100
Thing data holding107 "Wärmepume_RW" @ "Technikraum" [ readStart="107", readValueType="uint16", writeStart="107", writeValueType="int16", writeType="holding" ]
// MKR1 Soll_Raum Einheit in 0,1°C
Thing data holding108 "Wärmepume_RW" @ "Technikraum" [ readStart="108", readValueType="int16",readTransform="JS(divide10.js)", writeStart="108", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" ]
// MKR1 Soll Einheit in 0,1°C
Thing data holding109 "Wärmepume_RW" @ "Technikraum" [ readStart="109", readValueType="int16",readTransform="JS(divide10.js)", writeStart="109", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" ]
// MKR1 Soll aktiv 0 oder 1
Thing data holding110 "Wärmepume_RW" @ "Technikraum" [ readStart="110", readValueType="uint16", writeStart="110", writeValueType="int16", writeType="holding" ]
// MKR1 Kuehlen RLT min. Einheit in 0,1°C
Thing data holding111 "Wärmepume_RW" @ "Technikraum" [ readStart="111", readValueType="int16",readTransform="JS(divide10.js)", writeStart="111", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" ]
// MKR2 Betriebsart Siehe Reg.100
Thing data holding112 "Wärmepume_RW" @ "Technikraum" [ readStart="112", readValueType="uint16", writeStart="112", writeValueType="int16", writeType="holding" ]
// MKR2 Soll_Raum Einheit in 0,1°C
Thing data holding113 "Wärmepume_RW" @ "Technikraum" [ readStart="113", readValueType="int16",readTransform="JS(divide10.js)", writeStart="113", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" ]
// MKR Soll Einheit in 0,1°C
Thing data holding114 "Wärmepume_RW" @ "Technikraum" [ readStart="114", readValueType="int16",readTransform="JS(divide10.js)", writeStart="114", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)"]
// MKR2 Soll aktiv 0 oder 1
Thing data holding115 "Wärmepume_RW" @ "Technikraum" [ readStart="115", readValueType="uint16", writeStart="115", writeValueType="int16", writeType="holding" ]
// MKR2 Kuehlen RLT min. Einheit in 0,1°C
Thing data holding116 "Wärmepume_RW" @ "Technikraum" [ readStart="116", readValueType="int16",readTransform="JS(divide10.js)", writeStart="116", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" ]
// PV Anf. 0 oder 1 (*1)
Thing data holding117 "Wärmepume_RW" @ "Technikraum" [ readStart="117", readValueType="uint16", writeStart="117", writeValueType="int16", writeType="holding"]
// Leistungsaufnahmevorgabe Einheit in W (*2)
Thing data holding125 "Wärmepume_RW" @ "Technikraum" [ readStart="125", readValueType="uint16", writeStart="125", writeValueType="int16", writeType="holding"]
// Verdichterdrehzahlvorgabe Einheit in ‰(*3), (*4)
Thing data holding126 "Wärmepume_RW" @ "Technikraum" [ readStart="126", readValueType="int16",readTransform="JS(divide10.js)", writeStart="126", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" ] // 126 darf nicht beschrieben werden
// Ext. Anf 0 oder 1
Thing data holding127 "Wärmepume_RW" @ "Technikraum" [ readStart="127", readValueType="uint16", writeStart="127", writeValueType="int16", writeType="holding" ]
// Entstoeren 0 oder 1
Thing data holding128 "Wärmepume_RW" @ "Technikraum" [ readStart="128", readValueType="uint16", writeStart="128", writeValueType="int16", writeType="holding" ]
// Aussentemperatur Wert Einheit in 0,1°C
Thing data holding129 "Wärmepume_RW" @ "Technikraum" [ readStart="129", readValueType="int16",readTransform="JS(divide10.js)", writeStart="129", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" ]
//Aussentemperatur aktiv 0 oder 1
Thing data holding130 "Wärmepume_RW" @ "Technikraum" [ readStart="130", readValueType="uint16", writeStart="130", writeValueType="int16", writeType="holding" ]
//Thing data holding131 "Wärmepume_RW" @ "Technikraum" [ readStart="131", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="131", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */]
//Thing data holding132 "Wärmepume_RW" @ "Technikraum" [ readStart="132", readValueType="uint16"/*, writeStart="132", writeValueType="uint16", writeType="holding" */]
//Thing data holding133 "Wärmepume_RW" @ "Technikraum" [ readStart="133", readValueType="int16",readTransform="JS(divide10.js)"/*, writeStart="133", writeValueType="int16", writeType="holding", writeTransform="JS(multiply10.js)" */]
//Thing data holding134 "Wärmepume_RW" @ "Technikraum" [ readStart="134", readValueType="uint16"/*, writeStart="134", writeValueType="uint", writeType="holding" */]
}
}
```csv
Group gWp "Waermepumpe" // Wärmepumpe
Switch Switch_WP_PV_FBH "WP_PV_FBH Anforderung"
Switch Switch_WP_Tomorrow "WP_Tomorrow Funktion"
Number Modbus_Waermepumpe_Temp_aussen "Aussentemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input10:number" }
Number Modbus_Waermepumpe_Temp_Brauchwasser "Brauchwassertemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input11:number" }
Number Modbus_Waermepumpe_Temp_Vorlauf "Vorlauftemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input12:number" }
Number Modbus_Waermepumpe_Temp_Ruecklauf "Ruecklauftemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input13:number" }
//Number Modbus_Waermepumpe_Temp_Pufferspeicher "Pufferspeichertemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input14:number" }
Number Modbus_Waermepumpe_EQ_Eintritt "EQ Eintritttemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input15:number" }
Number Modbus_Waermepumpe_EQ_Austritt "EQ Austritttemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input16:number" }
Number Modbus_Waermepumpe_Sauggas "Sauggastemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input17:number" }
Number Modbus_Waermepumpe_Verdampfung "Verdampfertemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input18:number" }
Number Modbus_Waermepumpe_Kondensation "Kondensationtemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input19:number" }
Number Modbus_Waermepumpe_Heissgas "Heissgastemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input20:number" }
Number Modbus_Waermepumpe_Niederdruck "Niederdruck [%.1f bar]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input21:number" }
Number Modbus_Waermepumpe_Hochdruck "Hochdruck [%.1f bar]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input22:number" }
Number Modbus_Waermepumpe_Heizkreispumpe "Heizkreispumpe [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input23:number" }
Number Modbus_Waermepumpe_Pufferladepumpe "Pufferladepumpe [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input24:number" }
Number Modbus_Waermepumpe_Verdichter "Verdichter [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input25:number" }
Number Modbus_Waermepumpe_Stoerung "Stoerung [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input26:number" }
Number Modbus_Waermepumpe_Vierwegeventil_Luft "Vierwegeventil Luft [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input27:number" }
Number Modbus_Waermepumpe_WMZ_Durchfluss "WMZ Durchfluss [%.1f l/min]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input28:number" }
Number Modbus_Waermepumpe_nSoll_Verdichter "n-Soll Verdichter [%d %%]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input29:number" }
Number Modbus_Waermepumpe_COP "COP [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input30:number" }
Number Modbus_Waermepumpe_Frischwasser "Frischwassertemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input31:number" }
Number Modbus_Waermepumpe_EVU_Sperre "EVU Sperre [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input32:number" }
Number Modbus_Waermepumpe_Temp_aussen_verz "Aussentemperatur verzögert [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input33:number" }
Number Modbus_Waermepumpe_HKR_Solltemp "Heizkreis Solltemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input34:number" }
//Number Modbus_Waermepumpe_MKR1_Solltemp "MKR1 Solltemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input35:number" }
//Number Modbus_Waermepumpe_MKR2_Solltemp "MKR2 Solltemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input36:number" }
Number Modbus_Waermepumpe_EQ_Ventilator "EQ-Ventilator [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input37:number" }
Number Modbus_Waermepumpe_WW_Vorrang "WW-Vorrang [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input38:number" }
Number Modbus_Waermepumpe_Kuehlen_UMV_passiv "Kuehlen UMV passiv [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input39:number" }
Number Modbus_Waermepumpe_Expansionsventil "Expansionsventil [%d %%]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input40:number" }
Number Modbus_Waermepumpe_Verdichteranforderung "Verdichteranforderung [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input41:number" }
Number Modbus_Waermepumpe_BetriebsstundenWW1 "Betriebsstunden im WW-Betrieb1 [%s h]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input42:number" }
//Number Modbus_Waermepumpe_BetriebsstundenWW2 "Betriebsstunden im WW-Betrieb2 [%d h]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input43:number" }
Number Modbus_Waermepumpe_BetriebsstundenHZG1 "Betriebsstunden im HZG-Betrtieb1 [%s h]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input44:number" }
//Number Modbus_Waermepumpe_BetriebsstundenHZG2 "Betriebsstunden im HZG-Betrtieb2 [%d h]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input45:number" }
//Number Modbus_Waermepumpe_WMZ_Heizung "WMZ Heizung [%d kW/h]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input60:number" }
//Number Modbus_Waermepumpe_Stromz_Heizung "Stromzaehler Heizung [%d kW/h]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe:input41:number" }
//Read/Write
Number Modbus_Waermepumpe_Betriebsart "Betriebsart [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding100:number" }
Number Modbus_Waermepumpe_HKR_SOLL_RAUM "Raumsolltemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding101:number" }
Number Modbus_Waermepumpe_HKR_SOLL "HKR Solltemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding102:number" }
Number Modbus_Waermepumpe_HKR_SOLL_aktiv "HKR Solltemperatur aktiv [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding103:number" }
Number Modbus_Waermepumpe_RLT_Kuehlen "RLT min Kuehlen [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding104:number" }
Number Modbus_Waermepumpe_WW_Normaltemp "WW Normaltemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding105:number" }
Number Modbus_Waermepumpe_WW_Minimaltemp "WW Minimaltemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding106:number" }
//Number Modbus_Waermepumpe_MKR1_Betriebsart "MKR1 Betriebsart [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding107:number" }
//Number Modbus_Waermepumpe_MKR1_SOLL_RAUM "MKR1 Raumsolltemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding108:number" }
//Number Modbus_Waermepumpe_MKR1_SOLL_ "MKR1 Solltemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding109:number" }
//Number Modbus_Waermepumpe_MKR1_SOLL_aktiv "MKR1 Solltemperatur aktiv [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding110:number" }
//Number Modbus_Waermepumpe_MKR1_RLT_Kuehlen "MKR1 RLT min Kuehlen [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding111:number" }
//Number Modbus_Waermepumpe_MKR2_Betriebsart "MKR2 Betriebsart [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding112:number" }
//Number Modbus_Waermepumpe_MKR2_SOLL_RAUM "MKR2 Raumsolltemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding113:number" }
//Number Modbus_Waermepumpe_MKR2_SOLL_ "MKR2 Solltemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding114:number" }
//Number Modbus_Waermepumpe_MKR2_SOLL_aktiv "MKR2 Solltemperatur aktiv [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding115:number" }
//Number Modbus_Waermepumpe_MKR2_RLT_Kuehlen "MKR2 RLT min Kuehlen [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding116:number" }
Number Modbus_Waermepumpe_PV_Anf "PV Anforderung [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding117:number" }
//Switch Modbus_Waermepumpe_PV_Anf_sw "PV Anforderung [%s]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding117:switch" }
Number Modbus_Waermepumpe_Leistungsaufnahmevorgabe "Leistungsaufnahmevorgabe [%.1f W]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding125:number" }
Number Modbus_Waermepumpe_Verdichterdrehzahlvorgabe "Verdichterdrehzahlvorgabe [%d %%]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding126:number" }
Number Modbus_Waermepumpe_Ext_Anf "Ext. Anforderung [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding127:number" }
Number Modbus_Waermepumpe_Entstoeren "Entstoeren [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding128:number" }
Number Modbus_Waermepumpe_Aussentemperatur "Aussentemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding129:number" }
Number Modbus_Waermepumpe_Aussentemperatur_aktiv "Aussentemperatur aktiv [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding130:number" }
//Number Modbus_Waermepumpe_Puffertemperatur "Puffertemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding131:number" }
//Number Modbus_Waermepumpe_Puffertemperatur_aktiv "Puffertemperatur aktiv [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding132:number" }
//Number Modbus_Waermepumpe_Brauchwassertemperatur "Brauchwassertemperatur [%.1f °C]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding133:number" }
//Number Modbus_Waermepumpe_Brauchwassertemperatur_aktiv "Brauchwassertemperatur aktiv [%d]" (gWp) { channel="modbus:data:Waermepumpe:Waermepumpe_RW:holding134:number" }
// Switch WP_PV_Anforderung "Manuelle WP PV Anforderung" (gWp)
//Das funzt jetzt
rule "WP HKR AN"
when
Item Switch_WP_PV_FBH received command ON
then
//if (Tag_Nacht.state==ON && (now.getHourOfDay() >= 16 && now.getHourOfDay() <= 20 ))
{
//Modbus_Waermepumpe_Betriebsart.sendCommand(1)
// Externe PV-Anforderung mit Leistungsaufnahme
// Anforderung PV (Freigabe zur Leistungsvorgabe) auf > 1 (true)
Modbus_Waermepumpe_PV_Anf.sendCommand(1)
// Leistungsaufnahmevorgabe in: 0 - xxxx (in W, je nach Leistung der Wärmepumpe)
Modbus_Waermepumpe_Leistungsaufnahmevorgabe.sendCommand(1500)
// HKR Soll (Rücklauftemperatur in der Einheit 0,1°C (z.B.: 280 = 28,0°C)
Modbus_Waermepumpe_HKR_SOLL_aktiv.sendCommand(1)
// HKR Soll (Rücklauftemperatur) aktiv muss auf 1 (TRUE) geschrieben werden, damit das Register 102 übernommen wird.
Modbus_Waermepumpe_HKR_SOLL.sendCommand(28)
}
end
rule "WP HKR OFF"
when
Item Switch_WP_PV_FBH received command OFF
then
//if (Tag_Nacht.state==ON && (now.getHourOfDay() >= 16 && now.getHourOfDay() <= 20 ))
{
// Externe PV-Anforderung mit Leistungsaufnahme
// Anforderung PV (Freigabe zur Leistungsvorgabe) auf > 1 (true)
Modbus_Waermepumpe_PV_Anf.sendCommand(0)
// Leistungsaufnahmevorgabe in: 0 - xxxx (in W, je nach Leistung der Wärmepumpe)
Modbus_Waermepumpe_Leistungsaufnahmevorgabe.sendCommand(0)
Modbus_Waermepumpe_HKR_SOLL_aktiv.sendCommand(0)
//Modbus_Waermepumpe_HKR_SOLL.sendCommand(23)
}
end
// WARMWASSER
/*
rule "WP WW AN"
when
Item Switch_WP_PV_FBH received command ON
then
//if (Tag_Nacht.state==ON && (now.getHourOfDay() >= 16 && now.getHourOfDay() <= 20 ))
{
//Modbus_Waermepumpe_Betriebsart.sendCommand(1)
// Externe PV-Anforderung mit Leistungsaufnahme
// Anforderung PV (Freigabe zur Leistungsvorgabe) auf > 1 (true)
// Modbus_Waermepumpe_PV_Anf.sendCommand(1)
// Leistungsaufnahmevorgabe in: 0 - xxxx (in W, je nach Leistung der Wärmepumpe)
// Modbus_Waermepumpe_Leistungsaufnahmevorgabe.sendCommand(1500)
}
end
*/
//Funktioniert aber muss aktiviert werden.
/*
rule "Temperatur außen per KNX"
when
Item gTempOut changed
then
//if (Tag_Nacht.state==ON && (now.getHourOfDay() >= 16 && now.getHourOfDay() <= 20 ))
{
Modbus_Waermepumpe_Aussentemperatur_aktiv.sendCommand(1)
Modbus_Waermepumpe_Aussentemperatur.sendCommand(gTempOut.state as Number)
}
end
*/
rule "WP mode tomorrow"
when
//Time cron "19 * * * * ?"
Time cron "0 0 23 * * ?"
then
if (Modbus_Waermepumpe_Verdichter.state > 0) {
logInfo("rules", "Laufende Verdichteranforderung")
return;
}
if (Switch_WP_Tomorrow.state != ON) {
logInfo("rules", "WP Tomorrow ausgeschaltet")
return;
}
if ((localTomorrowCloudiness.state as Number).floatValue >= 40) {
if (Modbus_Waermepumpe_Betriebsart == 1) {
logInfo("rules", "Betriebsart Auto bereits aktiv")
return;
}
else {
Modbus_Waermepumpe_Betriebsart.sendCommand(1)
logInfo("rules", "WP Automatik, da bewölkt ")
}
}
else {
if (Modbus_Waermepumpe_Betriebsart == 3) {
logInfo("rules", "Betriebsart Sommer bereits aktiv")
return;
}
else {
Modbus_Waermepumpe_Betriebsart.sendCommand(3)
logInfo("rules", "WP Sommer, da klares Wetter")
}
}
end