Neues Modul für Alarmanlage

Begonnen von Prof. Dr. Peter Henning, 08 September 2014, 20:43:06

Vorheriges Thema - Nächstes Thema

petermiller

Hallo Zusammen,
ich nutze das Modul 95_Alarm und habe folgendes Problem: Beim Umscharfschalten (Disarm) habe ich eine Verzögerung von 3 Sekunden. im Loggfile erhalte ich folgende Einträge
2019.11.13 08:00:32 1: define alarm0.disarm.T at +00:00:03: Usage: define <name> at [timespec or datespec] <command>
2019.11.13 08:00:32 3: define alarm0.disarm.T at +00:00:03 ; set GPIO16_LED_Gelb off; set GPIO19_LED_Gruen on : Usage: define <name> at [timespec or datespec] <command>
2019.11.13 08:00:32 3: alarm0.disarm.N return value: [Alarm 0] disarmed from alarmSensor AlarmAusSequence with event trigger


Ich möchte die Verzögerung löschen (auf Null setzen). Wo/Wie kann ich das tun?

IcedEarth

Guten Abend,

ich bastel gerade ein wenig mit dem Alarmmodul herum. Wirklich sehr komfortabel zu bedienen und einzurichten.
Ich habe beim Einsatz festgestellt, dass das ganze System auf Alarm steht, wenn ein Alarm ausgelöst wurde. Das hat zur Folge, dass keine weiteren Alarme mehr registriert werden.
Bei mir liegt das Problem darin, dass ich verschiedene Bewegungssensoren auslese. Einer von denen erkennt aktuell "dummerweise" auch den Weg zur Toilette, was zur Folge hat, dass der Alarm dann auch ausgelöst werden würde...

Meine Frage ist nun, ob es eine Möglichkeit gibt, den Alarm nach einer gewissen Zeit zu widerrufen, oder ob ich dafür einen Timer setzen muss?

Ich freue mich auf Eure Antworten!

petermiller

Hallo,
im Alarm System gibt es zu jedem Alarm (0-7) rechts neben den Spalten Start und End die Spalte AutoCancel. Wenn Du dort z.B. 0:02 einträgst, wird der Alarm automatisch nach 2 Minuten gecanceled.
Viele Grüße
Jens

Prof. Dr. Peter Henning

Abgesehen davon werden Alarme höherer Priorität immer noch erkannt.

Und ob man nun als Alarmdevice einen Sensor auf dem Weg zur Toilette definieren sollte, wage ich zu bezweifeln.

LG

pah

IcedEarth

Hallo Jens, die Spalte habe ich tatsächlich gekonnt überlesen. Danke!

Hallo Peter, der Weg zur Toilette führt leider entlang einer Empore, die über dem Flur liegt. Eigentlich sollte nur der Flur überwacht werden. Ich muss da nochmal schauen, wie ich den Sensor etwas anders ausrichte, um das zu verhindern.
Danke Dir auf jeden Fall auch für die Entwicklung dieses Moduls!

Viele Grüße

UweUwe

Hallo,
hab das Modul Alarm an 3 unterschiedlichen Orten im Einsatz. Läuft zuverlässig und bin sehr zufrieden, seit > 1 Jahren.
In sehr selten Fällen löst man versehentlich einen Alarm aus, z.B. wenn Geofancy aus nicht erklärbaren Gründen die Alarmanlage nicht "unscharf" schält (wahrscheinlich ein Problem im Mobilfunknetz). Ich bekomme zwar auf das Handy eine entsprechende Meldung, immer kontrolliert man aber nicht. Auch die Kinder laufen mal rein.
Das Resultat ist aber fatal, da ich 2 externe dicke Sirenen habe.
Jetzt die Frage: wie schaltet ihr schnell solche "Fehlalarme" ab, falls ihr vor Ort seit.
Es sollte schnell , sicher und intuitiv sein. Intuitiv deshalb, weil zwischen den Fehlalarmlöschungen schon mal Monate liegen. Man vergisst schwierige Tastendrücken (lange, kurz, etc) schon mal.

Wie habt ihr das gelöst?
Merci




KölnSolar

