Hallo zusammen,
ich habe mit Homematikomponenten ein Flurlich realisiert welches ab einer bestimmten Helligkeit per Bewegungsmelder für 45 Sekunden angeht. Wenn der entsprechende Taster gedrückt wird bleibt das List dauerhaft an. Das funktioniert auch soweit auf so wie gewollt.
Aber ohne erkennbaren Grund geht das Licht ohne das ein Taster gedrückt wird oder der Bewegungsmelder aktiviert worden wäre für 45 Sekunden an.
Ich finde keinen Fehler in der Programmierung. Seht ihr etwas? Danke
define FlurLicht2 DOIF ([CUL_HM_HM_SEC_MDIR_2_2D0BAC:motion] and ([CUL_HM_HM_SEC_MDIR_2_2D0BAC:brightness] < 50)) (set CUL_HM_HM_LC_Sw1PBU_FM_2726AE:FILTER=STATE!=on on-for-timer 45)
attr FlurLicht2 do always
Lass doch mal den EventMonitor einige Zeit mitlaufen und gucke, ob da irgendwelche unerwarteten motion-Events auftauchen zu der Zeit, wenn das Licht an geht.
Ich hatte sowas auch schon mal und habe gesucht und gescuht...
..und dann war die Batterie im Bewegungsmelder ausgelaufen und der Säurefilm ha immer häufiger den Sensor zum Auslösen gebracht..
Vielen Dank für die Infos. Das Log hat keine Auffälligkeiten gezeigt. Ich wird jetzt den Loglevel hochdrehen und den Eventmonitor mit laufen lassen. mal sehen was passiert. Das ist, insbesondere nachts etwas nervig und der WAF sinkt ins unterirdische.
Danke
So ich habe jetzt nochmal ein bisschen in den Logs verglichen.
Folgendes passiert:
Im fhem Log :
2015.03.15 16:50:37 3: CUL_HM set CUL_HM_HM_LC_Sw1PBU_FM_2726AE on-for-timer 45
im BW Log :
2015-03-15_16:50:37 CUL_HM_HM_SEC_MDIR_2_2D0BAC brightness: 38
2015-03-15_16:50:37 CUL_HM_HM_SEC_MDIR_2_2D0BAC cover: closed
2015-03-15_16:50:37 CUL_HM_HM_SEC_MDIR_2_2D0BAC battery: ok
und im Tasterlog
2015-03-15_16:50:37 CUL_HM_HM_LC_Sw1PBU_FM_2726AE set_on-for-timer 45
2015-03-15_16:50:37 CUL_HM_HM_LC_Sw1PBU_FM_2726AE level: 100
2015-03-15_16:50:37 CUL_HM_HM_LC_Sw1PBU_FM_2726AE pct: 100
D.h. es gibt um 16:50:37 einen Event, aber KEIN Motion. Daher müsste das DOIF nicht zutreffen und der on for timer dürfte nicht kommen.
Kommt aber, warum? Ich sehe keinen Fehler. Bin ratlos. Hilfe
Hast du denn mal in den Event Monitor geguckt? Das ist das, was zählt. Oder ist eins davon der Event Monitor?
Es geht nicht um den EventMonitor.
Es geht um einen einfachen Logikfehler in der Auswertung:
([CUL_HM_HM_SEC_MDIR_2_2D0BAC:motion] and ([CUL_HM_HM_SEC_MDIR_2_2D0BAC:brightness] < 50))
Da wird immer nur geprüft, ob :motion existiert (aber KEIN Wert geprüft!) UND :brightness < 50 ist. Im Eventmonitor steht ein brightness-Event mit 38, also einer unter 50. Da motion mit Sicherheit existieren wird, ist die Bedingung damit erfüllt und das Licht wird angeschaltet.
Danke an Betateilchen!
Damit müsste folgendes jetzt funktionieren, oder? :
(([CUL_HM_HM_SEC_MDIR_2_2D0BAC:motion] =~ "on") and ([CUL_HM_HM_SEC_MDIR_2_2D0BAC:brightness] < 50))
Ich versuche es damit.