Moin, anbei mal meine Konfiguration, die ich am Wochenende gemacht habe. Schön finde ich die Regeln noch nicht, hier fehlt mir aber gerade die Idee.
Sitemap:
Frame label="Heizung" {
Text item=Ht_Br_Radiator_SetTemperature
Text item=Ht_Br_Radiator_ActualTemperature
Setpoint item=Ht_Br_Radiator_SetTemperature minValue=15.0 maxValue= 30.0 step=0.5
Switch item=Ht_Br_Radiator_Mode mappings=[0="Auto", 1="Manual", 2="Boost", 3="Tag", 4="Nacht"]
}
Anzeige der Soll- und der Ist Temperatur, dann der Setpoint um die Solltemperatur zu ändern und am Schluss die buttons für die Funktionen Automode usw.
Items:
Group gHt_Br_Radiator "Heizungs Schlafzimmer"
Number Ht_Br_Radiator_SetTemperature "Temperatur (Soll) autom. [%.1f °C]" <sysHeating> (gHt_Br_Radiator) { homematic="address=LEQ..., channel=4, parameter=SET_TEMPERATURE" }
Number Ht_Br_Radiator_ActualTemperature "Temperatur (Ist) [%.1f °C]" <sysTemperature> (gHt_Br_Radiator) { homematic="address=LEQ..., channel=4, parameter=ACTUAL_TEMPERATURE" }
Switch Ht_Br_Radiator_BoostMode "Boost Mode" <sysSwitch> (gHt_Br_Radiator) {homematic="address=LEQ..., channel=4, parameter=BOOST_MODE"}
Number Ht_Br_Radiator_BoostState "Boost State [%d min]" <sysSwitch> (gHt_Br_Radiator) {homematic="address=LEQ..., channel=4, parameter=BOOST_STATE"}
Switch Ht_Br_Radiator_AutoMode "Auto Mode" <sysSwitch> (gHt_Br_Radiator) {homematic="address=LEQ..., channel=4, parameter=AUTO_MODE"}
Number Ht_Br_Radiator_ManualMode "Temperatur (Soll) man. [%.1f °C]" <sysSwitch> (gHt_Br_Radiator) { homematic="address=LEQ..., channel=4, parameter=MANU_MODE" }
Switch Ht_Br_Radiator_ComfortMode "Comfort Mode" <sysSwitch> (gHt_Br_Radiator) {homematic="address=LEQ..., channel=4, parameter=COMFORT_MODE"}
Switch Ht_Br_Radiator_LoweringMode "Lowering Mode" <sysSwitch> (gHt_Br_Radiator) {homematic="address=LEQ..., channel=4, parameter=LOWERING_MODE"}
Number Ht_Br_Radiator_ControlMode "Control Mode [%d]" <sysSwitch> (gHt_Br_Radiator) { homematic="address=LEQ..., channel=4, parameter=CONTROL_MODE" }
Number Ht_Br_Radiator_Mode "Modus" <sysSwitch> (gHt_Br_Radiator)
Hier nur die Item, die gebraucht werden, Batteriestatus usw. sind natürlich auch definiert.
Rules:
rule "set_bedroom_radiator_mode"
when
Item Ht_Br_Radiator_Mode changed
then
switch (Ht_Br_Radiator_Mode.state)
{
case 0: { // Auto Mode
Ht_Br_Radiator_AutoMode.sendCommand(ON)
}
case 1: { // Manual Mode
Ht_Br_Radiator_ManualMode.sendCommand(Ht_Of_Radiator_SetTemperature.state as DecimalType)
}
case 2: { // Boost Mode
Ht_Br_Radiator_BoostMode.sendCommand(ON)
}
case 3: { // Tag / Comfort Modus
Ht_Br_Radiator_ComfortMode.sendCommand(ON)
}
case 4: { // Nacht / Lowering Modus
Ht_Br_Radiator_LoweringMode.sendCommand(ON)
}
}
end
rule "update_bedroom_radiator_mode"
when
Item Ht_Br_Radiator_ControlMode changed
then
switch (Ht_Br_Radiator_ControlMode.state)
{
case 0: { // Auto Mode
Ht_Br_Radiator_Mode.postUpdate(0)
}
case 1: { // Manual Mode
Ht_Br_Radiator_Mode.postUpdate(1)
}
case 3: { // Boost Mode
Ht_v_Radiator_Mode.postUpdate(2)
}
}
end
Die erste Regel löst quasi das passende Kommando bei entsprechendem Tastendruck aus und die zweite Regel passt den Tastenstatus an, wenn z.B. aus dem Boostmode zurückgeschaltet wird.
Wie oben schon angeführt muss ich im Augenblick für jeden Thermostat eigene Regeln anlegen, was nicht wirklich optimal ist. Vielleicht hat ja jemand eine Idee.
Bin gespannt auf weitere Lösungen.
Gruß
thoams