Rule vereinfachen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Torti
Beiträge: 40
Registriert: 24. Mär 2019 09:42
Answers: 0

Rule vereinfachen

Beitrag 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

Benutzeravatar
KellerK1nd
Beiträge: 432
Registriert: 17. Jun 2019 16:45
Answers: 1
Wohnort: Griesheim

Re: Rule vereinfachen

Beitrag 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
Betriebssystem: Proxmox 7.3-4
openHAB Container: debian11 LXC
openHAB Version: 3.4
Hardware: HomeServer Eigenbau mit einem Intel i5 9600K
Smarthome-Equipment:
- Rasperrymatic
- deConz
- HUE
- Shellys
- Mosquitto
- AVM Fritz!Box

Benutzeravatar
udo1toni
Beiträge: 15248
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Rule vereinfachen

Beitrag 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...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Torti
Beiträge: 40
Registriert: 24. Mär 2019 09:42
Answers: 0

Re: Rule vereinfachen

Beitrag 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

Antworten