Hello,
Vielen Dank!!! Hat nicht gleich geklappt weil noch Klammern gefehlt haben. Das hab ich dank der Logs noch geschafft. Leider bekomm ich im openhab.log folgende Fehlermeldung:
2018-02-01 21:08:13.070 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Bewegungsmelder': cannot invoke method public abstract boolean org.eclipse.smarthome.model.script.actions.Timer.r eschedule(org.joda.time.base.AbstractInstant) on null
Das Einschalten funktioniert. Allerdings schaltet er nicht ab. Was fehlt mir noch?
Den Dimmer02 hab ich bewusst noch deaktiviert.
Vielen Dank!!! Hat nicht gleich geklappt weil noch Klammern gefehlt haben. Das hab ich dank der Logs noch geschafft. Leider bekomm ich im openhab.log folgende Fehlermeldung:
2018-02-01 21:08:13.070 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Bewegungsmelder': cannot invoke method public abstract boolean org.eclipse.smarthome.model.script.actions.Timer.r eschedule(org.joda.time.base.AbstractInstant) on null
Das Einschalten funktioniert. Allerdings schaltet er nicht ab. Was fehlt mir noch?
Den Dimmer02 hab ich bewusst noch deaktiviert.
Code:
var Timer tLight = null
val int cTimeout = 60 // val eine Konstante, deren Wert zur Laufzeit nicht geändert werden kann
rule "Bewegungsmelder"
when
Item FibEye01_Movement changed
then
if (FibEye01_Movement.state == ON) {
if ((Var_Tageszeit.state as Number) == 2)
Dimmer01_Switch.sendCommand(10)
else if ((Var_Tageszeit.state as Number) == 3) {
Dimmer01_Switch.sendCommand(10)
//Dimmer02_Switch.sendCommand(10)
}
if ((Var_Tageszeit.state as Number) == 2 || (Var_Tageszeit.state as Number) == 3) {
if (tLight !== null) tLight.cancel
tLight = createTimer(now.plusSeconds(cTimeout), (
if (FibEye01_Movement.state != ON) {
Dimmer01_Switch.sendCommand(OFF)
//Dimmer02_Switch.sendCommand(OFF)
tLight = null
}
else
tLight.reschedule(now.plusSeconds(cTimeout))
)
)
}}
else
tLight.reschedule(now.plusSeconds(cTimeout))
end


Kommentar