Anfänger am verzweifeln, Funksteckdosen schalten/Exec Binding

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
udo1toni
Beiträge: 15244
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

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

Beitrag 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.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

littlekenny
Beiträge: 25
Registriert: 31. Mai 2018 02:49
Answers: 0

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

Beitrag von littlekenny »

Hallo,

funktioniert es jetzt?

lieben Gruß, littlekenny

Antworten