Seite 1 von 1

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

Verfasst: 17. Mai 2020 00:12
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

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

Verfasst: 17. Mai 2020 10:40
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.

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

Verfasst: 17. Mai 2020 10:48
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...

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

Verfasst: 17. Mai 2020 17:02
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?

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

Verfasst: 17. Mai 2020 20:29
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

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

Verfasst: 18. Mai 2020 18:42
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

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

Verfasst: 18. Mai 2020 18:52
von udo1toni
:) gerne.