Watchdog: Inhalte von $DEV und $NAME beim "Selbst-Triggern"

Begonnen von Fakenius, 05 August 2022, 12:01:36

Vorheriges Thema - Nächstes Thema

Fakenius

$NAME und $DEV enthalten, wie dokumentiert, den Namen des das Ereignis auslösenden Gerätes. Triggert sich aber der Watchdog durch Codieren von z.B. trigger $SELF . selbst, ist er entsprechend selbst das auslösende Gerät, was folgerichtig sich in den genannten Variablen abbildet.
Aber: ist das wünschenswert? Weil dafür wäre ja eigentlich $SELF da!? Ich hätte (bzw. hatte) erwartet, dass $NAME und $DEV weiterhin das ursprünglich triggernde Objekt "beinhalten".
FS20, Homematic (RaspberryMatic), Zigbee (deCONZ), LaCrosse, selbstgebaute Sensoren und Aktoren via MQTT
 (CUL, HB-RF-USB-2, Jeelink, SIGNALDuino)

Beta-User

Vermutlich bist du mit dieser Frage in diesem Forumsbereich falsch, besser wäre mAn. der für watchdog in MAINTAINER.txt angegebene (Automatisierung).

Sachlich finde ich es nicht zwingend, dass man beides unterscheiden müßte, und evtl. hilft es auch, einfach autoRestart auf 1 zu setzen (statt des vermeintlich obligatorischen) trigger-Kommandos.

Falls zu in Automatisierung einen Thread dazu aufmachst (neu, da Rudi das sonst ggf. nicht sieht)
- bitte hier schließen (gerne nach Setzen eines Links)
- und gleich darauf hinweisen, dass die Doku einen Typo enthält und ggf. auch inhaltlich nicht mehr ganz stimmt.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

frober

$NAME und $DEV beinhalten regex1, was den Watchdog auslöst.
Dieser wir aber nur einmal ausgelöst!
Soll er immer auslösen ist trigger $SELF . nötig um den Watchdog zurückzusetzen.
Alternativ übers Attribut autoRestart.

Ich benutze trigger teilweise mit einem sleep verangestellt, damit bei "unklarer"Sachlage nicht doppelt ausgelöst wird. Z.B. Min Wasserpegel bei Wellenbewegung (Teich).
Raspi 3b mit Raspbian Buster 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...

Fakenius

Zum Hintergrund:
Ziel ist (bei der Hitze derzeit) eine morgentliche "Lüftungskontrolle". Dazu dient mir eine Überprüfung aller Räume mit geöffneten Fenstern darauf, dass deren Innentemperatur (noch) höher ist als die Außentemperatur. Ansonsten gibt es einen akustischen Alarm. Das Ganze wird gestartet mittels eines Schalters (Dummy).
Der Schalter triggert einen Watchdog (regex1) und letzterer ruft sich solange immer wieder selbst auf ("sleep 1; trigger $SELF ."), bis alle Fenster geschlossen sind (oder regex2 triggert). Dass dieses zyklische Selbstaufrufen mit "autoRestart=1" geht, habe ich so nicht verstanden und hinbekommen.

Das Ganze funktioniert wunderbar. Nur wollte ich nach (Selbst-) Beendigung des Watchdogs, wenn also alle Fenster zu sind, den Zustand des Schalters (erwartet in $NAME oder $DEV) wieder auf "off" setzen. Und da fiel mir eben auf, dass sich ab dem 2. Durchlauf $NAME und $DEV geändert hatten.

Ist eher etwas akademisch, weil die Doku unter Notify das m.E. so nicht hergibt. Ich habe den Namen jetzt fest kodiert, was mir aber nicht so liegt, wenn es eine Variable dazu gibt.
FS20, Homematic (RaspberryMatic), Zigbee (deCONZ), LaCrosse, selbstgebaute Sensoren und Aktoren via MQTT
 (CUL, HB-RF-USB-2, Jeelink, SIGNALDuino)

frober

#4
Wenn ich keinen Denkfehler habe...
Setze das Attribut autoRestart 1, und triggere Dummy on, dann wird der Watchdog ausgelöst und wenn alle Fenster zu sind, kannst du den Dummy auf Off stellen (wobei du das auch sofort nach dem on tuen kannst).

Wie Beta-User schrieb, ist das eigentlich das falsche Forum.

P.S. Pass auf, dass du dir dadurch keine Endlosschleife baust ::), vor dem trigger Dummy on sollte der Zustand des Dummys überprüft werden.
Raspi 3b mit Raspbian Buster 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...

Beta-User

Zitat von: frober am 05 August 2022, 13:52:25
Wie Beta-User schrieb, ist das eigentlich das falsche Forum.
Der Thread ist verschoben worden.

Da Rudi aber nur liest, von was er per Benachrichtigungs-Email Wind bekommt, kann es sein, dass hier nichts passieren wird... Daher hatte ich ausnahmsweise ja das Neueröffnen eines weiteren Thread empfohlen...

Sonstige OT-Anmerkungen:
- bei jemand (anderem) Kluges hatte ich neulich Ausführungen zum Thema Lüften gelesen. Der war der Ansicht, man sollte checken, ob die Tendenz der Innentemperatur noch fallend ist. Klang für mich einleuchtend. (Anders herum: Die Außentemperatur steigt mölicherweise schneller als die Innen, aber auch die kann durch die reinkommende wärmere Luft ja wieder steigen).

- watchdog hat für mich den Nachteil, dass man das schlecht generalisieren kann. Tendenziell würde ich für sowas als erstes zu "monitoring" greifen. Habe das aber jetzt nicht intensiver vorab beleuchtet (für das Überwachen würde ich erst mal bei den Innentemperaturen anfangen bzw. bei deren (aggregierter?) Tendenz).

- $SELF ist afaik aus Rudi's Sicht ein Notbehelf (sinngemäß: "wer das braucht, macht was falsch"). Ob es "gut" ist, dass bei diesem speziellen trigger-Kommando $NAME auch mit dem (vermeintlich falschen) Inhalt gefüllt wird, sei mal dahingestellt, ich vermute (ohne in den Code gesehen zu haben), es ist halt eine Variable, die "on the fly" vorhanden ist und danach auch nicht wirklich weiterlebt.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Fakenius

Vielen Dank für Eure Antworten und Anregungen. Mir ging es nur um die Variablen und deren Dokumentation (unter Notify). Ich kann aber auch damit leben, so wie es derzeit ist.

Ich habe eine ganze Reihe derart "zyklischer" Wachhunde, die seit vielen Jahren funktionieren. Eine "Endlosschleife" gab es dabei noch nie.

Ich schließe dann diesen Thread.
FS20, Homematic (RaspberryMatic), Zigbee (deCONZ), LaCrosse, selbstgebaute Sensoren und Aktoren via MQTT
 (CUL, HB-RF-USB-2, Jeelink, SIGNALDuino)