[gelöst:] Hilfe! Mein Timer macht, was er will...

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
harteknut
Beiträge: 235
Registriert: 3. Dez 2019 08:21
Answers: 9

[gelöst:] Hilfe! Mein Timer macht, was er will...

Beitrag von harteknut »

Hallo zusammen,

ich habe hier eine ganz klassische Bewegungsmelder-Lichtschalter-Situation mit einer Doorbird-Klingel als Bewegungsmelder. Bei Dunkelheit soll der Bewegungsmelder das Licht im Eingangsbereich anschalten, und wenn nach Ablauf des Timers (10min) kein neuer Impuls kommt, darf das List wieder ausgehen.
Leider ist das Licht jeden morgen an... :(

Hier ist die Rule für das ganze:

Code: Alles auswählen

// Kopplung DoorBird DR_Klingel_Bewegung <-> LCN DR_Eingang_Licht
rule "Eingang Licht Bewegungsmelder"
when
    Item DR_Klingel_Bewegung changed from OFF to ON							// Bewegung wurde erkannt
then
	if (STATUS_Helligkeit.state  == 1) {
		logInfo("status.rules", "Klingel Bewegungsmelder ausgelöst!")
    	tBewegungEingang?.cancel												// zunächst eventuell laufende Timer entfernen
    	if(DR_Eingang_Licht.state != ON) DR_Eingang_Licht.sendCommand(ON)       // Licht einschalten, falls noch nicht an.
		logInfo("heizung.rules", "Licht angeschaltet.")
    	tBewegungEingang = createTimer(now.plusSeconds(600), [ |  				// Timer anlegen
        	if(DR_Eingang_Licht.state != OFF) DR_Eingang_Licht.sendCommand(OFF) // Licht ausschalten, falls noch nicht aus
        	tBewegungEingang = null												// Timervariable deinitialisieren
			logInfo("heizung.rules", "Licht ausgeschaltet.")
		])
	}
	DR_Klingel_Bewegung.sendCommand(OFF)
end
Ich habe mal Bewegungstrigger und Lichtstatus in die Persistenz gehangen und auf Habpanel gelegt, das Ergebnis sieht dann so aus:
Bildschirmfoto vom 2020-05-16 23-43-03.png
Aus irgendeinem Grund macht sich das Licht selbstständig, ich weiß aber nicht warum...
Könntet Ihr da mal draufgucken? Ist evtl. nur ein dämlicher Tippfehler, oder aber ein größerer Denkfehler...
Danke Euch,
Simon
von udo1toni » 17. Mai 2020 17:02
Also, die Rule sieht erst mal gut aus (ich gehe davon aus, dass Du im Dateikopf die Variable tBewegungEingang als globalen Timer definiert hast).

Bist Du sicher, dass DR_Eingang_Licht ausschließlich von dieser Rule gesteuert werden kann? Gerade wenn es im events.log keine Zeile mit

Code: Alles auswählen

Item 'DR_Eingang_Licht' received command ON
gibt, kann der Einschaltbefehl eigentlich nicht von openHAB kommen. Welche Technologie hängt denn hinter dem Licht Item?
Gehe zur vollständigen Antwort
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von harteknut am 18. Mai 2020 18:43, insgesamt 1-mal geändert.

harteknut
Beiträge: 235
Registriert: 3. Dez 2019 08:21
Answers: 9

Re: Hilfe! Mein Timer macht, was er will...

Beitrag von harteknut »

noch eine Ergänzung:
In dem Beispiel gibt es ja eine Reihe von unerwarteten "Lichtanschaltern", die ohne vorherige Bewegungserkennung ausgeführt werden. Im Log kann ich die aber alle nicht finden (habe je zur Suche extra den "Licht angeschaltet."-Eintrag in die Rule geschrieben).
Bedeutet also: Die Rule wird nicht "versehentlich" neu gestartet.

harteknut
Beiträge: 235
Registriert: 3. Dez 2019 08:21
Answers: 9

Re: Hilfe! Mein Timer macht, was er will...

Beitrag von harteknut »

... und weiter, habe gerade noch den events-log geprüft:
Bei einer "regulären" Auslösung steht im log:

Code: Alles auswählen

2020-05-16 21:43:19.031 [ome.event.ItemCommandEvent] - Item 'DR_Eingang_Licht' received command ON
2020-05-16 21:43:19.036 [vent.ItemStateChangedEvent] - DR_Eingang_Licht changed from OFF to ON
bei einer "unerwarteten" Auslösung fehlt die erste Zeile, d.h. das Item wechselt den Status ohne das Kommando zu bekommen? :shock:
Das raff ich nicht...

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

Re: Hilfe! Mein Timer macht, was er will...

Beitrag von udo1toni »

Also, die Rule sieht erst mal gut aus (ich gehe davon aus, dass Du im Dateikopf die Variable tBewegungEingang als globalen Timer definiert hast).

Bist Du sicher, dass DR_Eingang_Licht ausschließlich von dieser Rule gesteuert werden kann? Gerade wenn es im events.log keine Zeile mit

Code: Alles auswählen

Item 'DR_Eingang_Licht' received command ON
gibt, kann der Einschaltbefehl eigentlich nicht von openHAB kommen. Welche Technologie hängt denn hinter dem Licht Item?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

harteknut
Beiträge: 235
Registriert: 3. Dez 2019 08:21
Answers: 9

Re: Hilfe! Mein Timer macht, was er will...

Beitrag von harteknut »

Treffer! (Glaub ich.)
DR_Eingang_Licht ist ein item eines LCN-Moduls, die sind kabelgebunden und tun hier seit 8 Jahren ihren Dienst, ohne dass ich eine einzige Fehlfunktion beobachten konnte.
Ich habe eben die Config geprüft und gesehen, dass das Item in der *.items-Datei falsch konfiguriert wurde (Status und Kommandos auf unterschiedlichen Kanälen). Ich kann nicht ganz nachvollziehen, ob das die Ursache war, könnte mir das aber vorstellen. Jedenfalls hab ichs korrigiert, jetzt wirds mal beobachtet.

Danke für den Hinweis!

Gruß,
Simon

harteknut
Beiträge: 235
Registriert: 3. Dez 2019 08:21
Answers: 9

Re: Hilfe! Mein Timer macht, was er will...

Beitrag von harteknut »

Erste Nacht ist rum, alles total normal.
Sieht so aus, als wenn es tatsächlich an der Item-Konfiguration lag. Beim LCN-Binding wird der Status und alle Kommandos eines Items einzeln definiert. Das hat Vorteile (ich kann mit einem Item z.B. Ausgänge an unterschiedlichen Modulen schalten, auch an dem einen "ON", an einem anderen "OFF"), ist aber bei der Konfiguration recht aufwändig und vor allem:
Fehleranfällig!
Ich markier das Thema daher als gelöst.
Vielen Dank nochmal,
Simon

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

Re: [gelöst:] Hilfe! Mein Timer macht, was er will...

Beitrag von udo1toni »

:) gerne.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten