Hallo,
ich beschäftige mich gerade mit dem Ablauf bei Items sowohl bei Start von shNG als auch bei Wertzuweisungen.
Hier habe ich folgendes gefunden: Danke am mumpf
Der Ablauf ist folgendermaßen (nur plakativ, den genauen Ablauf müsste man im Coding nachvollziehen):
Was in obigen Ablauf noch fehlt, sind initial_value, cache, und database.
In welcher Reihenfolge wird das abgearbeitet?
Hintergrund: Mich "nerven" die nichtausführbaren Evals am Start, da die Items, die im Eval verwendet werden, noch keinen Wert haben. Nun versuche ich das zu umgehen.
Wer kann die Reihenfolge komplettieren?
Wäre das nicht auch was für die Doku?
Danke Euch.
ich beschäftige mich gerade mit dem Ablauf bei Items sowohl bei Start von shNG als auch bei Wertzuweisungen.
Hier habe ich folgendes gefunden: Danke am mumpf
Der Ablauf ist folgendermaßen (nur plakativ, den genauen Ablauf müsste man im Coding nachvollziehen):
- Das Item bekommt einen neuen Wert gesetzt (durch knx, 1-Wire, durch eine Logik oder sonst irgendwas).
- Dieser Wert wird in die variable "value" geschrieben
- Es wird geschaut, ob ein eval existiert, falls nein, wird eval = value angenommen.
- jetzt wird eval(value) ausgeführt
- Das Ergebnis vom eval wird ins Item geschrieben
- jetzt wird noch geschaut , ob der neue Wert anders ist als der alte oder ob enforce_updates = true ist, falls eines zutrifft, werden abhängige Logiken getriggert.
Was in obigen Ablauf noch fehlt, sind initial_value, cache, und database.
In welcher Reihenfolge wird das abgearbeitet?
Hintergrund: Mich "nerven" die nichtausführbaren Evals am Start, da die Items, die im Eval verwendet werden, noch keinen Wert haben. Nun versuche ich das zu umgehen.
Wer kann die Reihenfolge komplettieren?
Wäre das nicht auch was für die Doku?
Danke Euch.
Kommentar