FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Kharim am 05 April 2016, 09:16:31

Titel: Watchdog Wartezeit verändern?
Beitrag von: Kharim am 05 April 2016, 09:16:31
Hallo Zusammen,

kann ich einen definierten Watchdog dahingehend verändern, dass die Wartezeit variabel wird?

Wen ich das recht sehe, steht ja in der Eigenschaft TO die Sekundenzahl der Wartezeit drin.
Kann ich diese nun verändern, ohne den gesamten Watchdog neu definieren zu müssen?


Danke,
Kharim
Titel: Antw:Watchdog Wartezeit verändern?
Beitrag von: rudolfkoenig am 05 April 2016, 20:02:11
ZitatKann ich diese nun verändern, ohne den gesamten Watchdog neu definieren zu müssen?
Das wuerde erst beim naechsten Aufruf von Watchdog_Activate eine Auswirkung zeigen.
Und dann geht der Timer von vorne los.
Titel: Antw:Watchdog Wartezeit verändern?
Beitrag von: Kharim am 06 April 2016, 07:48:59
Hm ich glaube ich hab mich (wie immer) blöd ausgedrückt.
Ich will die Zeit nicht zur Laufzeit des WD / nach Auslösung verändern, sondern im "defined" Zustand, also bevor er getriggert wird.

Ich versuch es mal ausführlich zu erklären:
Ich habe einen WD der bei Fenster öffnen gestartet wird und nach 5 Minuten ein Warnung ausgibt "Fenster offen".
Er dient mir sozusagen um die Lüftungszeit zu begrenzen.
Nun soll ja bekanntlich bei niedrigen Temperaturen kürzer gelüftet werden, als bei hohen Temperaturen.
Um so größer die Differenz zwischen Raum- und Außentemperatur um so kürzer sollte die Lüftungszeit sein.
Soweit die Theorie.

Mein Plan ist es also, mittels einer stündlich laufenden "at", abhängig von der Außentemperatur, die Wartezeit des WD zu setzen.
Ich habe es intuitiv mit einem "set WD TO 300" versucht, dieses funktioniert aber leider nicht.
Titel: Antw:Watchdog Wartezeit verändern?
Beitrag von: bergadler am 06 April 2016, 09:24:36
Hi,

da würde ich aber nicht mittels Außentemperatur die Zeit des Watchdog ändern,
sondern gleich bei Unterschreitung der Zimmertemperatur die Warnung aktivieren.

Ich mache es z.B. so:

define Hzg_Wz_temp_alarm DOIF ([Hzg_Wz:measured-temp] < 17) (set wvc_tablet_nexus ttsSay Das Wohnzimmer hat nur noch 17 Grad. macht doch mal einer das Fenster wieder zu!)

Gruß
Titel: Antw:Watchdog Wartezeit verändern?
Beitrag von: mi.ke am 06 April 2016, 09:39:13
Ich machs auch über die Aussentemperatur.

Im Bestfall senkt sich die Raumtemperatur so nur unwesendlich ab.

Im Wohnzimmer meldet mir ein CO2-Sensor die Luftquali, im Bad gehts aber mehr um Luftfeuchte.
Für die "Schimmelwarnung hab ich ein anderes,zusäztliches notify.
Leider vergess ich das Badezimmerfenster zu oft, daher die temperaturabhängige Warnung.

Hier hatte ich mal die Aussentemp-Lösung beschrieben, wenn' interessiert.
https://forum.fhem.de/index.php/topic,25544.msg332753.html#msg332753

Cheers
mi.ke
Titel: Antw:Watchdog Wartezeit verändern?
Beitrag von: CoolTux am 06 April 2016, 09:58:27
Zitat von: Kharim am 06 April 2016, 07:48:59
Ich habe es intuitiv mit einem "set WD TO 300" versucht, dieses funktioniert aber leider nicht.

Modify (http://fhem.de/commandref_DE.html#modify)
Titel: Antw:Watchdog Wartezeit verändern?
Beitrag von: Kharim am 07 April 2016, 07:51:42
Aaaalles klar :-)
Das Modify tut was ich möchte.

Vielen Dank euch :-)
Titel: Antw:Watchdog Wartezeit verändern?
Beitrag von: jhohmann am 11 Februar 2021, 15:31:19
Um das uralte Thema wieder rauszukramen:
Wie kann ich das denn genau machen?
Wenn ich ein modify wdArbeitszimmerFensterOpen 00:10:00 abschicke, dann kommt als Fehlermeldung
ZitatWrong timespec, must be HH:MM[:SS]
Ich will nur das Zeitfenster ändern.
In der Doku zu modify werden auch nur at und notify erwähnt, watchdog taucht nicht auf.
Titel: Antw:Watchdog Wartezeit verändern?
Beitrag von: rudolfkoenig am 11 Februar 2021, 17:00:10
Modify funktioniert beim watchdog (wie bei allen Geraeten), watchdog unterstuetzt auch das (nicht mehr selbstverstaendliche) optionales Weglassen der Argumente.
Leider gibts dabei einen Fehler: wenn timeout nicht spezifiziert wird, wird es nicht richtig uebernommen, und es kommt zu dieser Meldung. Das habe ich jetzt gefixt.

Achtung: man kann zwar optional Argumente weglassen, aber immer nur von hinten, d.h. wenn mann den Timeout aendern will, dann muss man den ersten Regep weiterhin spezifizieren. Wenn man das macht, dann gibt es auch in der "alten" Version kein Problem mit modify.
Titel: Antw:Watchdog Wartezeit verändern?
Beitrag von: jhohmann am 11 Februar 2021, 17:29:18
Mit folgendem Aufruf bekomme ich jetzt das recht geschmeigt hin:
fhem("modify wdArbeitszimmerFensterOpen ".InternalVal("wdArbeitszimmerFensterOpen", "RE1","")." 00:10:00");
Damit brauche ich die Definition (oder Teile davon) nicht in einer separaten Logik doppelt pflegen.
Jetzt muss ich mir nur noch eine Logik für die Berechnung des Datums überlegen, habe da aber auch schon Ideen.

Danke für die zügige Hilfe.