diff --git a/stateengine/user_doc/03_regelwerk.rst b/stateengine/user_doc/03_regelwerk.rst index 90cc18339..445dc07bb 100755 --- a/stateengine/user_doc/03_regelwerk.rst +++ b/stateengine/user_doc/03_regelwerk.rst @@ -22,7 +22,9 @@ eingebunden werden. Das Item sieht dann folgendermaßen aus: Bei jedem Aufruf des Regelwerk-Items - im Beispiel auf Grund der cycle Angabe also alle 60 Sekunden - werden die Zustände hierarchisch evaluiert. -Zuerst wird also der erste Status getestet. Kann dieser nicht aktiviert werden, +Zuerst wird also der als erstes angegebene Status getestet. Die Reihenfolge ergibt sich +aus der YAML Datei oder alternativ aus dem optionalen Attribut ``se_stateorder``. +Kann der Zustand nicht aktiviert werden, folgt der darunter angegebene, etc. Details hierzu finden sich im nächsten Teil der Dokumentation. diff --git a/stateengine/user_doc/04_zustand.rst b/stateengine/user_doc/04_zustand.rst index 6404227a9..10a3befe0 100755 --- a/stateengine/user_doc/04_zustand.rst +++ b/stateengine/user_doc/04_zustand.rst @@ -11,6 +11,10 @@ Zustände Alle Items unterhalb des Regelwerk-Items (``rules``) beschreiben Zustände des Objekts ("Zustands-Item"). Die Ids der Zustands-Items sind beliebig, im Beispiel ``day``. +Prinzipiell werden die Zustände der Reihe nach, wie sie im YAML +File angegeben wurden evaluiert. Es ist allerdings auch möglich, +die Reihenfolge (selbst zur Laufzeit) mittels ``se_stateorder`` +zu verändern. Dies ist insbesondere für die ersten Tests sinnvoll. .. code-block:: yaml @@ -81,7 +85,7 @@ Zusätzlich können eigene Zustände (beispielsweise day) definiert werden. - stateengine.general - stateengine.state_release - stateengine.state_lock - - stateengine.state_suspend + - stateengine.state_suspend rules: day: diff --git a/stateengine/user_doc/05_bedingungen.rst b/stateengine/user_doc/05_bedingungen.rst index 62c884579..6bbf57163 100755 --- a/stateengine/user_doc/05_bedingungen.rst +++ b/stateengine/user_doc/05_bedingungen.rst @@ -428,7 +428,7 @@ verwendet werden. Die Abfrage se_value_laststate ist besonders wichtig für Bedingungsabfragen, die über das Verbleiben im aktuellen Zustand -bestimmen (z.b. enter_stay). So können aber auch Stati übersprungen +bestimmen (z.b. enter_stay). So können aber auch Zustände übersprungen werden, wenn sie nicht nach einem bestimmten anderen Zustand aktiviert werden sollen. Wichtig: Hier muss die vollständige Item-Id angegeben werden diff --git a/stateengine/user_doc/08_beispiel.rst b/stateengine/user_doc/08_beispiel.rst index 8a300d35b..118983b21 100755 --- a/stateengine/user_doc/08_beispiel.rst +++ b/stateengine/user_doc/08_beispiel.rst @@ -641,7 +641,7 @@ Settings für Itemwerte Das Setup ist besonders flexibel, wenn zu setzende Werte nicht fix in den Zustandsvorgaben definiert werden, sondern in eigenen Items, die dann jederzeit zur Laufzeit änderbar sind. Das folgende Beispiel zeigt eine Leuchte, die abhängig vom aktuell definierten -Lichtmodus (z.B. über die Visu) verschiedene Stati einnimmt und immer wieder dieselben +Lichtmodus (z.B. über die Visu) verschiedene Zustände einnimmt und immer wieder dieselben Änderungen vornimmt. Sollte eine Änderung nicht möglich sein, weil das entsprechende Item nicht existiert, wird das Plugin die Aktion einfach ignorieren. diff --git a/stateengine/user_doc/09_vorlagen.rst b/stateengine/user_doc/09_vorlagen.rst index 68ce0409e..cf90e8e35 100755 --- a/stateengine/user_doc/09_vorlagen.rst +++ b/stateengine/user_doc/09_vorlagen.rst @@ -121,7 +121,7 @@ standard ======== Ein praktisch leerer Status, der immer am Ende angehängt werden sollte. Dieser Status wird -eingenommen, wenn keine Bedingungen der anderen Stati erfüllt sind. +eingenommen, wenn keine Bedingungen der anderen Zustände erfüllt sind. Pluginspezifische Templates --------------------------- diff --git a/stateengine/user_doc/13_sonstiges.rst b/stateengine/user_doc/13_sonstiges.rst index 69e5768e5..c78aed899 100755 --- a/stateengine/user_doc/13_sonstiges.rst +++ b/stateengine/user_doc/13_sonstiges.rst @@ -38,6 +38,21 @@ Heißt, etwaige Zustandseinstellungen im eigentlichen Item erweitern und Weitere Details sind unter :ref:`Zustand-Templates` zu finden. + +Neukonfiguration der Hierarchie +------------------------------- + +**se_stateorder (optional):** +*Festlegen der Reihenfolge eines Status in der Hierarchiefolge* + +Dieses Attribut ermöglicht es, die hierarchische Reihenfolge, die sich ursprünglich +aus der YAML Datei ergibt, anzupassen. Dies kann durch folgende Schlüsselwörter geschehen: + +- item: liest den Wert aus gegebenem Item aus. Das Item sollte einen integer Wert beinhalten. +- eval: ermöglicht die hierarchische Neuordnung mittels Eval-Ausdruck +- value: Angabe der hierarchischen Position durch Angabe eines Integer-Werts (min. 0) + + Auflösen von Zuständen ----------------------