OH3.1 / groeßere DSL-Rule zulangsam??

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
itsego1990
Beiträge: 14
Registriert: 21. Nov 2017 23:27
Answers: 1
Wohnort: BW

OH3.1 / groeßere DSL-Rule zulangsam??

Beitrag von itsego1990 »

Hi,

Ich hab hier eine Rule für DMX- Geräte am Laufen über einen Artnet Contoller, die Regel schaltet zwischen 3-4 verschieden Szenen um.
Die Regel Funktioniert soweit , aber leider ist sie ziehmlich groß und mein Raspberry PI4(4GB/OH3.1), kann die Regel nicht so schnell verarbeiten, bzw wenn dieser Hochgefahren ist frisch reagiert die Regel die erst 2 min gar nicht.
Und beim hin und her schalten mehr man auch das es ca. 2sek brauch bis es vollständig umgeschalten hat zu nächsten Regel.
Ich steuer hier im DMX ca. 200 Kanäle an.

Meine Frage wär jetzt, kann ich an der Regel die Perfromancen verbessern bzw. bringt eine andere Rulesprache wie javascipt verbessung ?

Code: Alles auswählen

rule "Moderation"
when
Item Licht_Szene received command Moderation
then 
sendCommand(cob1ww, 90)
sendCommand(cob2ww, 60)
sendCommand(cob3ww, 60)
sendCommand(cob4ww, 60)
sendCommand(tw12ww, 100)
sendCommand(tw12cw, 100)
sendCommand(tw12a, 80)
sendCommand(tw12master, 100)
sendCommand(tw12ww2, 100)
sendCommand(tw12cw2, 100)
sendCommand(tw12a2, 80)
sendCommand(tw12master2, 100)
sendCommand(tw12ww3, 100)
sendCommand(tw12cw3, 100)
sendCommand(tw12a3, 80)
sendCommand(tw12master3, 100)
sendCommand(tw12ww4, 100)
sendCommand(tw12cw4, 100)
sendCommand(tw12a4, 80)
sendCommand(tw12master4, 100)
sendCommand(Qwh12red, 50)
sendCommand(Qwh12green, 50)
sendCommand(Qwh12blue, 50)
sendCommand(Qwh12withe, 50)
sendCommand(Qwh12master, 50)
sendCommand(Qwh12strobe, 0)
sendCommand(Qwh12makro, 0)
sendCommand(Qwh12red2, 50)
sendCommand(Qwh12green2, 50)
sendCommand(Qwh12blue2, 50)
sendCommand(Qwh12withe2, 50)
sendCommand(Qwh12master2, 50)
sendCommand(Qwh12strobe2, 0)
sendCommand(Qwh12makro2, 0)
sendCommand(Qwh12red3, 50)
sendCommand(Qwh12green3, 50)
sendCommand(Qwh12blue3, 50)
sendCommand(Qwh12withe3, 50)
sendCommand(Qwh12master3, 50)
sendCommand(Qwh12strobe3, 0)
sendCommand(Qwh12makro3, 0)
sendCommand(Qwh12red4, 50)
sendCommand(Qwh12green4, 50)
sendCommand(Qwh12blue4, 50)
sendCommand(Qwh12withe4, 50)
sendCommand(Qwh12master4, 50)
sendCommand(Qwh12strobe4, 0)
sendCommand(Qwh12makro4, 0)
sendCommand(bar1_red, 0)
sendCommand(bar1_green, 0)
sendCommand(bar1_blue, 100)
sendCommand(bar1_withe, 100)
sendCommand(bar1_amber, 0)
sendCommand(bar1_uv, 0)
sendCommand(bar1_red2, 0)
sendCommand(bar1_green2, 0)
sendCommand(bar1_blue2, 100)
sendCommand(bar1_withe2, 100)
sendCommand(bar1_amber2, 00)
sendCommand(bar1_uv2, 00)
sendCommand(bar1_red3, 0)
sendCommand(bar1_green3, 0)
sendCommand(bar1_blue3, 100)
sendCommand(bar1_withe3, 100)
sendCommand(bar1_amber3, 00)
sendCommand(bar1_uv3, 00)
sendCommand(bar1_red4, 0)
sendCommand(bar1_green4, 0)
sendCommand(bar1_blue4, 100)
sendCommand(bar1_withe4, 100)
sendCommand(bar1_amber4, 0)
sendCommand(bar1_uv4, 0)
sendCommand(bar1_red5, 0)
sendCommand(bar1_green5, 0)
sendCommand(bar1_blue5, 100)
sendCommand(bar1_withe5, 100)
sendCommand(bar1_amber5, 0)
sendCommand(bar1_uv5, 0)
sendCommand(bar1_red6, 0)
sendCommand(bar1_green6, 0)
sendCommand(bar1_blue6, 100)
sendCommand(bar1_withe6, 100)
sendCommand(bar1_amber6, 0)
sendCommand(bar1_uv6, 0)
sendCommand(bar2_red, 0)
sendCommand(bar2_green, 0)
sendCommand(bar2_blue, 100)
sendCommand(bar2_withe, 100)
sendCommand(bar2_amber, 0)
sendCommand(bar2_uv, 0)
sendCommand(bar2_red2, 0)
sendCommand(bar2_green2, 0)
sendCommand(bar2_blue2, 100)
sendCommand(bar2_withe2, 100)
sendCommand(bar2_amber2, 0)
sendCommand(bar2_uv2, 0)
sendCommand(bar2_red3, 0)
sendCommand(bar2_green3, 0)
sendCommand(bar2_blue3, 100)
sendCommand(bar2_withe3, 100)
sendCommand(bar2_amber3, 0)
sendCommand(bar2_uv3, 0)
sendCommand(bar2_red4, 0)
sendCommand(bar2_green4, 0)
sendCommand(bar2_blue4, 100)
sendCommand(bar2_withe4, 100)
sendCommand(bar2_amber4, 0)
sendCommand(bar2_uv4, 0)
sendCommand(bar2_red5, 0)
sendCommand(bar2_green5, 0)
sendCommand(bar2_blue5, 100)
sendCommand(bar2_withe5, 100)
sendCommand(bar2_amber5, 0)
sendCommand(bar2_uv5, 0)
sendCommand(bar2_red6, 0)
sendCommand(bar2_green6, 0)
sendCommand(bar2_blue6, 100)
sendCommand(bar2_withe6, 100)
sendCommand(bar2_amber6, 0)
sendCommand(bar2_uv6, 0)
sendCommand(bar3_red, 0)
sendCommand(bar3_green, 0)
sendCommand(bar3_blue, 100)
sendCommand(bar3_withe, 100)
sendCommand(bar3_amber, 0)
sendCommand(bar3_uv, 0)
sendCommand(bar3_red2, 0)
sendCommand(bar3_green2, 0)
sendCommand(bar3_blue2, 100)
sendCommand(bar3_withe2, 100)
sendCommand(bar3_amber2, 0)
sendCommand(bar3_uv2, 0)
sendCommand(bar3_red3, 0)
sendCommand(bar3_green3, 0)
sendCommand(bar3_blue3, 100)
sendCommand(bar3_withe3, 100)
sendCommand(bar3_amber3, 0)
sendCommand(bar3_uv3, 0)
sendCommand(bar3_red4, 0)
sendCommand(bar3_green4, 0)
sendCommand(bar3_blue4, 100)
sendCommand(bar3_withe4, 100)
sendCommand(bar3_amber4, 0)
sendCommand(bar3_uv4, 0)
sendCommand(bar3_red5, 0)
sendCommand(bar3_green5, 0)
sendCommand(bar3_blue5, 100)
sendCommand(bar3_withe5, 100)
sendCommand(bar3_amber5, 0)
sendCommand(bar3_uv5, 0)
sendCommand(bar3_red6, 0)
sendCommand(bar3_green6, 0)
sendCommand(bar3_blue6, 100)
sendCommand(bar3_withe6, 100)
sendCommand(bar3_amber6, 0)
sendCommand(bar3_uv6, 0)
sendCommand(bar4_red, 0)
sendCommand(bar4_green, 0)
sendCommand(bar4_blue, 100)
sendCommand(bar4_withe, 100)
sendCommand(bar4_amber, 0)
sendCommand(bar4_uv, 0)
sendCommand(bar4_red2, 0)
sendCommand(bar4_green2, 0)
sendCommand(bar4_blue2, 100)
sendCommand(bar4_withe2, 100)
sendCommand(bar4_amber2, 0)
sendCommand(bar4_uv2, 0)
sendCommand(bar4_red3, 0)
sendCommand(bar4_green3, 0)
sendCommand(bar4_blue3, 100)
sendCommand(bar4_withe3, 100)
sendCommand(bar4_amber3, 0)
sendCommand(bar4_uv3, 0)
sendCommand(bar4_red4, 0)
sendCommand(bar4_green4, 0)
sendCommand(bar4_blue4, 100)
sendCommand(bar4_withe4, 100)
sendCommand(bar4_amber4, 0)
sendCommand(bar4_uv4, 0)
sendCommand(bar4_red5, 0)
sendCommand(bar4_green5, 0)
sendCommand(bar4_blue5, 100)
sendCommand(bar4_withe5, 100)
sendCommand(bar4_amber5, 0)
sendCommand(bar4_uv5, 0)
sendCommand(bar4_red6, 0)
sendCommand(bar4_green6, 0)
sendCommand(bar4_blue6, 100)
sendCommand(bar4_withe6, 100)
sendCommand(bar4_amber6, 0)
sendCommand(bar4_uv6, 0)
Light_Wheel.sendCommand (30.0)
end


