Bitte niemals
ohne lock für die Rule verwenden! openHAB hat default 5 Threads zum Ausführen von Rules. Rules können beliebig oft gleichzeitig gestartet sein, es sei denn, man verhindert das aktiv (lock). Somit kann allein eine Rule mit diesem Code openHAB dazu bringen, gar keine Rules mehr auszuführen.
Es gibt 3 mögliche Status für ein Switch Item, ON, OFF und NULL, ich kann also das mehrfache Starten der Rule leicht provozieren ohne dass die Abbruchbedingung erfüllt wird, nur indem ich z.B. von einer anderen Rule aus abwechselnd ein Licht_Flur.postUpdate(NULL) und ein Licht_Flur.postUpdate(ON) sende.
Grundsätzlich sollen Rules so kurz wie möglich laufen. Unbedingt sind Laufzeiten wesentlich länger als 500mSec. zu vermeiden.
openHAB5.1.2 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.5 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte