[gelöst] watchdog: wiederkehrender Trigger möglich?

Begonnen von Gisbert, 19 Januar 2025, 09:09:15

Vorheriges Thema - Nächstes Thema

Gisbert

Hallo,

ich hab mehrere watchdog-Devices, die die Öffnung von Fenstern und Türen überwachen.

Wenn bspw. die Haustür 5 Minuten offen ist, dann wird eine Nachricht aufs Handy geschickt. Mittlerweile verlasse ich mich total darauf und es funktioniert auch sehr zuverlässig - bis auf die Tatsache, dass ich gelegentlich nicht auf die Erinnerung reagiere.

Ich benötige dann eine 2. Erinnerung. Geht eine wiederkehrende Erinnerung mit einem watchdog und wie sieht sie aus.

Meine Definition:
defmod Tuerkontakt_Haustuer_watchdog watchdog Tuerkontakt_Haustuer:open 00:05:00 Tuerkontakt_Haustuer:closed \
set Pushover.Nachricht msg 'Türkontakt Haustür' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';; \
set PushNotifier.Nachricht message Türkontakt Haustür_offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];; \
set NTFY message Title="Türkontakt Haustür"offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];;
attr Tuerkontakt_Haustuer_watchdog activateOnStart 1
attr Tuerkontakt_Haustuer_watchdog autoRestart 1
attr Tuerkontakt_Haustuer_watchdog room IT
attr Tuerkontakt_Haustuer_watchdog verbose 1

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

frober

#1
Du kannst deine "sets" einfach mit einem
defmod Erinnerung at +00:10 set... am Schluss nochmal anhängen.

Das at ist nur temporär bis zur Ausführung vorhanden.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Gisbert

Hallo frober,

ich hab's so wie beschrieben durchgeführt, aber das at wird nicht ausgeführt. Der STATE steht auf defined.

Nach Schließen der Haustür (ist doch ziemlich kalt und nebelig hier), sieht das Device wie folgt aus:
define Tuerkontakt_Haustuer_watchdog watchdog Tuerkontakt_Haustuer:open 00:00:30 Tuerkontakt_Haustuer:closed \
set Pushover.Nachricht msg 'Türkontakt Haustür' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';; \
set PushNotifier.Nachricht message Türkontakt Haustür_offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];; \
set NTFY message Title="Türkontakt Haustür"offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];; \
at +00:01 \
set Pushover.Nachricht msg 'Türkontakt Haustür II' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';;
attr Tuerkontakt_Haustuer_watchdog activateOnStart 1
attr Tuerkontakt_Haustuer_watchdog autoRestart 1
attr Tuerkontakt_Haustuer_watchdog room IT
attr Tuerkontakt_Haustuer_watchdog verbose 1
#   CFGFN      ./FHEM/Fensterkontakte.cfg
#   CMD       
#set Pushover.Nachricht msg 'Türkontakt Haustür' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';
#set PushNotifier.Nachricht message Türkontakt Haustür_offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#set NTFY message Title="Türkontakt Haustür"offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#at +00:01
#set Pushover.Nachricht msg 'Türkontakt Haustür II' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';
#   DEF        Tuerkontakt_Haustuer:open 00:00:30 Tuerkontakt_Haustuer:closed
#set Pushover.Nachricht msg 'Türkontakt Haustür' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';
#set PushNotifier.Nachricht message Türkontakt Haustür_offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#set NTFY message Title="Türkontakt Haustür"offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#at +00:01
#set Pushover.Nachricht msg 'Türkontakt Haustür II' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';
#   FUUID      66c772dd-f33f-e986-8b06-0736c95fb4061370
#   NAME       Tuerkontakt_Haustuer_watchdog
#   NOTIFYDEV  Tuerkontakt_Haustuer_watchdog,Tuerkontakt_Haustuer
#   NR         1538
#   NTFY_ORDER 50-Tuerkontakt_Haustuer_watchdog
#   RE1        Tuerkontakt_Haustuer:open
#   RE2        Tuerkontakt_Haustuer:closed
#   STATE      defined
#   TO         30
#   TYPE       watchdog
#   READINGS:
#     2025-01-19 15:44:47   Activated       activated
#     2025-01-19 15:45:17   Reset           reset
#     2025-01-19 15:45:17   Triggered       triggered
#     2025-01-19 15:44:47   triggeredByDev  Tuerkontakt_Haustuer
#     2025-01-19 15:44:47   triggeredByEvent open
#   helper:
#     bm:
#       watchdog_Define:
#         cnt        3
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        19.01. 15:33:03
#         max        0.000478982925415039
#         tot        0.00105786323547363
#         mAr:
#           HASH(0x55f1803df2b8)
#           Tuerkontakt_Haustuer_watchdog watchdog Tuerkontakt_Haustuer:open 00:00:30 Tuerkontakt_Haustuer:closed
#set Pushover.Nachricht msg 'Türkontakt Haustür' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';
#set PushNotifier.Nachricht message Türkontakt Haustür_offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#set NTFY message Title="Türkontakt Haustür"offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#at +00:00:30
#set Pushover.Nachricht msg 'Türkontakt Haustür II' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';
#       watchdog_Notify:
#         cnt        49
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        19.01. 14:40:35
#         max        0.00224614143371582
#         tot        0.019085168838501
#         mAr:
#           HASH(0x55f1803df2b8)
#           HASH(0x55f18036b400)
#       watchdog_Set:
#         cnt        62
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        19.01. 15:44:51
#         max        0.000133991241455078
#         tot        0.00158381462097168
#         mAr:
#           HASH(0x55f1803df2b8)
#           Tuerkontakt_Haustuer_watchdog
#           ?
#
setstate Tuerkontakt_Haustuer_watchdog defined
setstate Tuerkontakt_Haustuer_watchdog 2025-01-19 15:44:47 Activated activated
setstate Tuerkontakt_Haustuer_watchdog 2025-01-19 15:45:17 Reset reset
setstate Tuerkontakt_Haustuer_watchdog 2025-01-19 15:45:17 Triggered triggered
setstate Tuerkontakt_Haustuer_watchdog 2025-01-19 15:44:47 triggeredByDev Tuerkontakt_Haustuer
setstate Tuerkontakt_Haustuer_watchdog 2025-01-19 15:44:47 triggeredByEvent open