rule "Aus_blackmode"
when
Item Licht_Szene received command Aus
then 
sendCommand(cob1ww, 0)
sendCommand(cob2ww, 0)
sendCommand(cob3ww, 0)
sendCommand(cob4ww, 0)
sendCommand(tw12ww, 0)
sendCommand(tw12cw, 0)
sendCommand(tw12a, 0)
sendCommand(tw12master, 0)
sendCommand(tw12ww2, 0)
sendCommand(tw12cw2, 0)
sendCommand(tw12a2, 0)
sendCommand(tw12master2, 0)
sendCommand(tw12ww3, 0)
sendCommand(tw12cw3, 0)
sendCommand(tw12a3, 0)
sendCommand(tw12master3, 0)
sendCommand(tw12ww4, 0)
sendCommand(tw12cw4, 0)
sendCommand(tw12a4, 0)
sendCommand(tw12master4, 0)
sendCommand(Qwh12red, 0)
sendCommand(Qwh12green, 0)
sendCommand(Qwh12blue, 0)
sendCommand(Qwh12withe, 0)
sendCommand(Qwh12master, 0)
sendCommand(Qwh12strobe, 0)
sendCommand(Qwh12makro, 0)
sendCommand(Qwh12red2, 0)
sendCommand(Qwh12green2, 0)
sendCommand(Qwh12blue2, 0)
sendCommand(Qwh12withe2, 0)
sendCommand(Qwh12master2, 0)
sendCommand(Qwh12strobe2, 0)
sendCommand(Qwh12makro2, 0)
sendCommand(Qwh12red3, 0)
sendCommand(Qwh12green3, 0)
sendCommand(Qwh12blue3, 0)
sendCommand(Qwh12withe3, 0)
sendCommand(Qwh12master3, 0)
sendCommand(Qwh12strobe3, 0)
sendCommand(Qwh12makro3, 0)
sendCommand(Qwh12red4, 0)
sendCommand(Qwh12green4, 0)
sendCommand(Qwh12blue4, 0)
sendCommand(Qwh12withe4, 0)
sendCommand(Qwh12master4, 0)
sendCommand(Qwh12strobe4, 0)
sendCommand(Qwh12makro4, 0)
sendCommand(bar1_red, 0)
sendCommand(bar1_green, 0)
sendCommand(bar1_blue, 0)
sendCommand(bar1_withe, 0)
sendCommand(bar1_amber, 0)
sendCommand(bar1_uv, 0)
sendCommand(bar1_red2, 0)
sendCommand(bar1_green2, 0)
sendCommand(bar1_blue2, 0)
sendCommand(bar1_withe2, 0)
sendCommand(bar1_amber2, 0)
sendCommand(bar1_uv2, 0)
sendCommand(bar1_red3, 0)
sendCommand(bar1_green3, 0)
sendCommand(bar1_blue3, 0)
sendCommand(bar1_withe3, 0)
sendCommand(bar1_amber3, 0)
sendCommand(bar1_uv3, 0)
sendCommand(bar1_red4, 0)
sendCommand(bar1_green4, 0)
sendCommand(bar1_blue4, 0)
sendCommand(bar1_withe4, 0)
sendCommand(bar1_amber4, 0)
sendCommand(bar1_uv4, 0)
sendCommand(bar1_red5, 0)
sendCommand(bar1_green5, 0)
sendCommand(bar1_blue5, 0)
sendCommand(bar1_withe5, 0)
sendCommand(bar1_amber5, 0)
sendCommand(bar1_uv5, 0)
sendCommand(bar1_red6, 0)
sendCommand(bar1_green6, 0)
sendCommand(bar1_blue6, 0)
sendCommand(bar1_withe6, 0)
sendCommand(bar1_amber6, 0)
sendCommand(bar1_uv6, 0)
sendCommand(bar2_red, 0)
sendCommand(bar2_green, 0)
sendCommand(bar2_blue, 0)
sendCommand(bar2_withe, 0)
sendCommand(bar2_amber, 0)
sendCommand(bar2_uv, 0)
sendCommand(bar2_red2, 0)
sendCommand(bar2_green2, 0)
sendCommand(bar2_blue2, 0)
sendCommand(bar2_withe2, 0)
sendCommand(bar2_amber2, 0)
sendCommand(bar2_uv2, 0)
sendCommand(bar2_red3, 0)
sendCommand(bar2_green3, 0)
sendCommand(bar2_blue3, 0)
sendCommand(bar2_withe3, 0)
sendCommand(bar2_amber3, 0)
sendCommand(bar2_uv3, 0)
sendCommand(bar2_red4, 0)
sendCommand(bar2_green4, 0)
sendCommand(bar2_blue4, 0)
sendCommand(bar2_withe4, 0)
sendCommand(bar2_amber4, 0)
sendCommand(bar2_uv4, 0)
sendCommand(bar2_red5, 0)
sendCommand(bar2_green5, 0)
sendCommand(bar2_blue5, 0)
sendCommand(bar2_withe5, 0)
sendCommand(bar2_amber5, 0)
sendCommand(bar2_uv5, 0)
sendCommand(bar2_red6, 0)
sendCommand(bar2_green6, 0)
sendCommand(bar2_blue6, 0)
sendCommand(bar2_withe6, 0)
sendCommand(bar2_amber6, 0)
sendCommand(bar2_uv6, 0)
sendCommand(bar3_red, 0)
sendCommand(bar3_green, 0)
sendCommand(bar3_blue, 0)
sendCommand(bar3_withe, 0)
sendCommand(bar3_amber, 0)
sendCommand(bar3_uv, 0)
sendCommand(bar3_red2, 0)
sendCommand(bar3_green2, 0)
sendCommand(bar3_blue2, 0)
sendCommand(bar3_withe2, 0)
sendCommand(bar3_amber2, 0)
sendCommand(bar3_uv2, 0)
sendCommand(bar3_red3, 0)
sendCommand(bar3_green3, 0)
sendCommand(bar3_blue3, 0)
sendCommand(bar3_withe3, 0)
sendCommand(bar3_amber3, 0)
sendCommand(bar3_uv3, 0)
sendCommand(bar3_red4, 0)
sendCommand(bar3_green4, 0)
sendCommand(bar3_blue4, 0)
sendCommand(bar3_withe4, 0)
sendCommand(bar3_amber4, 0)
sendCommand(bar3_uv4, 0)
sendCommand(bar3_red5, 0)
sendCommand(bar3_green5, 0)
sendCommand(bar3_blue5, 0)
sendCommand(bar3_withe5, 0)
sendCommand(bar3_amber5, 0)
sendCommand(bar3_uv5, 0)
sendCommand(bar3_red6, 0)
sendCommand(bar3_green6, 0)
sendCommand(bar3_blue6, 0)
sendCommand(bar3_withe6, 0)
sendCommand(bar3_amber6, 0)
sendCommand(bar3_uv6, 0)
sendCommand(bar4_red, 0)
sendCommand(bar4_green, 0)
sendCommand(bar4_blue, 0)
sendCommand(bar4_withe, 0)
sendCommand(bar4_amber, 0)
sendCommand(bar4_uv, 0)
sendCommand(bar4_red2, 0)
sendCommand(bar4_green2, 0)
sendCommand(bar4_blue2, 0)
sendCommand(bar4_withe2, 0)
sendCommand(bar4_amber2, 0)
sendCommand(bar4_uv2, 0)
sendCommand(bar4_red3, 0)
sendCommand(bar4_green3, 0)
sendCommand(bar4_blue3, 0)
sendCommand(bar4_withe3, 0)
sendCommand(bar4_amber3, 0)
sendCommand(bar4_uv3, 0)
sendCommand(bar4_red4, 0)
sendCommand(bar4_green4, 0)
sendCommand(bar4_blue4, 0)
sendCommand(bar4_withe4, 0)
sendCommand(bar4_amber4, 0)
sendCommand(bar4_uv4, 0)
sendCommand(bar4_red5, 0)
sendCommand(bar4_green5, 0)
sendCommand(bar4_blue5, 0)
sendCommand(bar4_withe5, 0)
sendCommand(bar4_amber5, 0)
sendCommand(bar4_uv5, 0)
sendCommand(bar4_red6, 0)
sendCommand(bar4_green6, 0)
sendCommand(bar4_blue6, 0)
sendCommand(bar4_withe6, 0)
sendCommand(bar4_amber6, 0)
sendCommand(bar4_uv6, 0)
Light_Wheel.sendCommand (10.0)
end

rule "Band"
when
Item Licht_Szene received command Band
then 
sendCommand(cob1ww, 100)
sendCommand(cob2ww, 80)
sendCommand(cob3ww, 100)
sendCommand(cob4ww, 100)
sendCommand(tw12ww, 100)
sendCommand(tw12cw, 100)
sendCommand(tw12a, 80)
sendCommand(tw12master, 30)
sendCommand(tw12ww2, 100)
sendCommand(tw12cw2, 100)
sendCommand(tw12a2, 80)
sendCommand(tw12master2, 30)
sendCommand(tw12ww3, 100)
sendCommand(tw12cw3, 100)
sendCommand(tw12a3, 80)
sendCommand(tw12master3, 30)
sendCommand(tw12ww4, 100)
sendCommand(tw12cw4, 100)
sendCommand(tw12a4, 80)
sendCommand(tw12master4, 30)
sendCommand(Qwh12red, 50)
sendCommand(Qwh12green, 50)
sendCommand(Qwh12blue, 50)
sendCommand(Qwh12withe, 50)
sendCommand(Qwh12master, 80)
sendCommand(Qwh12strobe, 0)
sendCommand(Qwh12makro, 0)
sendCommand(Qwh12red2, 50)
sendCommand(Qwh12green2, 50)
sendCommand(Qwh12blue2, 50)
sendCommand(Qwh12withe2, 50)
sendCommand(Qwh12master2, 80)
sendCommand(Qwh12strobe2, 0)
sendCommand(Qwh12makro2, 0)
sendCommand(Qwh12red3, 50)
sendCommand(Qwh12green3, 50)
sendCommand(Qwh12blue3, 50)
sendCommand(Qwh12withe3, 50)
sendCommand(Qwh12master3, 80)
sendCommand(Qwh12strobe3, 0)
sendCommand(Qwh12makro3, 0)
sendCommand(Qwh12red4, 50)
sendCommand(Qwh12green4, 50)
sendCommand(Qwh12blue4, 50)
sendCommand(Qwh12withe4, 50)
sendCommand(Qwh12master4, 80)
sendCommand(Qwh12strobe4, 0)
sendCommand(Qwh12makro4, 0)
sendCommand(bar1_red, 0)
sendCommand(bar1_green, 0)
sendCommand(bar1_blue, 100)
sendCommand(bar1_withe, 100)
sendCommand(bar1_amber, 0)
sendCommand(bar1_uv, 0)
sendCommand(bar1_red2, 0)
sendCommand(bar1_green2, 0)
sendCommand(bar1_blue2, 100)
sendCommand(bar1_withe2, 100)
sendCommand(bar1_amber2, 00)
sendCommand(bar1_uv2, 00)
sendCommand(bar1_red3, 0)
sendCommand(bar1_green3, 0)
sendCommand(bar1_blue3, 100)
sendCommand(bar1_withe3, 100)
sendCommand(bar1_amber3, 00)
sendCommand(bar1_uv3, 00)
sendCommand(bar1_red4, 0)
sendCommand(bar1_green4, 0)
sendCommand(bar1_blue4, 100)
sendCommand(bar1_withe4, 100)
sendCommand(bar1_amber4, 0)
sendCommand(bar1_uv4, 0)
sendCommand(bar1_red5, 0)
sendCommand(bar1_green5, 0)
sendCommand(bar1_blue5, 100)
sendCommand(bar1_withe5, 100)
sendCommand(bar1_amber5, 0)
sendCommand(bar1_uv5, 0)
sendCommand(bar1_red6, 0)
sendCommand(bar1_green6, 0)
sendCommand(bar1_blue6, 100)
sendCommand(bar1_withe6, 100)
sendCommand(bar1_amber6, 0)
sendCommand(bar1_uv6, 0)
sendCommand(bar2_red, 0)
sendCommand(bar2_green, 0)
sendCommand(bar2_blue, 100)
sendCommand(bar2_withe, 100)
sendCommand(bar2_amber, 0)
sendCommand(bar2_uv, 0)
sendCommand(bar2_red2, 0)
sendCommand(bar2_green2, 0)
sendCommand(bar2_blue2, 100)
sendCommand(bar2_withe2, 100)
sendCommand(bar2_amber2, 0)
sendCommand(bar2_uv2, 0)
sendCommand(bar2_red3, 0)
sendCommand(bar2_green3, 0)
sendCommand(bar2_blue3, 100)
sendCommand(bar2_withe3, 100)
sendCommand(bar2_amber3, 0)
sendCommand(bar2_uv3, 0)
sendCommand(bar2_red4, 0)
sendCommand(bar2_green4, 0)
sendCommand(bar2_blue4, 100)
sendCommand(bar2_withe4, 100)
sendCommand(bar2_amber4, 0)
sendCommand(bar2_uv4, 0)
sendCommand(bar2_red5, 0)
sendCommand(bar2_green5, 0)
sendCommand(bar2_blue5, 100)
sendCommand(bar2_withe5, 100)
sendCommand(bar2_amber5, 0)
sendCommand(bar2_uv5, 0)
sendCommand(bar2_red6, 0)
sendCommand(bar2_green6, 0)
sendCommand(bar2_blue6, 100)
sendCommand(bar2_withe6, 100)
sendCommand(bar2_amber6, 0)
sendCommand(bar2_uv6, 0)
sendCommand(bar3_red, 0)
sendCommand(bar3_green, 0)
sendCommand(bar3_blue, 100)
sendCommand(bar3_withe, 100)
sendCommand(bar3_amber, 0)
sendCommand(bar3_uv, 0)
sendCommand(bar3_red2, 0)
sendCommand(bar3_green2, 0)
sendCommand(bar3_blue2, 100)
sendCommand(bar3_withe2, 100)
sendCommand(bar3_amber2, 0)
sendCommand(bar3_uv2, 0)
sendCommand(bar3_red3, 0)
sendCommand(bar3_green3, 0)
sendCommand(bar3_blue3, 100)
sendCommand(bar3_withe3, 100)
sendCommand(bar3_amber3, 0)
sendCommand(bar3_uv3, 0)
sendCommand(bar3_red4, 0)
sendCommand(bar3_green4, 0)
sendCommand(bar3_blue4, 100)
sendCommand(bar3_withe4, 100)
sendCommand(bar3_amber4, 0)
sendCommand(bar3_uv4, 0)
sendCommand(bar3_red5, 0)
sendCommand(bar3_green5, 0)
sendCommand(bar3_blue5, 100)
sendCommand(bar3_withe5, 100)
sendCommand(bar3_amber5, 0)
sendCommand(bar3_uv5, 0)
sendCommand(bar3_red6, 0)
sendCommand(bar3_green6, 0)
sendCommand(bar3_blue6, 100)
sendCommand(bar3_withe6, 100)
sendCommand(bar3_amber6, 0)
sendCommand(bar3_uv6, 0)
sendCommand(bar4_red, 0)
sendCommand(bar4_green, 0)
sendCommand(bar4_blue, 100)
sendCommand(bar4_withe, 100)
sendCommand(bar4_amber, 0)
sendCommand(bar4_uv, 0)
sendCommand(bar4_red2, 0)
sendCommand(bar4_green2, 0)
sendCommand(bar4_blue2, 100)
sendCommand(bar4_withe2, 100)
sendCommand(bar4_amber2, 0)
sendCommand(bar4_uv2, 0)
sendCommand(bar4_red3, 0)
sendCommand(bar4_green3, 0)
sendCommand(bar4_blue3, 100)
sendCommand(bar4_withe3, 100)
sendCommand(bar4_amber3, 0)
sendCommand(bar4_uv3, 0)
sendCommand(bar4_red4, 0)
sendCommand(bar4_green4, 0)
sendCommand(bar4_blue4, 100)
sendCommand(bar4_withe4, 100)
sendCommand(bar4_amber4, 0)
sendCommand(bar4_uv4, 0)
sendCommand(bar4_red5, 0)
sendCommand(bar4_green5, 0)
sendCommand(bar4_blue5, 100)
sendCommand(bar4_withe5, 100)
sendCommand(bar4_amber5, 0)
sendCommand(bar4_uv5, 0)
sendCommand(bar4_red6, 0)
sendCommand(bar4_green6, 0)
sendCommand(bar4_blue6, 100)
sendCommand(bar4_withe6, 100)
sendCommand(bar4_amber6, 0)
sendCommand(bar4_uv6, 0)
Light_Wheel.sendCommand (20.0)
end



rule "Sprecherlicht1"
when
Item Licht_Szene received command Sprecherlicht
then 
sendCommand(tw12ww, 10)
sendCommand(tw12cw, 10)
sendCommand(tw12a, 100)
sendCommand(tw12master, 100)
sendCommand(tw12ww2, 10)
sendCommand(tw12cw2, 10)
sendCommand(tw12a2, 100)
sendCommand(tw12master2, 100)
sendCommand(tw12ww3, 10)
sendCommand(tw12cw3, 10)
sendCommand(tw12a3, 100)
sendCommand(tw12master3, 100)
sendCommand(tw12ww4, 10)
sendCommand(tw12cw4, 10)
sendCommand(tw12a4, 100)
sendCommand(tw12master4, 100)
Light_Wheel.sendCommand (40.0)
end

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

Re: OH3.1 / groeßere DSL-Rule zulangsam??

Beitrag von udo1toni »

Die Frage ist, was hier der eigentliche Flaschenhals ist.

Wie sieht denn das Schaltverhalten aus? gehen die Lichter nacheinander an bzw. aus?

Der bessere Ansatz wäre hier ein Gruppenbildung über alle Items, die jeweils gleiche Werte bekommen sollen. Der Befehl wird dann an das Group Item gesendet, welches den Befehl an die Member weiterleitet. das geht hier, weil es sich um Zahlenwerte handelt, die sowohl als Status wie auch als Befehl genutzt werden.
Wie viel schneller das Ganze dadurch wird, musst Du ausprobieren. Die Rules werden dadurch aber wesentlich kürzer, was allein schon eine Verbesserung der Abarbeitung der Rules mit sich bringen sollte.