einfache Funkfernbedienung. Am besten mit nur einem Knopf. Für die eingeweihten am bekannten Ort schnell auffind- u. sicher bedienbar. Der Bösewicht hat bei plötzlichem Höllenlärm kaum die Muße minutenlang nach der Fb zu suchen. Ich behaupte, dass der "gewöhnliche" Bösewicht noch nicht einmal auf die Idee kommt.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Beetle2003

Ich hatte hierfür zuerst einen Schlüsselschalter mit einem Funkmodul.
Hierüber würde die Anlage geschärft bzw entschärft.

Im Sommer bin ich auf RFID Kartenleser umgestiegen und diese in einer CCU angelernt und weiter an FHEM.

Das funktioniert zuverlässig.

Ich bin ein Freund der RFIDs geworden in Verbindung mit CCU, da dort die Karten leicht wieder entfernt werden können.

Danke hierfür an Jerome.

UweUwe

Hallo, vielen Dank für die Antworten.

@ KölnSolar: ich hatte die Funkfernbedienungen und im Einsatz. Ich nehme an, du meinst eine HM-RC-4-3. Da hast du Tasten. Theoretisch kann man auf alle 4 das gleiche Kommando legen.
Was benutzt du zum "Auschalten": Widerrufen oder Entschärfen?

@ RFID ist sicherlich auch eine gute Möglichkeit, könntest du mir bitte noch weitere Hinweise zukommen lassen?

Vielen Dank

Beetle2003

Zitat von: UweUwe am 09 Januar 2020, 12:30:28
Hallo, vielen Dank für die Antworten.

@ KölnSolar: ich hatte die Funkfernbedienungen und im Einsatz. Ich nehme an, du meinst eine HM-RC-4-3. Da hast du Tasten. Theoretisch kann man auf alle 4 das gleiche Kommando legen.
Was benutzt du zum "Auschalten": Widerrufen oder Entschärfen?

@ RFID ist sicherlich auch eine gute Möglichkeit, könntest du mir bitte noch weitere Hinweise zukommen lassen?

Vielen Dank

Hallo,

ich baue diese Leser
https://github.com/jp112sdl/HB-UNI-Sen-RFID-RC

Für den Aussenbereich habe ich mir bei Conrad ein Gehäuse 85x56x26 bestellt und versorge die Elektronik mit 5V Netzteilen.





KölnSolar

ZitatWiderrufen oder Entschärfen?
Lässt sich gar nicht so beantworten. Kommt ja auch auf die eigene Implementierung an. Entschärfen ist aber sicherlich der richtigere Weg, sonst löst sie ja direkt wieder aus. Wenn das aber gewünscht ist, solltest Du Dir überlegen mit Autocancel zu arbeiten. Muss man ja eigentlich wg. gesetzlicher Bestimmung sowieso. Also Alarm wird ausgelöst -> Sirenen -> Autocancel nach x Sek. -> Sirenen verstummen, Alarm bleibt scharf, neue Auslösung löst wieder die Sirenen aus

Bei mir ist es kein HM aber auch 4-Knopf. Gute Idee, die dann gleich zu belegen.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Prof. Dr. Peter Henning

Ich habe dafür in jeder Etage einen zentralen Taster, der normalerweise eine andere Funktion hat.

LG

pah

msfox

Zitat von: plin am 03 Januar 2017, 10:09:01
Hallo pah,

unter 'Sensors' werden die Devices mit ihrem Device-Namen angezeigt. Die habe ich so belassen wie sie beim Pairen angelegt wurden (also z.B. HM_471111). Die sprechenden Namen habe ich über Aliase definiert. Lassen sich die Alias- statt der Devicenamen anzeigen (sofern definiert)?

LG Peter
Ich habe auch gerade mit dem Alarm-Modul angefangen. Mal wieder eine Klasse Arbeit, was ehrenamtlich hier geleistet wird!
Jedoch fiel mir beim ersten Schritt schon auf, dass nicht die Aliases der Devices verwendet werden.
Sollte dies mitlerweile gehen?
Ich habe Version "Alarm.version => 5.0"

PSI69

#1288
So, jetzt bin ich wieder einmal in ein Problem gerannt:

