PIRA-Bewegungsmelder, DOIF funktioniert nicht zuverlässig

Begonnen von urseigner, 20 März 2023, 09:59:14

Vorheriges Thema - Nächstes Thema

urseigner

Hallo,
am Zugang zum Grundstück hängt ein PIRA Bewegungsmelder. Dieser meldet laut Ereignismonitor zuverlässig, wenn jemand vorbeigeht (die Sendepause habe ich am PIRA auf 60 Sekunden gestellt). Folgendes DOIF wird aber anscheinend trotz "do always" Attribut nicht immer ausgeführt:
([FS20_Bewegungsmelder:"^on-old-for-timer.60$"]) (set PushNachricht message Jemand geht zum Eingang.)
Zur Vervollständigung:
Wenn jemand das Haus verlässt, soll oben genanntes DOIF nicht ausgelöst werden. Daher wird es vorübergenhend auf disabled gesetzt:
([SensorEingang:"^closed$"]) (set FS20_Bewegungsmelder_Nachricht_senden disable, set FS20_Bewegungsmelder_Lampe_schalten disable)
Folgendes DOIF wird nach 60 Sekunden ausgeführt:
([SensorEingang:"^closed$"]) (set FS20_Bewegungsmelder_Nachricht_senden enable, set FS20_Bewegungsmelder_Lampe_schalten enable)
Der Status des ersten DOIFs steht am Ende (nach den 60 Sekunden) wieder auf cmd_1, also dem letzten Zustand. Leider kommt die Meldung (nach vorbeigehen am PIRA)  nicht Zuverlässig auf's Smartphone.

Hat jemand eine Idee, woran das liegen könnte?

VG
Urs

urseigner

#1
Mit einem notify scheint es zuverlässig zu funktionieren. Ich hatte das bisher so verstanden, dass ein DOIF besser ist, da es zus. noch Bedingungen wie folgt bietet:

(([FS20_Bewegungsmelder:"^on-old-for-timer.60$"]) and [LichtWetter:light]<3) (set LampeShellyHauseingang on-for-timer 300)
Wie übertrage ich das denn in ein notify?

VG
Urs

Prof. Dr. Peter Henning

Es ist generell keine gute Idee, so etwas über disable/enable zu lösen. Das sollte in die Auslösebedingungen des DOIF-Falls.

LG

pah

urseigner

#3
So funktioniert es nun bei mir im NOTIFY auch mit Abfrage nach der Helligkeit:

FS20_Bewegungsmelder:on-old-for-timer.60
{
  if (ReadingsVal("LichtWetter","light",0) < 3) {
    fhem "set LampeShellyHauseingang on-for-timer 300";;
  }
}

VG
Urs

urseigner

Zitat von: Prof. Dr. Peter Henning am 20 März 2023, 17:46:33Es ist generell keine gute Idee, so etwas über disable/enable zu lösen. Das sollte in die Auslösebedingungen des DOIF-Falls.

Danke für den Hinweis. Vermutlich macht man das dann über ein Dummy, das vom DOIF für den Bewegungsmelder abgefragt wird, korrekt?

VG
Urs

Prof. Dr. Peter Henning


Stelaku

Zu Deinem oberen Versuch mit dem DOIF.
Da fehlt aus den Bauch heraus das attr do always.
Denn beim disable und enable geht das DOIF in den letzten Zustand.
Und ohne do always wird cmd_1 nicht nochmal ausgeführt.

urseigner

Zitat von: Stelaku am 20 März 2023, 20:29:07Zu Deinem oberen Versuch mit dem DOIF.
Da fehlt aus den Bauch heraus das attr do always.
Denn beim disable und enable geht das DOIF in den letzten Zustand.
Und ohne do always wird cmd_1 nicht nochmal ausgeführt.

Das Attribut do always ist bereits gesetzt.

VG
Urs