Nach dem Systemstart (und nach einiger Zeit...) sind die Rules noch nicht im Arbeitsspeicher geladen. Entsprechend dauert die Abarbeitung beim ersten Aufruf immer unverhältnismäßig lang.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Benutzeravatar
itsego1990
Beiträge: 14
Registriert: 21. Nov 2017 23:27
Answers: 1
Wohnort: BW

Re: OH3.1 / groeßere DSL-Rule zulangsam??

Beitrag von itsego1990 »

Hi,
danke für die Schnelle Antwort.
Also man sieht das die licht nacheinander aus und an gehen,
d.h. man sieht das die lichter von links nach rechts angehen und beim abschalten von Links nach rechts ausgehen auch wieder.
Ich werd nun mal versuchen eine Gruppenbildung zu machen.
Bringt es evtl etwas wenn ich die Regel in meheren rules dateien unterteile etwas ?
Nach dem Systemstart (und nach einiger Zeit...) sind die Rules noch nicht im Arbeitsspeicher geladen. Entsprechend dauert die Abarbeitung beim ersten Aufruf immer unverhältnismäßig lang.
Ja das merk ich beim neugestarten system das dann schon ca. 1h läuft und dann wählt man die Regel an und es passiert dann die ersten minuten nichts, und wenn sie dann das erste mal reagiert hat, funktioniert das um schalten Zwischen den Szenen problemlos.

Antworten