Seite 2 von 2

Re: Anfänger am verzweifeln, Funksteckdosen schalten/Exec Binding

Verfasst: 31. Dez 2018 21:31
von udo1toni
Bitte niemals

Code: Alles auswählen

while(Licht_Flur.state !=OFF) {
	Thread::sleep(500)
}
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.

Re: Anfänger am verzweifeln, Funksteckdosen schalten/Exec Binding

Verfasst: 2. Jan 2019 12:02
von littlekenny
Hallo,

funktioniert es jetzt?

lieben Gruß, littlekenny