Ich habe einen Alarmsensor definiert, der leider den Alarm Level 6 nicht wie gewünscht triggert/auslöst.

Hier die Def vom Sensor (DOIF im Perl Mode):
Internals:
   DEF        subs {
  sub $SELF_DebugMessage {
    my ($Message)=@_;
    my $MODUL="$SELF";
    my $senddebugmessages = AttrVal("$SELF","senddebugmessages","");

    ## Debug gewünscht?
    if ($senddebugmessages eq "1") {
      fhem("msg push @[Messages.Type:mt_Alarmanlage] '$MODUL': Message: $Message");
    }
    Log 3, $MODUL.": "."Aktion: $Message";
  }
}

## WebCmd
{ if (["^$SELF$:^Ein$"]) {
    ## Status
    set_State("on");
    set_Reading("count","0","1");
  }
}
{ if (["^$SELF$:^Aus$"]) {
    ## Status
    set_State("off");
    set_Reading("count","0","1");
  }
}

## Benachrichtigung bei Auslösung PIR && AAA aktiv
{ if (!([$SELF:state] eq "off")               ## nicht deaktiviert
  and ([AAA:level6] eq "armed")               ## Alarmanlage scharf
  and (["^PIR:^digitalInput:.0$"])            ## beliebiger PIR löst aus
) {
##    $SELF_DebugMessage("Bewegungsmelder '$DEVICE' hat ausgelöst");
   
    ## Anzahl Auslösungen hochzählen
    my $count = get_Reading("count") + 1;
set_Reading("count",$count,"1");
  }
}

## alle 3 Minuten Anzahl Auslösungen verringern
{[+00:03];                                    ## alle 3 Minuten
  if (!([$SELF:state] eq "off")               ## DOIF enabled
  and ([AAA:level6] eq "armed")               ## Alarmanlage scharf
  ) {
    ## Anzahl Auslösungen verringern
my $count = get_Reading("count");
if ($count gt 0) {
      $count = $count - 1;
      set_Reading("count",$count,"1");
##      $SELF_DebugMessage("Count: $count");
    }
  }
}
   FUUID      5ddc27cd-f33f-d09e-b232-f115be10e4d744cb
   MODEL      Perl
   NAME       di_p_PIR_Monitoring
   NOTIFYDEV  global,di_p_PIR_Monitoring,AAA,PIR.*
   NR         657
   NTFY_ORDER 50-di_p_PIR_Monitoring
   STATE      on
   TYPE       DOIF
   VERSION    20500 2019-11-12 17:54:48
   OLDREADINGS:
   READINGS:
     2020-01-22 20:54:35   Device          AAA
     2020-01-22 20:53:16   alarm           1
     2020-01-22 20:52:41   block_01        executed
     2020-01-22 20:52:40   block_02        executed
     2020-01-22 20:54:35   block_03        executed
     2020-01-22 20:56:05   block_04        executed
     2020-01-22 20:53:16   count           5
     2020-01-22 20:54:35   e_AAA_level6    disarmed
     2020-01-22 20:50:05   mode            enabled
     2020-01-22 20:52:41   state           on
     2020-01-22 20:56:05   timer_01_c04    22.01.2020 20:59:05
   Regex:
     accu:
     cond:
       :
         0:
           "^di_p_PIR_Monitoring$:^Ein$" ^di_p_PIR_Monitoring$:^Ein$
         1:
           "^di_p_PIR_Monitoring$:^Aus$" ^di_p_PIR_Monitoring$:^Aus$
         2:
           "^PIR:^digitalInput:.0$" ^PIR:^digitalInput:.0$
         3:
       AAA:
         0:
         1:
         2:
           level6     ^AAA$:^level6:
         3:
           level6     ^AAA$:^level6:
       di_p_PIR_Monitoring:
         0:
         1:
         2:
           state      ^di_p_PIR_Monitoring$:^state:
         3:
           state      ^di_p_PIR_Monitoring$:^state:
     event_Readings:
       di_p_PIR_Monitoring:
         alarm:
           count      ^di_p_PIR_Monitoring$:^count:
   attr:
     cmdState:
   condition:
     0           if (::EventDoIf('^di_p_PIR_Monitoring$',$hash,'^Ein$',0)) {
         set_State("on");
    set_Reading("count","0","1");
  }

     1           if (::EventDoIf('^di_p_PIR_Monitoring$',$hash,'^Aus$',0)) {
         set_State("off");
    set_Reading("count","0","1");
  }

     2           if (!(::ReadingValDoIf($hash,'di_p_PIR_Monitoring','state') eq "off")                  and (::ReadingValDoIf($hash,'AAA','level6') eq "armed")                  and (::EventDoIf('^PIR',$hash,'^digitalInput:.0$',0))             ) {
     
         my $count = get_Reading("count") + 1;
set_Reading("count",$count,"1");
  }

     3          ::DOIF_time_once($hash,0,$wday);                                       if (!(::ReadingValDoIf($hash,'di_p_PIR_Monitoring','state') eq "off")                  and (::ReadingValDoIf($hash,'AAA','level6') eq "armed")                  ) {
      my $count = get_Reading("count");
if ($count gt 0) {
      $count = $count - 1;
      set_Reading("count",$count,"1");
     }
  }

   days:
   event_Readings:
     alarm      ((::ReadingValDoIf($hash,'di_p_PIR_Monitoring','count') >= 3)?1:0)
   helper:
     DEVFILTER  ^global$|^di_p_PIR_Monitoring$|^PIR|^AAA$
     NOTIFYDEV  global|di_p_PIR_Monitoring|PIR.*|AAA
     event      timer_1
     globalinit 1
     last_timer 1
     sleeptimer -1
     triggerDev
     triggerEvents:
       timer_1
     triggerEventsState:
       timer_1
   internals:
   interval:
   intervalfunc:
   localtime:
     0          1579723145
   perlblock:
     0         
     1         
     2         
     3         
   readings:
     all         di_p_PIR_Monitoring:state AAA:level6
   realtime:
     0          20:59:05
   time:
     0          +00:03
   timeCond:
     0          3
   timer:
     0          0
   timers:
     3           0
   trigger:
   triggertime:
     1579723145:
       localtime  1579723145
       hash:
   uiState:
   uiTable:
Attributes:
   alarmDevice Sensor
   alarmSettings alarm6,|di_p_PIR_Monitoring:alarm:.1|Sammelsensor PIRs|on
   alias      Sensor Auslösung Bewegungsmelder
   devStateIcon on:ios-on-blue:Aus : off:ios-off:Ein H.*:control_arrow_up R.*:control_arrow_down .*:noIcon
   event-on-change-reading .*
   event_Readings alarm:(([di_p_PIR_Monitoring:count] >= 3)?1:0),
   group      Sensor
   icon       helper_doif
   room       Erdgeschoss->Flur,Erdgeschoss->Windfang,Erdgeschoss->Wohnzimmer,Infrastruktur->Alarmanlage
   senddebugmessages 1
   userattr   senddebugmessages
   webCmd     Ein:Aus


Auf das event_Reading 'alarm' soll dabei getriggert werden, das Event kommt auch:
2020-01-22 20:52:46 DOIF di_p_PIR_Monitoring count: 3
2020-01-22 20:52:46 DOIF di_p_PIR_Monitoring alarm: 1
2020-01-22 20:52:58 DOIF di_p_PIR_Monitoring count: 4


Und die RegEx 'di_p_PIR_Monitoring:alarm:.1' sieht für mich auch OK aus...

Hier noch der relevante Teil aus dem Log (AAA war zum Zeitpunkt auf verbose 5):
2020.01.22 21:05:17 3: get TYPE=msgDialog:FILTER=NAME!=meta_Dialog:FILTER=allowed=.*(rr_Peter|everyone).* trigger : IS Alarmanlage
Außenanlagen
OG Christine
OG Cornelia
KG HAR
IS Jalousien
IS FHEM
EG Wohnzimmer
2020.01.22 21:05:18 3: msg rr_Peter: ID=1579723517.99673.1 TYPE=push ROUTE=TeleBot RECIPIENT=@168363762 STATUS=OK PRIORITY=0 TITLE='' MSG='(Außenanlagen) (EG Wohnzimmer) (IS Alarmanlage) (IS FHEM) (IS Jalousien) (KG HAR) (OG Christine) (OG Cornelia)
(abbrechen)
(beenden)
Ich kann folgendes für dich tun:'
2020.01.22 21:05:22 3: msg rr_Peter: ID=1579723522.16268.1 TYPE=push ROUTE=TeleBot RECIPIENT=@168363762 STATUS=OK PRIORITY=0 TITLE='' MSG='(Alarmanlage Ein)

