Danke für die Dateien. Meine neue Debug-Ausgabe ist relativ aufschlussreich. Insbesondere der ReferenceSlot, der jetzt mit im Protokoll steht.
Dabei handelt es sich um die Sendestunde, ab der die bisherige History ignoriert wird bei der Berechnung der Abstände, oder andersherum, die Uhrzeit, bis (ausschließlich) zu der die Planungsdaten herangezogen werden sollen.
Bekanntermaßen hat der Scheduler keine Zähler oder dergleichen für die Einsätze, sondern jedesmal, wenn du ihn startest, nimmt er die bisher geplanten Stunden und liest daraus den Zeitpunkt ab, zu dem die Titel das letzte Mal in Einsatz waren. Daraus ergibt sich dann die Reihenfolge für die Rotation im nächsten Planungsdurchlauf.
Der ReferenceSlot ist deshalb wichtig, weil man ja bereits geplante Stunden noch einmal neu planen, also überschreiben kann.
Beispiel: Du hast schon den ganzen Tag (Stunden 0 bis 23) geplant und willst jetzt die Stunden 16-23 nochmal neu planen. Der Scheduler soll also ab 16 Uhr nochmal neu einsteigen. Dann soll er alle bereits geplanten Stunden ab 16:00 also ignorieren und nur die bisherigen Einsätze bis einschließlich der 15-Uhr-Stunde betrachten.
In der Regel entspricht der ReferenceSlot also der ersten zu planenden Sendestunde. Bei dem Planungslauf für die 0-Uhr-Stunde um 23:50 hat das auch korrekt funktioniert:
000000 Mini Scheduler initializing
000000 Date/time: 2022-01-31 23:50:00
000000 Reference slot: 2022-02-01 00:00
Als allerdings um 0:50 Uhr die 1-Uhr-Stunde geplant wurde, stand der ReferenceSlot weiterhin auf 0 Uhr (!):
000000 Mini Scheduler initializing
000000 Date/time: 2022-02-01 00:50:00
000000 Reference slot: 2022-02-01 00:00
Das hatte zur Folge, dass bei der Planung der 1-Uhr-Stunde die geplanten Titel der 0-Uhr-Stunde komplett ignoriert und daher direkt wieder eingesetzt wurden.
Warum der ReferenceSlot falsch berechnet wurde, das müssen wir jetzt herausfinden. Ich vermute, dass irgendwo ein Rundungsfehler aufgetreten ist bei der Berechnung des Stundenanfangs basierend auf der aktuellen Uhrzeit und den Parametern des Events/Aktion. Könntest du mir bitte zum Abgleich die events.mle
aus dem config-Ordner zusenden?
Übrigens gab es bis einschließlich Version 6.3.16 einen Bug, der dazu führte, dass bei der Abstandsberechnung immer versehentlich eine Stunde mehr mit betrachtet wurde als der angegebene ReferenceSlot. Diese beiden Bugs haben sich dann “günstig” überlagert, so dass das von dir beobachtete Problem erst jetzt zu Tage tritt.