Hallo,
ich habe in einer Regel einen Timer zum Ausschalten des Lichts definiert.
Leider bekomme ich aber von openhab immer, wenn die Regel ausgeführt werden sollte einen Fehler.
Hier meine Rule Definition:
Und hier die Fehlermeldung:
20:09:24.849 ERROR o.o.c.s.ScriptExecutionThread[:50]- Error during the execution of rule 'Licht Eingangsbereich Aus': Cannot assign a value in null context.
Leider habe ich keine Ahnung, was ich ändern könnte, damit es funktioniert.
Kann mir da jemand weiter helfen?
Gruß
Jochen Kluger
ich habe in einer Regel einen Timer zum Ausschalten des Lichts definiert.
Leider bekomme ich aber von openhab immer, wenn die Regel ausgeführt werden sollte einen Fehler.
Hier meine Rule Definition:
Code:
[B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] [LEFT]import [/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][/LEFT][/B][LEFT][SIZE=2][COLOR=#000000]org.openhab.core.library.types.*[/COLOR][/SIZE][/LEFT] [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] [LEFT]import [/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][/LEFT][/B][LEFT][SIZE=2][COLOR=#000000]org.openhab.model.script.actions.*[/COLOR][/SIZE][/LEFT] [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] [LEFT]import [/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][/LEFT][/B][LEFT][SIZE=2][COLOR=#000000]org.joda.time.*[/COLOR][/SIZE][/LEFT] [SIZE=2] [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] [LEFT]var [/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][/LEFT][/B][LEFT][SIZE=2][COLOR=#000000]Timer entryTimer = [/COLOR][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]null[/COLOR][/SIZE][/COLOR][/SIZE][/B][/LEFT] [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] [LEFT]var [/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][/LEFT][/B][LEFT][SIZE=2][COLOR=#000000]Timer toiletTimer = [/COLOR][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]null[/COLOR][/SIZE][/COLOR][/SIZE][/B][/LEFT] [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] [/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] [LEFT]rule [/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][/LEFT][/B][LEFT][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"[U]Licht[/U] [U]Eingangsbereich[/U] An"[/COLOR][/SIZE][/COLOR][/SIZE][/LEFT] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]when[/COLOR][/SIZE][/COLOR][/SIZE][/B][/LEFT] [SIZE=2][/SIZE] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]Item[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2] presenceGroundFloorEntryDirect [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]changed[/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]to[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2] ON[/SIZE][/LEFT] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]then[/COLOR][/SIZE][/COLOR][/SIZE][/B][/LEFT] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]if[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2](entryTimer != [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]null[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2])[/SIZE][/LEFT] [SIZE=2] [LEFT]{[/LEFT] [LEFT]entryTimer.cancel()[/LEFT] [LEFT]entryTimer = [/LEFT][/SIZE][LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]null[/COLOR][/SIZE][/COLOR][/SIZE][/B][/LEFT] [SIZE=2] [LEFT]}[/LEFT] [/SIZE] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]if[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2](brightnessGroundFloorEntry.state < [/SIZE][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]20[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] && lightGroundFloorEntryCeiling.state == OFF)[/SIZE][SIZE=2] [/SIZE][/LEFT][SIZE=2] [LEFT]{[/LEFT] [LEFT][I]sendCommand[/I](lightGroundFloorEntryCeiling, ON)[/LEFT] [LEFT]} [/LEFT] [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] [LEFT]end[/LEFT] [LEFT] [/LEFT] [/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] [LEFT]rule [/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][/LEFT][/B][LEFT][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"[U]Licht[/U] [U]Eingangsbereich[/U] [U]Aus[/U]"[/COLOR][/SIZE][/COLOR][/SIZE][/LEFT] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]when[/COLOR][/SIZE][/COLOR][/SIZE][/B][/LEFT] [SIZE=2][/SIZE] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]Item[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2] presenceGroundFloorEntryDirect [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]changed[/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]to[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2] OFF[/SIZE][/LEFT] [SIZE=2][/SIZE] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]then[/COLOR][/SIZE][/COLOR][/SIZE][/B][/LEFT] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]if[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2](lightGroundFloorEntryCeiling.state == ON)[/SIZE][/LEFT] [SIZE=2] [LEFT]{[/LEFT] [LEFT]entryTimer = [I]createTimer[/I]([I]now[/I].plusSeconds([/LEFT] [/SIZE] [LEFT][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]120[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])) [|[/SIZE][/LEFT] [SIZE=2][I]sendCommand[/I](lightGroundFloorEntryCeiling, OFF) [LEFT]] [/LEFT] [LEFT]} [/LEFT] [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]end[/COLOR][/SIZE][/COLOR][/SIZE][/B]
20:09:24.849 ERROR o.o.c.s.ScriptExecutionThread[:50]- Error during the execution of rule 'Licht Eingangsbereich Aus': Cannot assign a value in null context.
Leider habe ich keine Ahnung, was ich ändern könnte, damit es funktioniert.
Kann mir da jemand weiter helfen?
Gruß
Jochen Kluger
Kommentar