(Globaler Abbruch)
(Rauchmelder Alarm Aus)
(Send Status Alarmanlage (L6))
(Send Status Alarmanlage (ALL))
(Send Status Fenster)
(Send Status Türen)
(abbrechen)
Menü IS Alarmanlage'
2020.01.22 21:06:01 3: myUtils: Alarm_Wait_Action()
2020.01.22 21:06:01 3: CUL_HM set Gong.EG.Flur_MP3 playTone 011 1 10
2020.01.22 21:06:01 3: CUL_HM set Gong.EG.Flur_LED led orangeL 10
2020.01.22 21:06:01 3: msg rr_Peter: ID=1579723561.17343.1 TYPE=push ROUTE=TeleBot RECIPIENT=@168363762 STATUS=OK PRIORITY=0 TITLE='' MSG='Die Alarmanlage wird in Kürze scharf geschaltet.'
2020.01.22 21:06:01 3: msg rr_Yvonne: ID=1579723561.17343.2 TYPE=push ROUTE=TeleBot RECIPIENT=@310283471 STATUS=OK PRIORITY=0 TITLE='' MSG='Die Alarmanlage wird in Kürze scharf geschaltet.'
2020.01.22 21:06:01 3: msg rr_Christine: ID=1579723561.17343.3 TYPE=push ROUTE=TeleBot RECIPIENT=@505691751 STATUS=OK PRIORITY=0 TITLE='' MSG='Die Alarmanlage wird in Kürze scharf geschaltet.'
2020.01.22 21:06:01 3: msg rr_Cornelia: ID=1579723561.17343.4 TYPE=push ROUTE=TeleBot RECIPIENT=@558795122 STATUS=OK PRIORITY=0 TITLE='' MSG='Die Alarmanlage wird in Kürze scharf geschaltet.'
2020.01.22 21:06:01 3: myUtils: msgType: mt_Alarmanlage, Message : Die Alarmanlage wird in Kürze scharf geschaltet.
2020.01.22 21:06:01 1: [Alarm 6] will be armed from alarmSensor web with event button, delay 0:30
2020.01.22 21:06:01 3: msg rr_Peter: ID=1579723561.24078.1 TYPE=push ROUTE=TeleBot RECIPIENT=@168363762 STATUS=OK PRIORITY=0 TITLE='' MSG='(Q)
Alarmanlage eingeschalten.'
2020.01.22 21:06:31 3: myUtils: Alarm_Arm_Action()
2020.01.22 21:06:31 3: CUL_HM set Gong.EG.Flur_MP3 playTone 013 1 10
2020.01.22 21:06:31 3: CUL_HM set Gong.EG.Flur_LED led greenL 10
2020.01.22 21:06:31 3: msg rr_Peter: ID=1579723591.11937.1 TYPE=push ROUTE=TeleBot RECIPIENT=@168363762 STATUS=OK PRIORITY=0 TITLE='' MSG='Die Alarmanlage ist scharf geschaltet.'
2020.01.22 21:06:31 3: msg rr_Yvonne: ID=1579723591.11937.2 TYPE=push ROUTE=TeleBot RECIPIENT=@310283471 STATUS=OK PRIORITY=0 TITLE='' MSG='Die Alarmanlage ist scharf geschaltet.'
2020.01.22 21:06:31 3: msg rr_Christine: ID=1579723591.11937.3 TYPE=push ROUTE=TeleBot RECIPIENT=@505691751 STATUS=OK PRIORITY=0 TITLE='' MSG='Die Alarmanlage ist scharf geschaltet.'
2020.01.22 21:06:31 3: msg rr_Cornelia: ID=1579723591.11937.4 TYPE=push ROUTE=TeleBot RECIPIENT=@558795122 STATUS=OK PRIORITY=0 TITLE='' MSG='Die Alarmanlage ist scharf geschaltet.'
2020.01.22 21:06:31 3: myUtils: msgType: mt_Alarmanlage, Message : Die Alarmanlage ist scharf geschaltet.
2020.01.22 21:06:31 3: [Alarm 6] armed from alarmSensor web with event delay
2020.01.22 21:06:31 3: alarm6.arm.dly: [Alarm 6] armed from alarmSensor web with event delay
2020.01.22 21:06:37 3: get TYPE=msgDialog:FILTER=NAME!=meta_Dialog:FILTER=allowed=.*(rr_Peter|everyone).* trigger : IS Alarmanlage
Außenanlagen
OG Christine
OG Cornelia
KG HAR
IS Jalousien
IS FHEM
EG Wohnzimmer
2020.01.22 21:06:37 3: msg rr_Peter: ID=1579723597.23551.1 TYPE=push ROUTE=TeleBot RECIPIENT=@168363762 STATUS=OK PRIORITY=0 TITLE='' MSG='(Außenanlagen) (EG Wohnzimmer) (IS Alarmanlage) (IS FHEM) (IS Jalousien) (KG HAR) (OG Christine) (OG Cornelia)
(abbrechen)
(beenden)
Ich kann folgendes für dich tun:'
2020.01.22 21:06:40 3: msg rr_Peter: ID=1579723600.35775.1 TYPE=push ROUTE=TeleBot RECIPIENT=@168363762 STATUS=OK PRIORITY=0 TITLE='' MSG='(Alarmanlage Aus)
(Globaler Abbruch)
(Rauchmelder Alarm Aus)
(Send Status Alarmanlage (L6))
(Send Status Alarmanlage (ALL))
(Send Status Fenster)
(Send Status Türen)
(abbrechen)
Menü IS Alarmanlage'
2020.01.22 21:06:48 3: Setze PIR 'PIR_EG_Flur' Reading 'count' auf 6529
2020.01.22 21:06:52 3: Setze PIR 'PIR_EG_Windfang' Reading 'count' auf 3482
2020.01.22 21:06:52 3: Setze PIR 'PIR_EG_WZ' Reading 'count' auf 18427
2020.01.22 21:06:58 3: Setze PIR 'PIR_EG_WZ' Reading 'count' auf 18428
2020.01.22 21:07:00 3: Setze PIR 'PIR_EG_Flur' Reading 'count' auf 6530
2020.01.22 21:07:27 3: Setze PIR 'PIR_EG_Flur' Reading 'count' auf 6531
2020.01.22 21:07:27 3: Setze PIR 'PIR_EG_WZ' Reading 'count' auf 18429
2020.01.22 21:07:33 3: msg rr_Peter: ID=1579723653.09757.1 TYPE=push ROUTE=TeleBot RECIPIENT=@168363762 STATUS=OK PRIORITY=0 TITLE='' MSG='Schwellwert PIR Auslösungen für Alarm erreicht'
2020.01.22 21:07:33 3: Setze PIR 'PIR_EG_Flur' Reading 'count' auf 6532
2020.01.22 21:07:40 3: Setze PIR 'PIR_EG_WZ' Reading 'count' auf 18430
2020.01.22 21:07:46 3: msg rr_Peter: ID=1579723666.95057.1 TYPE=push ROUTE=TeleBot RECIPIENT=@168363762 STATUS=OK PRIORITY=0 TITLE='' MSG='(Q)
Alarmanlage ausgeschalten.'
2020.01.22 21:07:49 3: myUtils: Alarm_DisArm_Action()
2020.01.22 21:07:49 3: msg rr_Peter: ID=1579723669.78143.1 TYPE=push ROUTE=TeleBot RECIPIENT=@168363762 STATUS=OK PRIORITY=0 TITLE='' MSG='Die Alarmanlage ist unscharf geschaltet.'
2020.01.22 21:07:49 3: msg rr_Yvonne: ID=1579723669.78143.2 TYPE=push ROUTE=TeleBot RECIPIENT=@310283471 STATUS=OK PRIORITY=0 TITLE='' MSG='Die Alarmanlage ist unscharf geschaltet.'
2020.01.22 21:07:49 3: msg rr_Christine: ID=1579723669.78143.3 TYPE=push ROUTE=TeleBot RECIPIENT=@505691751 STATUS=OK PRIORITY=0 TITLE='' MSG='Die Alarmanlage ist unscharf geschaltet.'
2020.01.22 21:07:49 3: msg rr_Cornelia: ID=1579723669.78143.4 TYPE=push ROUTE=TeleBot RECIPIENT=@558795122 STATUS=OK PRIORITY=0 TITLE='' MSG='Die Alarmanlage ist unscharf geschaltet.'
2020.01.22 21:07:49 3: myUtils: msgType: mt_Alarmanlage, Message : Die Alarmanlage ist unscharf geschaltet.
2020.01.22 21:07:49 3: Setze PIR 'PIR_EG_Flur' Reading 'count' auf 6533


