Ich komme so langsam an den Punkt, das mein Openhab 2 langsam wird und es eine gewisse Zeit braucht bis es sich durch die Regeln gearbeitet hat und etas schaltet. Ich würde mich gern an Openhab 3 ran wagen und meine erste Frage ist es, macht es Sinn weiter in DSL zu schreiben oder sich auf ein der beiden alternativen zu konzentrieren? Ich habe Variablen und Werte die in mehreren .rules Daten zubinden sind. Kann man die auch zentralisieren? Also das man die nicht in jeder .rules Datei neu schreibt sondern das diese am Anfang der Datei abgerufen wird? Ich habe in OH3 mich mal an die GUI Regelerstellung gesetzt und frage mich, wie ich da mit den Variablen arbeiten kann oder gibt es die Möglichkeit die Variablen "Auszulagern" als Items und ich dann den Wert der Items abrufe?
Mein aktueller Code für ein Bewegungsmelder, das dieser das Licht an und nach einer Zeit wieder ausmacht aus OH2
Code: Alles auswählen
var String Color_Global = "30,64,100"
var Timer Bath_Timer = null
rule "Automation Light Bathroom"
when
Item MotionSensorPresence_Bath1 changed to ON or
Item MotionSensorPresence_Bath2 changed to ON
then
if(Automation_03.state == ON)
{
GLight_Bath_Ceiling_Color.sendCommand(Color_Global)
Bath_Timer?.cancel
Bath_Timer = createTimer(now.plusMinutes(1), [|
GLight_Bath_Ceiling_Color.sendCommand(OFF)
])
}
end
Wie kann mit dem Befehl GLight_Bath_Ceiling_Color.sendCommand(Color_Global) die Werte aus einer ITEM Datei beziehen ? Da bekomme ich aktuell einen Fehler.
[internal.handler.ScriptActionHandler] - Script execution of rule with UID 'Rules-1' failed: An error occurred during the script execution: Could not invoke method: org.openhab.core.model.script.actions.BusEvent.sendCommand(org.openhab.core.items.Item,java.lang.Number) on instance: null in Rules