[gelöst]Notify getriggert von 2 Bewegungsmeldern - nur bei einem funktioniert es

Begonnen von Spook112, 06 Januar 2018, 15:07:57

Vorheriges Thema - Nächstes Thema

Spook112

Hi,
ich möchte den "alarm" eines Bewegungsmelders (bzw. jetzt 2 BM) mitels eines notify dafür verwenden, um eine Lampe zu schalten.
Warum nicht direkt über association? Weil ich noch eine Helligkeitsabfrage berücksichtigt haben möchte und einen Abfrage ob das Licht evt. schon brennt.

Mit nur einem BM hat dieses notify funktioniert:
Bewegungsmelder_03:alarm:.*Location
{
# Variablen initialisieren
my $devicename="Bewegungsmelder_03";
my $reading='luminance';
my @device_info="";
my $LumiSchwellwert="97.50 %";
my $LampenName="FOG_Deckenstrahler";
my $at_Lampe_aus="OG_FlurLicht_aus";
my $re_luminance=ReadingsVal("$devicename","$reading","----");
#
# Vergleichen der Helligkeit mit Schwellwert und Schalten einer Lampe über FHEM
{if (($re_luminance < $LumiSchwellwert) and (Value("$LampenName") eq "off")) { fhem ("set $LampenName on ; define $at_Lampe_aus at +00:02:05 set $LampenName off");} else { fhem ("delete $at_Lampe_aus ; define $at_Lampe_aus at +00:02:05 set $LampenName off") };}
#
}

Nun möchte ich einen weiteren Bewegungsmelder berücksichtigen - ansonsten soll alles gleich bleiben.
(Das der hintere Teil nach dem else noch nicht so richtig viel Sinn ergibt, da es auch im Fall ausgeführt wird wenn das Licht gar nicht angeschaltet werden soll ist mir auch schon aufgefallen - da muss ich noch mal ran. Vorschläge willkommen, wie man das gestaltet, damit das at neu erzeugt wird wenn es dunkel genug ist und die Lampe an ist)

Aber zurück zum eigentlichen Problem.
Auf Basis des Vorschlags aus der Tricks-Ecke des Forums https://wiki.fhem.de/wiki/Trick_der_Woche#notify_durch_mehrere_Ereignisse_ausl.C3.B6sen_lassen
habe ich mein Notify folgendermaßen angepasst:
Bewegungsmelder_03:alarm:.*Location|Bewegungsmelder_04:motion:on
{
# Variablen initialisieren
my $devicename="Bewegungsmelder_03";
my $reading='luminance';
my @device_info="";
my $LumiSchwellwert="97.50 %";
my $LampenName="FOG_Deckenstrahler";
my $at_Lampe_aus="OG_FlurLicht_aus";
my $re_luminance=ReadingsVal("$devicename","$reading","----");
#
# Vergleichen der Helligkeit mit Schwellwert und Schalten einer Lampe über FHEM
{if (($re_luminance < $LumiSchwellwert) and (Value("$LampenName") eq "off")) { fhem ("set $LampenName on ; define $at_Lampe_aus at +00:02:05 set $LampenName off");} else { fhem ("delete $at_Lampe_aus ; define $at_Lampe_aus at +00:02:05 set $LampenName off") };}
#
}

Für Bewegungsmelder_03 funktioniert es auch weiterhin aber für Bewegungsmelder_04 leider nicht.

Hat jemand einen Idee warum es für BM_04 nicht geht und was ich ändern müsste, damit es geht.
(Das auch beim Triggern des notify durch BM_04 der Helligkeitswert von BM_03 verwendet wird stört mich nicht.)

Danke im Voraus
Michael

P.S.: Im Event Monitor sehe ich, dass der BM_04 auslöst/reagiert, also funktioniert er wohl.
Raspberry PI / RaZberry ZWAVE Modul / RFXTRX433E / 13 Fibaro FGS-222-EN-A-v1.00 / 17 VISION ZD2102-5 / 10 Somfy RTS / 4 Greenwave GWRENS310-F / Gardena Sileno City / 3 Gardena Gartensteckdosen / 2 devolo Home Control Funkschalter / 8 FIBARO System FGSD002 Smoke Sensoren

Jamo

Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

Spook112

Hm, danke,aber nicht so ganz.
Zum Einen spricht das Notify nun auch auf alle anderen Bewegungsmelder an die im Namen "Bewegungsmelder_0" drin haben.
Bei mir sind das noch 3 weitere an ganz anderer Stelle :-(

Zum Anderen regiert das Notify auch auf die "off"-Meldung, wenn die Bewegungsmelder zurückmelden, dass sie jetzt wieder auf Bewegungen reagieren - nach der "Wartezeit".

Aber - Dein Tip plus weiteres Lesen im Forum plus das Nutzen der create/mofify Funktion im Eventmonitor haben mich darauf aufmerksam gemacht, dass es vor dem "on" in der folgenden (meiner ursprünglichen) Zeile
Bewegungsmelder_03:alarm:.*Location|Bewegungsmelder_04:motion:on
noch einen kleinen "." braucht.
So funktioniert es nun:
Bewegungsmelder_03:alarm:.*Location|Bewegungsmelder_04:motion:.on

Ich verstehe zwar noch nicht warum es den "." braucht, denn "on" entspricht ja genau dem Status/der Meldung  - aber gut, Hauptsache es funktioniert :-)

Danke also trotzdem für den Tip.
Gruß
Michael
Raspberry PI / RaZberry ZWAVE Modul / RFXTRX433E / 13 Fibaro FGS-222-EN-A-v1.00 / 17 VISION ZD2102-5 / 10 Somfy RTS / 4 Greenwave GWRENS310-F / Gardena Sileno City / 3 Gardena Gartensteckdosen / 2 devolo Home Control Funkschalter / 8 FIBARO System FGSD002 Smoke Sensoren