Geschärft/entschärft habe ich mit Telegram; der Hinweis 'Schwellwert PIR Auslösungen für Alarm erreicht' im Log zeigt den Zeitpunkt, an dem das Event getriggert wurde. Abgefangen habe ich es mit folgendem Konstrukt:
Internals:
   CFGFN     
   DEF        ([di_p_PIR_Monitoring:"^alarm:.1$"]) (msg push @rr_Peter Schwellwert PIR Auslösungen für Alarm erreicht)
   FUUID      5e28ad96-f33f-d09e-dc63-9e58f56980587650
   MODEL      FHEM
   NAME       di_PIR_Benachrichtigung
   NOTIFYDEV  global,di_p_PIR_Monitoring
   NR         861661
   NTFY_ORDER 50-di_PIR_Benachrichtigung
   STATE      initialized
   TYPE       DOIF
   VERSION    20500 2019-11-12 17:54:48
   READINGS:
     2020-01-22 21:16:23   cmd             0
     2020-01-22 21:16:23   mode            enabled
     2020-01-22 21:16:23   state           initialized
   Regex:
     accu:
     cond:
       di_p_PIR_Monitoring:
         0:
           &STATE     ^di_p_PIR_Monitoring$
   condition:
     0          ::EventDoIf('di_p_PIR_Monitoring',$hash,'^alarm:.1$',1)
   do:
     0:
       0          msg push @rr_Peter Schwellwert PIR Auslösungen für Alarm erreicht
     1:
   helper:
     DEVFILTER  ^global$|^di_p_PIR_Monitoring$
     NOTIFYDEV  global|di_p_PIR_Monitoring
     globalinit 1
     last_timer 0
     sleeptimer -1
   trigger:
     all         di_p_PIR_Monitoring
   uiState:
   uiTable:
