In einer Regel unterscheiden welche Channel getriggert hat
Verfasst: 1. Jan 2021 20:57
Hallo Zusammen,
Im Zusammenhang mit der Umstellung auf Openhab3 würde ich gerne manche meiner Rules Zusammenfassen um das ganze etwas Übersichtlicher und auch schneller zu machen.
Hierbei habe ich allerdings keine Idee wie Ich in einer Rule unterscheide wenn die Regel über einen Channel getriggert wird, bei Items habe ich ja triggeringItemName und das ganze zu Unterscheiden und entsprechend zu Reagieren.
Ich habe nun eine Fernbedienung mit 8 tasten die jeweils etwas anderes machen ich würde diese 8 Regeln nun gerne zu einer Zusammenfassen.
Als Beispiel hier mal eine der Regeln diese sind eigentlich alle gleich Aufgebaut und machen in verschiedenen Räumen das Licht an.
Ziel ist es aus diesen 8 Regeln eine zu Machen 
Vielen Dank
Darkwin101
Im Zusammenhang mit der Umstellung auf Openhab3 würde ich gerne manche meiner Rules Zusammenfassen um das ganze etwas Übersichtlicher und auch schneller zu machen.
Hierbei habe ich allerdings keine Idee wie Ich in einer Rule unterscheide wenn die Regel über einen Channel getriggert wird, bei Items habe ich ja triggeringItemName und das ganze zu Unterscheiden und entsprechend zu Reagieren.
Ich habe nun eine Fernbedienung mit 8 tasten die jeweils etwas anderes machen ich würde diese 8 Regeln nun gerne zu einer Zusammenfassen.
Als Beispiel hier mal eine der Regeln diese sind eigentlich alle gleich Aufgebaut und machen in verschiedenen Räumen das Licht an.
Code: Alles auswählen
rule "Licht Wohnzimmer erhöhen bei Druck auf Button 1"
when
Channel 'homematic:HmIP-RC8:ccu3:000B1BE9940F81:1#BUTTON' triggered
then
switch(receivedEvent){
case "SHORT_PRESSED" : { sendCommand(Wohn_Helligkeit, (Wohn_Helligkeit.state as Number + 10))}
case "LONG_PRESSED" : { sendCommand(Wohn_Helligkeit, (Wohn_Helligkeit.state as Number + 20))}
case "DOUBLE_PRESSED": { sendCommand(Wohn_Helligkeit, (ON))}
}
end
rule "Licht Wohnzimmer verringern bei Druck auf Button 2"
when
Channel 'homematic:HmIP-RC8:ccu3:000B1BE9940F81:2#BUTTON' triggered
then
switch(receivedEvent){
case "SHORT_PRESSED" : { sendCommand(Wohn_Helligkeit, (Wohn_Helligkeit.state as Number - 10))}
case "LONG_PRESSED" : { sendCommand(Wohn_Helligkeit, (Wohn_Helligkeit.state as Number - 20))}
case "DOUBLE_PRESSED": { sendCommand(Wohn_Helligkeit, (OFF))}
}
end

Vielen Dank
Darkwin101