Ein Hallo an die Runde,
ich quäle mich seit mehreren Tagen mit dem Problem der mehrfachen (natürlich ungewollten) Aussendung von Schaltbefehlen, die dann zu einem LOVF führt.
Die Situation:
Ich habe im Garten 2 Wegstrecken, auf denen ich mit jeweils 2 Bewegungsmeldern detektiere, ob sich etwas bewegt, dann soll Licht angeschaltet werden.
Geschaltet wird das Licht auf beiden Wegen, nachdem bestimmte Stati abgefragt wurden (Dunkelheit (isNacht), Nachtabschaltung, ist das Licht bereits dauerhaft eingeschaltet (*DLStatus).
Der eine Weg (Garagenweg) wird über 2 FS20-Bewegungsmelder (PIRA_21 und PISA_31) detektiert und eine Leuchte wird geschaltet,
der 2. Weg (Treppenlicht) wird über 2 HM-Bewegungsmelder (PIRA_41 und PIRA_51 detektiert und 3 Leuchten werden geschaltet, soweit sie jeweils nicht bereits durch eine Fernsteuerung dauernd eingeschaltet sind (deshalb zuvor wieder Statusabfragen (*DLStatus)).
Der Fehler:
Während der Schaltvorgang des Garagenweges im Logfile nur einfach auftaucht erscheint ein Schaltbefehl am Treppenlicht bis zu 8-fach (je Leuchte) - die Häufigkeit ist nicht konstant, mindestens jedoch > 5 Mal.
Hier das Logfile auszugsweise, wozu ich ausnahmeweise die Bewegung am Tag habe detektieren lassen:
2018.09.13 10:05:58 3: FS20 set ug_Licht_Weggabelung on-for-timer 240
2018.09.13 10:05:58 3: FS20 set og_Licht_Rosenbogen on-for-timer 240
2018.09.13 10:05:58 3: FS20 set ug_Licht_kl_Teich on-for-timer 240
2018.09.13 10:05:58 3: FS20 set ug_Licht_Weggabelung on-for-timer 240
2018.09.13 10:05:58 3: FS20 set og_Licht_Rosenbogen on-for-timer 240
2018.09.13 10:05:58 3: FS20 set ug_Licht_kl_Teich on-for-timer 240
2018.09.13 10:05:58 3: FS20 set ug_Licht_Weggabelung on-for-timer 240
2018.09.13 10:05:58 3: FS20 set og_Licht_Rosenbogen on-for-timer 240
2018.09.13 10:05:58 3: FS20 set ug_Licht_kl_Teich on-for-timer 240
2018.09.13 10:05:58 3: FS20 set ug_Licht_Weggabelung on-for-timer 240
2018.09.13 10:05:58 3: FS20 set og_Licht_Rosenbogen on-for-timer 240
2018.09.13 10:05:58 3: FS20 set ug_Licht_kl_Teich on-for-timer 240
2018.09.13 10:05:58 3: FS20 set ug_Licht_Weggabelung on-for-timer 240
2018.09.13 10:05:58 3: FS20 set og_Licht_Rosenbogen on-for-timer 240
2018.09.13 10:05:58 3: FS20 set ug_Licht_kl_Teich on-for-timer 240
2018.09.13 10:05:58 3: FS20 set ug_Licht_Weggabelung on-for-timer 240
2018.09.13 10:05:58 3: FS20 set og_Licht_Rosenbogen on-for-timer 240
2018.09.13 10:05:58 3: FS20 set ug_Licht_kl_Teich on-for-timer 240
2018.09.13 10:05:58 3: FS20 set ug_Licht_Weggabelung on-for-timer 240
2018.09.13 10:05:58 3: FS20 set og_Licht_Rosenbogen on-for-timer 240
2018.09.13 10:05:58 3: FS20 set ug_Licht_kl_Teich on-for-timer 240
2018.09.13 10:06:00 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:00 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:00 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:00 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:01 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:01 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:01 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:02 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:02 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:02 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:03 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:03 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:03 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:03 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:04 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:04 3: CUL_0: Unknown code LOVF, help me!
2018.09.13 10:06:04 3: CUL_0: Unknown code LOVF, help me!
In den letzten Abendstunden wie auch jetzt im Testfall führt dies zu LOVF.
In beiden Fällen wird der Schaltvorgang per notify ausgelöst, die Befehlsstrukturen sind vergleichbar, lediglich das Bewegungsmeldersystem ist unterschiedlich.
Nachfolgend der Schaltbefehl für die Garagenwegbeleuchtung, dieser soll später nich für die Fälle erweitert werden:
define Garagenweglicht_BW notify PIRA_(21|31) {if (Value("GaragenwegLichtDLStatus") eq "off" && Value("isNACHT") eq "on" && Value("Nachtabschaltung") eq "off") {fhem ("set ug_Licht_Garagenweg on-for-timer 120 ;; set GaragenwegLichtBWStatus on ;; sleep 120;;set GaragenwegLichtBWStatus off")}}
und hier der Schaltbefehl für das Treppenlicht (den *BW-Status hatte ich auch hier schon mit der sleep-Funktion mit gleichem Ergebnis umgeschaltet:
define Treppenlicht_BW4_1 notify PIRA_(41|51) {if (Value("TreppenLichtDLStatus") eq "off" && Value("WeggabelungLichtDLStatus") eq "off" && Value("klTeichLichtDLStatus") eq "off" && Value("isNACHT") eq "off" && Value("Nachtabschaltung") eq "off") {fhem ("set TreppenLichtBWStatus on-for-timer 240 ;; set ug_Licht_Weggabelung on-for-timer 240 ;; set og_Licht_Rosenbogen on-for-timer 240 ;; set ug_Licht_kl_Teich on-for-timer 240")}}
Zur Komplettierung nun noch das List des PIRA_41 als Beispiel für den HM-Bewegungsmelder:
Internals:
CUL_HM_MSGCNT 2
CUL_HM_RAWMSG A0D3184415B4EE7000000012E3080::-82:CUL_HM
CUL_HM_RSSI -82
CUL_HM_TIME 2018-09-13 09:20:30
DEF 5B4EE7
IODev CUL_HM
LASTInputDev CUL_HM
MSGCNT 2
NAME PIRA_41
NOTIFYDEV global
NR 293
STATE noMotion
TYPE CUL_HM
lastMsg No:31 - t:41 s:5B4EE7 d:000000 012E3080
protLastRcv 2018-09-13 09:20:29
protRcv 2 last_at:2018-09-13 09:20:29
rssi_at_CUL_HM cnt:2 min:-82 max:-81 avg:-81.5 lst:-82
READINGS:
2018-08-30 10:03:32 D-firmware 1.6
2018-08-30 10:03:32 D-serialNr OEQ0755972
2018-09-13 09:20:30 battery ok
2018-09-13 09:20:30 brightness 48
2018-09-13 09:24:31 motion off
2018-09-13 09:20:30 motionCount 46_next:240s
2018-09-13 09:24:31 motionDuration 242
2018-09-13 09:24:31 state noMotion
2018-09-13 09:20:30 trigger_cnt 46
helper:
HM_CMDNR 49
mId 004F
regLst ,0,1,4p
rxType 28
supp_Pair_Rep 0
expert:
def 1
det 0
raw 1
tpl 0
io:
newChn +5B4EE7,00,00,00
nextSend 1536823230.09358
prefIO
rxt 2
vccu
p:
5B4EE7
00
00
00
mRssi:
mNo 31
io:
CUL_HM:
-80
-80
prt:
bErr 0
sProc 0
q:
qReqConf 00
qReqStat
role:
chn 1
dev 1
rssi:
at_CUL_HM:
avg -81.5
cnt 2
lst -82
max -81
min -82
tmpl:
Attributes:
IODev CUL_HM
alias Bewegungsmelder4 an Treppe zum Obergarten (unten)
autoReadReg 4_reqStatus
expert 2_raw
firmware 1.6
icon motion_detector
model HM-SEN-MDIR-SM
room HM-Devices,Bewegungsmelder
serialNr OEQ0755972
subType motionDetector
Wo hänge ich oder das System? Habt ihr eine Idee?
Dein notify ist sehr generisch und reagiert auf jeden Event von den Bewegungsmeldern und das auch noch von beiden Bewegungsmeldern, ich vermute dass mehrere Events triggern. Am einfachsten lässt sich das im Event Monitor und dann den notify vielleicht etwas spezifischer auf den Event zuschneiden?
Hi,
deine BM senden 6 Events bei Bewegung und 3 Events wenn die Zeitspanne abgelaufen ist.
Einer davon sieht so etwa aus2018-09-13 12:13:02 CUL_HM PIR3 motion: on (to VCCU)
Den würde ich nehmen.
Also wahrscheinlich soPIRA_(41|51):motion:.on.*
Gruß Otto
Schön, klingt super - wäre da nur nicht mein leerer Event Monitor.
Wobei ich weiß, dass er bei jedem neuen Öffnen gelöscht wird.
Muss ich wohl erst einmal auf Intensivsuche im Forum gehen - die Schnellanalyse führt mich nicht weiter.
Ich habe dann trotzdem einmal den von Otto123 angegebenen Code
PIRA_(41|51):motion:.on.*
mit Erfolg eingefügt - klappt! Es wird jetzt nur ein Schaltbefehl lt. Logfile ausgeführt.
Fazit: Problem gelöst, Event Monitor trotzdem leer!
Ein paar Minuten später:
Hab den Fehler gefunden: Nehme ich z.B. Google Chrome, werden Einträge im Event Monitor angezeigt:
2018-09-13 14:27:19 dummy TreppenLichtBWStatus on-for-timer 240
2018-09-13 14:27:19 FS20 ug_Licht_Weggabelung on-for-timer 240
2018-09-13 14:27:19 FS20 og_Licht_Rosenbogen on-for-timer 240
2018-09-13 14:27:19 FS20 ug_Licht_kl_Teich on-for-timer 240
2018-09-13 14:27:19 CUL_HM PIRA_41 battery: ok
2018-09-13 14:27:19 CUL_HM PIRA_41 brightness: 141
2018-09-13 14:27:19 CUL_HM PIRA_41 motion: on (to broadcast)
2018-09-13 14:27:19 CUL_HM PIRA_41 motionCount: 52_next:240s
2018-09-13 14:27:19 CUL_HM PIRA_41 motion
2018-09-13 14:27:19 CUL_HM PIRA_41 trigger_cnt: 52
Super!!! Normalerweise verwende ich Firefox, Vers. 62.0 64-Bit!
Danke nochmals!