Attributes:
   alias      Benachrichtigung Auslösung Alarmanlage durch PIR
   devStateIcon on:ios-on-blue:Aus : off:ios-off:Ein H.*:control_arrow_up R.*:control_arrow_down .*:noIcon
   disable    0
   group      Benachrichtigung
   icon       helper_doif
   room       Infrastruktur->Alarmanlage


Ich mache bestimmt wieder einen <dämlichen> Fehler; wobei - wenn ich die PIRs direkt als Device abfrage mittels 'PIR_EG_Flur:digitalInput:.0' - also die gleiche Syntax - wird Level 6 getriggert;hm?!?

Danke für's Erhellen,
Peter
FHEM auf RPi 5 unter Bookworm mit inzwischen einem ganzen Zoo von Geräten...

PSI69

Zitat von: PSI69 am 22 Januar 2020, 21:23:49
Ich mache bestimmt wieder einen <dämlichen> Fehler; wobei - wenn ich die PIRs direkt als Device abfrage mittels 'PIR_EG_Flur:digitalInput:.0' - also die gleiche Syntax - wird Level 6 getriggert;hm?!?

Kein Fehler - ich habe das DOIF umgebaut und nutze nun ein 'normales' Reading im DOIF mit selbem Namen/Inhalt anstatt des DOIF event_Readings. Damit klappt alles - warum nicht mit dem event_Reading - keine Ahnung! Laut Eventmonitor kam das Event ja...

Tschau Peter
FHEM auf RPi 5 unter Bookworm mit inzwischen einem ganzen Zoo von Geräten...