Zitat von offline
Beitrag anzeigen
- Wenn Du nicht gleich zu Anfang (also beim Init) eine Statusauswertung machst, sondern forderst, dass man das Item selbst triggert, dann kann man sich mit Standardmitteln ein delay bauen
- Du führst einen neuen Zustand "Init" ein und wertest für den nur "leave"-Bedingungen aus. "enter" passiert quasi immer beim Initialisieren des AutoBlind-Items. Wenn man selber kein "Init"-Zustandsitem definiert, ist alles gut ("leave" ist ja leer") und läuft so, wie bisher. Man könnte aber ein "Init" mit "leave" auf "min_age" = 30 setzen, dann hätte man quasi ein startup_delay. Durch Deine Engine hätte man aber auch jede Menge weiterer Möglichkeiten, den Startup zu verzögern. Z.B. über eine Zufallszahl (was den Start von vielen AutoBlind-Items stark entspannen würde, da sich dann die Writes auf den Bus verteilen würden und nicht auf einmal kommen). Und hätte auch noch den Vorteil, dass der Zustand in lastpos_id und lastpos_name klar drin stehen würde - beantwortet auf einfache Weise die Frage "Warum läuft die Automatik nicht?", da man direkt erkennt, dass man eine schlechte "leave"-Bedingung beim "Init" hätte.
Gruß, Waldemar
Kommentar