Schaltbefehle werden mehrfach gesendet (gelöst!)

Begonnen von uron, 13 September 2018, 10:15:08

Vorheriges Thema - Nächstes Thema

uron

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?
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

viegener

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?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

uron

#3
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!
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker