Hallo,
item.timer kann aktuell nicht entfernt sondern nur überschrieben werden. Das funktioniert in den meisten Fällen auch sehr gut. Leider nicht immer.
Hat man aber zB ein Item für einen Szenenaufruf mit enforce_updates = true definiert und einen Timer auf dieses Item gesetzt um eine Szene aufzurufen gibt es zu diesem Punkt keine Möglichkeit mehr die Szene nicht aufzurufen.
Sauereien wie next auf in 3 Jahren oder in die Vergangenheit zu setzen lasse ich hier jetzt mal aussen vor.
Von daher wäre ein remove_timer doch ganz nützlich und in 2 Zeilen Code umgesetzt.
Marcus, was denkst du?
LG
Mode
item.timer kann aktuell nicht entfernt sondern nur überschrieben werden. Das funktioniert in den meisten Fällen auch sehr gut. Leider nicht immer.
Hat man aber zB ein Item für einen Szenenaufruf mit enforce_updates = true definiert und einen Timer auf dieses Item gesetzt um eine Szene aufzurufen gibt es zu diesem Punkt keine Möglichkeit mehr die Szene nicht aufzurufen.
Sauereien wie next auf in 3 Jahren oder in die Vergangenheit zu setzen lasse ich hier jetzt mal aussen vor.
Von daher wäre ein remove_timer doch ganz nützlich und in 2 Zeilen Code umgesetzt.
Code:
--- a/lib/item.py +++ b/lib/item.py @@ -477,6 +477,9 @@ class Item(): else: self._sh.scheduler.add(self.id() + '-Timer', self.__call__, value={'value': value, 'caller': caller}, next=next) + def remove_timer(self): + self._sh.scheduler.remove(self.id() + '-Timer') + def type(self): return self._type
LG
Mode
Kommentar