Hi,
ich baue gerade an einer State-Machine, die mit ein paar Timern und einer handvoll Rules gebaut ist. Das funktioniert auch erstmal ganz gut, aber ich habe bei der Ausgabe meiner Debug Messages gesehen, dass diese machmal sehr zögerlich erscheinen, machmal auch recht flott. Ich bin mir nicht sicher, ob das auch Auswirkungen auf die Laufzeit der Rules hat, aber beim Nachdenken über den Setup bin ich zu der Erkenntnis gelangt, dass es passieren kann, dass durch gleichzeitiges oder nahezu gleichzeitigem Beträtigen von physikalischen (in diesem Falle)Lichtschaltern einzelne Rules des Konstruktes auch (pseudo) gleichzeitig laufen können.
Beim Forschen, was ich dagegen tun kann, bin ich über lock/unlock gestolpert und habe schon gedacht, dass das dieses Problem lösen könnte. Dann habe ich mal google dazu befragt und erfahren, dass lock/unlock auch gewisse Seiteneffekte haben kann, wenn aus z.B. Fehlergründen das unlock nicht erfolgt. Die bevorzugte Lösung dieses Themas wäre "Synchronized Block". Leider finde ich dazu nichts in der OpenHAB Docu.
Also bleiben folgende Fragen:
1. gibt es die Synchronized Block Version in OpenHAB?
2. Wenn ja, was für ein "import" ist dazu nötig?
3. Wonach muß ich suchen oder wo muß ich suchen, um dafür Dokumentation zu finden?
3. Kann ich davon ausgehen, dass in einer Rule alle Statements wirklich in der eingetragenen Reihenfolge abgearbeitet werden, oder können "langsame" Statments von "schnelleren" überholt werden?
4. Wenn es denn dazu kommt, dass eine Rule aufgrund eines Fehlers nicht das "unlock" Statement erreicht, was ist zu tun, um den "lock" zu lösen? "Hilfsrule" starten die nur aus "MeinLock.unlock" besteht? Restart openHAB? Oder Reboot?
Gruß
Peter
ich baue gerade an einer State-Machine, die mit ein paar Timern und einer handvoll Rules gebaut ist. Das funktioniert auch erstmal ganz gut, aber ich habe bei der Ausgabe meiner Debug Messages gesehen, dass diese machmal sehr zögerlich erscheinen, machmal auch recht flott. Ich bin mir nicht sicher, ob das auch Auswirkungen auf die Laufzeit der Rules hat, aber beim Nachdenken über den Setup bin ich zu der Erkenntnis gelangt, dass es passieren kann, dass durch gleichzeitiges oder nahezu gleichzeitigem Beträtigen von physikalischen (in diesem Falle)Lichtschaltern einzelne Rules des Konstruktes auch (pseudo) gleichzeitig laufen können.
Beim Forschen, was ich dagegen tun kann, bin ich über lock/unlock gestolpert und habe schon gedacht, dass das dieses Problem lösen könnte. Dann habe ich mal google dazu befragt und erfahren, dass lock/unlock auch gewisse Seiteneffekte haben kann, wenn aus z.B. Fehlergründen das unlock nicht erfolgt. Die bevorzugte Lösung dieses Themas wäre "Synchronized Block". Leider finde ich dazu nichts in der OpenHAB Docu.
Also bleiben folgende Fragen:
1. gibt es die Synchronized Block Version in OpenHAB?
2. Wenn ja, was für ein "import" ist dazu nötig?
3. Wonach muß ich suchen oder wo muß ich suchen, um dafür Dokumentation zu finden?
3. Kann ich davon ausgehen, dass in einer Rule alle Statements wirklich in der eingetragenen Reihenfolge abgearbeitet werden, oder können "langsame" Statments von "schnelleren" überholt werden?
4. Wenn es denn dazu kommt, dass eine Rule aufgrund eines Fehlers nicht das "unlock" Statement erreicht, was ist zu tun, um den "lock" zu lösen? "Hilfsrule" starten die nur aus "MeinLock.unlock" besteht? Restart openHAB? Oder Reboot?
Gruß
Peter
Kommentar