Code: Alles auswählen
Item Test_Switch received command

Code: Alles auswählen
Item Test_Switch received command
Code: Alles auswählen
2020-11-05 16:15:05.246 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'Abwesenheitssimulation.rules' has errors, therefore ignoring it: [9,73]: mismatched input ',' expecting 'end'
Code: Alles auswählen
2020-11-05 18:30:17.752 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Anwesenheit Simulation': An error occurred during the script execution: Could not invoke method: org.joda.time.DateTime.plusMinutes(int) on instance: 2020-11-05T18:30:17.746+01:00
Code: Alles auswählen
import org.joda.time.DateTime
Code: Alles auswählen
ar Timer tLicht = null // Zeiger auf den Timer (mit sinnvollem Namen!)
rule "Anwesenheit Simulation"
when
Item Test_Switch received command // Befehl empfangen
then
tLicht?.cancel // lösche Timer, falls einer existiert
if(receivedCommand == ON) // Nur falls Befehl ON war
tLicht = createTimer(now.plusMinutes((Math::random * 10).intValue), [ | // Setze Timer auf 10 Minuten
if(Licht_EG_Flur.state != ON) { // Falls Licht nicht an
Licht_EG_Flur.sendCommand(ON) // einschalten
tLicht.reschedule(now.plusMinutes(2+(Math::random * 5).intValue)) // und Timer erneut aufrufen
} else { // Falls Licht an
Licht_EG_Flur.sendCommand(OFF) // ausschalten
tLicht.reschedule(now.plusMinutes(55+(Math::random * 10).intValue)) // und Timer erneut aufrufen
}
])
else
Licht_EG_Flur.sendCommand(OFF) // ausschalten
end
Code: Alles auswählen
((Math::random * 10).intValue)