Nach längeren internen Tests möchte ich nun endlich das Projekt vorstellen, das mich zur Entwicklung des inzwischen vielfach integrierten OpenKNX ConfigTransfers als „Nebenprodukt“ motiviert hatte.
Die StateEngine ermöglicht, eine universelle Definition von Zustands-abhängigem Verhalten von KNX direkt in der ETS. Für derartige Funktionalität war es bislang erforderlich auf externe Lösungen zurückzugreifen und die Konfiguration außerhalb der ETS durchzuführen, sofern man sich nicht auf Standard-Anwendungsfälle wie z.B. beim VPM beschränkt. Das zunächst exklusiv in der StateEngine verfügbare neue OpenKNX-Modul Zustandsautomaten (OAM-DFA) implementiert die Möglichkeit einer entsprechenden klaren, formellen, Ereignis-orientierten Verhaltensbeschreibung auf Basis von Deterministischen Endlichen Automaten (Ein sehr bekanntes Modell aus der theoretischen Informatik). Die Zustandsautomaten können und sollten in Kombination mit dem (ebenfalls enthaltenen) OpenKNX-Logikmodul eingesetzt werden. Dadurch kann je nach Anwendungsfall in beide Richtungen die Konfiguration deutlich vereinfacht werden.
Kurzbeschreibung der 16 enthaltenen Zustandsautomaten (OAM-DFA)
willisurf für das unabhängige Testen im Produktiveinsatz und Feedback als Basis für Detailverbeserungen, sowie die Bereitschafft eigene innovative Anwendungsbeispiele zu präsentieren. mumpf für die Möglichkeit mit dem Producer auch OpenKNX-Module zu verwenden, die die Grenzen des internen Standard-Adressierungsschemas sprenzen. Und natürlich auch weiteren zum OpenKNX-Projekten Beitragende, für das inzwischen entstandene mächtige Ökosystem aus freier Software und freier Hardware.
Anmerkungen zum aktuellen Status als Public Beta und Bitte um Tester
Die Veröffentlichung erfolgt zunächst als Beta-Release, weil der Test bislang ausschließlich intern mit einem sehr begrenzten Nutzerkreis erfolgt ist und zuletzt noch eine größere Anpassung erfolgte (zur Verbesserung der Performance in der ETS und beim Programmieren). Bei geringerem Anspruch an Qualität und Stabilität könnte man das Beta wohl auch weglassen.
Selbst habe ich das Modul inzwischen seit über einem Jahr im Produktiveinsatz, teilweise mit über 7 Monaten ununterbrochener Laufzeit. Bei willisurf ist die die StateEngine seit etwa einem halben Jahr im Einsatz. Gravierende Fehler sind in diesem Rahmen nicht mehr aufgetreten und die Basis der Implementierung ist so weit stabil. Diese Konfigurationen decken allerdings nicht alle Funktionen vollständig ab und es ist möglich, dass neue Nutzer – ohne direkten Austausch mit mir - die Applikation in einer konzeptionell nicht erwarteten Art verwenden. Angesichts der bereits erfolgten Iterationen ist vor allem mit diversen Details zu rechnen und einer auf dieser Basis folgenden Update-fähigen Nachfolge (z.B. mit Fix zur Anzeigereihenfolge der KOs an einer Stelle in der ETS enthalten wird).
Das Testen in größerer Runde ist nun ein letzter wichtiger Schritt zum ersten offiziellen Produktiv-Release. Falls Ihr Fragen oder Vorbehalte habt, die Euch vom selbst ausprobieren abhalten, dann meldet Euch einfach.Im Rahmen des geplanten OpenKNX-Treffens wird die Möglichkeit zum direkten Austausch von Erfahrungen beim Einsatz, sowie auch gemeinsamer Erarbeitung von Zustandsbeschreibungen für individuelle Anwendungen möglich sein.
Release und weitere Links
Viel Spaß beim Ausprobieren. Bin gespannt welche Anwendungen Ihr damit realisieren werdet und auf Eure Erfahrungsberichte; auch zu Stellen an denen noch irgendwas unerwartet läuft.
Cornelius
Die StateEngine ermöglicht, eine universelle Definition von Zustands-abhängigem Verhalten von KNX direkt in der ETS. Für derartige Funktionalität war es bislang erforderlich auf externe Lösungen zurückzugreifen und die Konfiguration außerhalb der ETS durchzuführen, sofern man sich nicht auf Standard-Anwendungsfälle wie z.B. beim VPM beschränkt. Das zunächst exklusiv in der StateEngine verfügbare neue OpenKNX-Modul Zustandsautomaten (OAM-DFA) implementiert die Möglichkeit einer entsprechenden klaren, formellen, Ereignis-orientierten Verhaltensbeschreibung auf Basis von Deterministischen Endlichen Automaten (Ein sehr bekanntes Modell aus der theoretischen Informatik). Die Zustandsautomaten können und sollten in Kombination mit dem (ebenfalls enthaltenen) OpenKNX-Logikmodul eingesetzt werden. Dadurch kann je nach Anwendungsfall in beide Richtungen die Konfiguration deutlich vereinfacht werden.
Kurzbeschreibung der 16 enthaltenen Zustandsautomaten (OAM-DFA)
- 16 Zustände zwischen denen im Betrieb gewechselt wird. Ausgabe des aktuellen Zustands über KO, optional auch direkter Aufruf des Zustands über separates oder gemeinsames KO.
- 8 Eingabesymbole (A bis H), die durch bis zu 8 unabhängige DPT1 Eingabe-KOs oder Logikausgänge erzeugt werden. Durch optionale Konfiguration als Eingabesymbolpaar kann z.B. ohne weiter Vorverarbeitung auf das Auftreten oder den Wegfall von erkannter Präsenz oder Last reagiert werden.
- Ein Timeout-Eingabesymbol T wird erzeugt, wenn innerhalb eines zustands-spezifisch konfigurierten Zeitintervalls keine Eingabe erfolgt (bzw. kein anderes Ereignis eingetreten) ist.
- Für jede Kombination aus Zustand und Eingabesymbol/-Ereignis kann ein Nachfolgezustand (oder das Ignorieren) festgelegt werden.
- 4 Ausgabekanäle (O1 bis O4) mit gängigen DPTs, darunter auch ein Kanal mit Text. Für jede Kombination aus Zustand und Ausgang kann individuell ein Wert und ein fein abgestuftes Sendeverhalten definiert werden.
- Eine Rekonstruktionsfunktion ermöglicht auf Wunsch beim Neustart eine Fortsetzung in dem letzten gespeicherten Zustand/Status
- Optionale Pause-Funktion zur Unterbrechung der Ausführung per KO.
willisurf für das unabhängige Testen im Produktiveinsatz und Feedback als Basis für Detailverbeserungen, sowie die Bereitschafft eigene innovative Anwendungsbeispiele zu präsentieren. mumpf für die Möglichkeit mit dem Producer auch OpenKNX-Module zu verwenden, die die Grenzen des internen Standard-Adressierungsschemas sprenzen. Und natürlich auch weiteren zum OpenKNX-Projekten Beitragende, für das inzwischen entstandene mächtige Ökosystem aus freier Software und freier Hardware.
Anmerkungen zum aktuellen Status als Public Beta und Bitte um Tester
Die Veröffentlichung erfolgt zunächst als Beta-Release, weil der Test bislang ausschließlich intern mit einem sehr begrenzten Nutzerkreis erfolgt ist und zuletzt noch eine größere Anpassung erfolgte (zur Verbesserung der Performance in der ETS und beim Programmieren). Bei geringerem Anspruch an Qualität und Stabilität könnte man das Beta wohl auch weglassen.
Selbst habe ich das Modul inzwischen seit über einem Jahr im Produktiveinsatz, teilweise mit über 7 Monaten ununterbrochener Laufzeit. Bei willisurf ist die die StateEngine seit etwa einem halben Jahr im Einsatz. Gravierende Fehler sind in diesem Rahmen nicht mehr aufgetreten und die Basis der Implementierung ist so weit stabil. Diese Konfigurationen decken allerdings nicht alle Funktionen vollständig ab und es ist möglich, dass neue Nutzer – ohne direkten Austausch mit mir - die Applikation in einer konzeptionell nicht erwarteten Art verwenden. Angesichts der bereits erfolgten Iterationen ist vor allem mit diversen Details zu rechnen und einer auf dieser Basis folgenden Update-fähigen Nachfolge (z.B. mit Fix zur Anzeigereihenfolge der KOs an einer Stelle in der ETS enthalten wird).
Das Testen in größerer Runde ist nun ein letzter wichtiger Schritt zum ersten offiziellen Produktiv-Release. Falls Ihr Fragen oder Vorbehalte habt, die Euch vom selbst ausprobieren abhalten, dann meldet Euch einfach.Im Rahmen des geplanten OpenKNX-Treffens wird die Möglichkeit zum direkten Austausch von Erfahrungen beim Einsatz, sowie auch gemeinsamer Erarbeitung von Zustandsbeschreibungen für individuelle Anwendungen möglich sein.
Release und weitere Links
- StateEngine DFA16 v0.1 Public Beta
- Die Firmware unterstützt verschiedene generische OpenKNX-Geräte:
- REG1 BASE v0
- REG1 BASE (v1)
- PicoBCU-Connector
- REG2
- OpenKNXiao
- Die Firmware unterstützt verschiedene generische OpenKNX-Geräte:
- Zustandsautomaten OpenKNX (Modul OFM-DFA)
- OpenKNX StateEngine
Viel Spaß beim Ausprobieren. Bin gespannt welche Anwendungen Ihr damit realisieren werdet und auf Eure Erfahrungsberichte; auch zu Stellen an denen noch irgendwas unerwartet läuft.
Cornelius
Kommentar