Bist du sicher, dass die Konstruktion, wie von dir beschrieben, so funktioniert?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

frober

#3
So habe ich das nicht geschrieben
at +00:01
defmod Erinnerung at +00:10 set Pushover.Nachricht msg 'Türkontakt Haustür II' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]'und ohne Zeilenumbruch

Du musst ein "normales" at-Device definieren, nur mit defmod.

Das at wird temporär als Device unter unbekannt angelegt.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Gisbert

Hallo frober,

dein Vorschlag funktioniert mit folgender Einschränkung:
Man muss für jede Nachricht ein separates defmod hernehmen, da ansonsten die nachfolgenden Nachrichten der "zweiten Welle" dirket mit der "ersten Welle" rausgeschickt werden, und nur die erste Nachricht der "zweiten Welle" fristgerecht ausgeliefert wird (hoffentlich verständlich genug formuliert).

Also so:
define Tuerkontakt_Haustuer_watchdog watchdog Tuerkontakt_Haustuer:open 00:05:00 Tuerkontakt_Haustuer:closed \
set Pushover.Nachricht msg 'Türkontakt Haustür' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';; \
set PushNotifier.Nachricht message Türkontakt Haustür_offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];; \
set NTFY message Title="Türkontakt Haustür"offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];; \
defmod kill1 at +00:05:00 set Pushover.Nachricht msg 'Türkontakt Haustür II' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';; \
defmod kill2 at +00:05:00 set PushNotifier.Nachricht message Türkontakt Haustür II_offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];; \
defmod kill3 at +00:05:00 set NTFY message Title="Türkontakt Haustür II"offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];;
attr Tuerkontakt_Haustuer_watchdog activateOnStart 1
attr Tuerkontakt_Haustuer_watchdog autoRestart 1
attr Tuerkontakt_Haustuer_watchdog room IT
attr Tuerkontakt_Haustuer_watchdog verbose 1
#   CFGFN      ./FHEM/Fensterkontakte.cfg
#   CMD       
#set Pushover.Nachricht msg 'Türkontakt Haustür' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';
#set PushNotifier.Nachricht message Türkontakt Haustür_offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#set NTFY message Title="Türkontakt Haustür"offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#defmod kill1 at +00:05:00 set Pushover.Nachricht msg 'Türkontakt Haustür II' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';
#defmod kill2 at +00:05:00 set PushNotifier.Nachricht message Türkontakt Haustür II_offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#defmod kill3 at +00:05:00 set NTFY message Title="Türkontakt Haustür II"offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#   DEF        Tuerkontakt_Haustuer:open 00:05:00 Tuerkontakt_Haustuer:closed
#set Pushover.Nachricht msg 'Türkontakt Haustür' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';
#set PushNotifier.Nachricht message Türkontakt Haustür_offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#set NTFY message Title="Türkontakt Haustür"offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#defmod kill1 at +00:05:00 set Pushover.Nachricht msg 'Türkontakt Haustür II' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';
#defmod kill2 at +00:05:00 set PushNotifier.Nachricht message Türkontakt Haustür II_offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#defmod kill3 at +00:05:00 set NTFY message Title="Türkontakt Haustür II"offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#   FUUID      66c772dd-f33f-e986-8b06-0736c95fb4061370
#   NAME       Tuerkontakt_Haustuer_watchdog
#   NOTIFYDEV  Tuerkontakt_Haustuer_watchdog,Tuerkontakt_Haustuer
#   NR         1538
#   NTFY_ORDER 50-Tuerkontakt_Haustuer_watchdog
#   RE1        Tuerkontakt_Haustuer:open
#   RE2        Tuerkontakt_Haustuer:closed
#   STATE      defined
#   TO         300
#   TYPE       watchdog
#   READINGS:
#     2025-01-19 16:32:06   Activated       activated
#     2025-01-19 16:33:06   Reset           reset
#     2025-01-19 16:33:06   Triggered       triggered
#     2025-01-19 16:32:06   triggeredByDev  Tuerkontakt_Haustuer
#     2025-01-19 16:32:06   triggeredByEvent open
#   helper:
#     bm:
#       watchdog_Define:
#         cnt        9
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        19.01. 15:33:03
#         max        0.000478982925415039
#         tot        0.00303912162780762
#         mAr:
#           HASH(0x55f1803df2b8)
#           Tuerkontakt_Haustuer_watchdog watchdog Tuerkontakt_Haustuer:open 00:00:30 Tuerkontakt_Haustuer:closed
#set Pushover.Nachricht msg 'Türkontakt Haustür' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';
#set PushNotifier.Nachricht message Türkontakt Haustür_offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#set NTFY message Title="Türkontakt Haustür"offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp];
#at +00:00:30
#set Pushover.Nachricht msg 'Türkontakt Haustür II' 'offen seit: [Tuerkontakt_Haustuer:Tuerkontakt_Haustuer_open_timestamp]';
#       watchdog_Notify:
#         cnt        76
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        19.01. 14:40:35
#         max        0.00224614143371582
#         tot        0.0249722003936768
#         mAr:
#           HASH(0x55f1803df2b8)
#           HASH(0x55f18036b400)
#       watchdog_Set:
#         cnt        100
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        19.01. 15:44:51
#         max        0.000133991241455078
#         tot        0.00285816192626953
#         mAr:
#           HASH(0x55f1803df2b8)
#           Tuerkontakt_Haustuer_watchdog
#           ?
#
setstate Tuerkontakt_Haustuer_watchdog defined
setstate Tuerkontakt_Haustuer_watchdog 2025-01-19 16:32:06 Activated activated
setstate Tuerkontakt_Haustuer_watchdog 2025-01-19 16:33:06 Reset reset
setstate Tuerkontakt_Haustuer_watchdog 2025-01-19 16:33:06 Triggered triggered
setstate Tuerkontakt_Haustuer_watchdog 2025-01-19 16:32:06 triggeredByDev Tuerkontakt_Haustuer
setstate Tuerkontakt_Haustuer_watchdog 2025-01-19 16:32:06 triggeredByEvent open

Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

frober

Möglich das es sich bei einem at mit mehreren Kommandos anders verhält.Diese Konstellation habe ich noch nicht getestet.

Du kannst aber auch ein sleep anstelle vom at benutzen. Das sleep mit nachfolgendem Kommando blockiert nicht in FHEM und alles was danach kommt wird entsprechend verzögert.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...