Seite 1 von 1

Rule vereinfachen

Verfasst: 4. Jan 2020 17:53
von Torti
Hallo, ich habe eine ( naja zwei) Rule, diese funktioniert auch, aber ich möchte sie vereinfachen und zusammenfassen.
Ich habe mehrere Funksteckdosen, die ich über den Raspi und Openhab2 steuer (Danke an Udo1toni)
nun wollte ich diese über Alexa steuern und habe festgestellt, ich brauche einen Dummy Switch ( so glaube ich es zumindest)
Ich kann nun diesen Dummy mit alexa ansprechen : "Schalte Stehlampe an" und er schaltet das Item "LichtCouch" an.
Mit diesem Dummy lasse ich nun in einer Regel die Funksteckdose schalten.

Code: Alles auswählen

rule "CouchLichtan"
when 
    Item LichtCouch received command ON
then
    poweroutletacSwitch.sendCommand("on")
end

rule "CouchLichtaus"
when 
    Item LichtCouch received command OFF
then
    poweroutletacSwitch.sendCommand("off")
end
Könnte mir einer diese Regel so umschreiben, damit es nur noch eine Regel ist?
Da ich nämlich 10 Steckdosen habe wäre das eine Verkürzung der Rule Datei
Danke schon mal

Re: Rule vereinfachen

Verfasst: 4. Jan 2020 20:22
von KellerK1nd
Die wohl einfachste Variante wäre diese:

Code: Alles auswählen

rule "CouchLicht"
when
	Item LichtCouch received command
then
	switch (receivedCommand) {
		case ON : poweroutletacSwitch.sendCommand("on")
		case OFF : poweroutletacSwitch.sendCommand("off")
		}
end

Re: Rule vereinfachen

Verfasst: 4. Jan 2020 23:43
von udo1toni
Oder mit ternärem Operator:

Code: Alles auswählen

rule "CouchLicht"
when
    Item LichtCouch received command
then
    poweroutletacSwitch.sendCommand(if(receivedCommand == ON) "on" else "off")
end
Das empfangen Kommando kann nur ON oder OFF sein...

Re: Rule vereinfachen

Verfasst: 5. Jan 2020 07:14
von Torti
Oh man, ich habe echt eine Std versucht es selber hin zu bekommen. Vielen dank an Euch beide, funktionieren beide einwandfrei und meine rule Datei ist nur noch halb so lange.
Danke