Skip to content

Commit

Permalink
stateengine plugin: update and fix docu
Browse files Browse the repository at this point in the history
  • Loading branch information
onkelandy committed Sep 25, 2023
1 parent 5f9efb2 commit 66911c4
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 5 deletions.
4 changes: 3 additions & 1 deletion stateengine/user_doc/03_regelwerk.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
6 changes: 5 additions & 1 deletion stateengine/user_doc/04_zustand.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion stateengine/user_doc/05_bedingungen.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion stateengine/user_doc/08_beispiel.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
2 changes: 1 addition & 1 deletion stateengine/user_doc/09_vorlagen.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
---------------------------
Expand Down
15 changes: 15 additions & 0 deletions stateengine/user_doc/13_sonstiges.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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:<Itempfad> liest den Wert aus gegebenem Item aus. Das Item sollte einen integer Wert beinhalten.
- eval:<Ausdruck> ermöglicht die hierarchische Neuordnung mittels Eval-Ausdruck
- value:<Itempfad> Angabe der hierarchischen Position durch Angabe eines Integer-Werts (min. 0)


Auflösen von Zuständen
----------------------

Expand Down

0 comments on commit 66911c4

Please sign in to comment.