May I also ask a JSR223 timer related question:
I am using Ivan’s helper libraries for Python Scripting in OH3.1.
I use a rule at the start of the day to setup timers for all my shutters. That worked in DSL rules, and I am now converting to Python.
I create a list aufrufe where I store all the data: time, which shutter, which percentage. Then I loop through this list to create timers:
for aufruf in aufrufe:
rolladenzeiten.log.debug("Timer-Zeit: "+ str(aufruf[0]) + ", rolladen: " + aufruf[1] + ", Stand: " + aufruf[2])
timers.append(ScriptExecution.createTimer(aufruf[0], lambda: rolladenTimer(aufruf[1],aufruf[2])))
def rolladenTimer(rolladenName, rolladenStand):
rolladenzeiten.log.debug("Rolladen " + rolladenName + " wird auf " + rolladenStand + " gefahren!")
events.sendCommand(ir.getItem("rolladen_"+rolladenName), rolladenStand)
Unfortunately, only the last shutter “Badezimmer” gets all timer events (all timers that have a time that has already passed are fired directly):
2021-09-26 12:53:32.521 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Timer-Zeit: 2021-09-26T08:39:12+02:00[Europe/Berlin], rolladen: kueche, Stand: 0
2021-09-26 12:53:32.524 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Timer-Zeit: 2021-09-26T19:45:59+02:00[Europe/Berlin], rolladen: kueche, Stand: 100
2021-09-26 12:53:32.527 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Timer-Zeit: 2021-09-26T08:47:22+02:00[Europe/Berlin], rolladen: wohnzimmer2, Stand: 0
2021-09-26 12:53:32.530 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Timer-Zeit: 2021-09-26T19:46:50+02:00[Europe/Berlin], rolladen: wohnzimmer2, Stand: 100
2021-09-26 12:53:32.532 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Timer-Zeit: 2021-09-26T08:32:41+02:00[Europe/Berlin], rolladen: wohnzimmer1b, Stand: 0
2021-09-26 12:53:32.535 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Timer-Zeit: 2021-09-26T20:11:31+02:00[Europe/Berlin], rolladen: wohnzimmer1b, Stand: 100
2021-09-26 12:53:32.537 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Timer-Zeit: 2021-09-26T08:35:07+02:00[Europe/Berlin], rolladen: wohnzimmer1a, Stand: 0
2021-09-26 12:53:32.540 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Timer-Zeit: 2021-09-26T20:14:56+02:00[Europe/Berlin], rolladen: wohnzimmer1a, Stand: 100
2021-09-26 12:53:32.543 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Timer-Zeit: 2021-09-26T10:41:37+02:00[Europe/Berlin], rolladen: kinder1, Stand: 0
2021-09-26 12:53:32.545 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Timer-Zeit: 2021-09-26T20:08:15+02:00[Europe/Berlin], rolladen: kinder1, Stand: 100
2021-09-26 12:53:32.548 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Timer-Zeit: 2021-09-26T10:48:08+02:00[Europe/Berlin], rolladen: badezimmer, Stand: 0
2021-09-26 12:53:32.550 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Timer-Zeit: 2021-09-26T20:08:03+02:00[Europe/Berlin], rolladen: badezimmer, Stand: 100
2021-09-26 12:53:32.631 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Rolladen badezimmer wird auf 100 gefahren!
2021-09-26 12:53:32.634 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Rolladen badezimmer wird auf 100 gefahren!
2021-09-26 12:53:32.642 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Rolladen badezimmer wird auf 100 gefahren!
2021-09-26 12:53:32.644 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Rolladen badezimmer wird auf 100 gefahren!
2021-09-26 12:53:32.648 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Rolladen badezimmer wird auf 100 gefahren!
2021-09-26 12:53:32.653 [DEBUG] [hon.Jython Stelle Rolladenzeiten ein] - Rolladen badezimmer wird auf 100 gefahren!
Does anyone have a clue what is going on?