FHTTK + watchdog

Begonnen von Shoddy, 29 Dezember 2012, 11:28:30

Vorheriges Thema - Nächstes Thema

Shoddy

Hi, ich brauche mal ein paar Augen, das nicht seit 2 Tagen auf dieses Thema schaut...

Möchte (ganz simpel hab ich gedacht), wie in der reference beschrieben, eine Mail bekommen, wenn meine Terrassentür länger als eine bestimmte Zeit geöffnet ist. Abfragen will ich den installierten FHTTK namens "Terrassentuer". Seine events sind "Open" und "Closed". Definiert habe ich den watchdog (ist er ein rüde?) wie folgt:

define Testwatchdog2 watchdog Terrassentuer:Open 00:02:00 Terrassentuer:Closed { FB_mail('xxx@xxxmail.com' ('xxx@xxxmail.com'),'Test','Test') }
attr Testwatchdog2 regexp1WontReactivate


Wenn ich die Tür öffne und ihr Status auf "Open" springt, wird jedoch nix getriggert oder sonstwie angesprochen. Im log bei verbose 4 taucht auch nix auf, außer, dass die Tür Open ist. Habe den watchdog mit Aktor:on und Aktor:off getestet (also Aktor einfach selbst angeschaltet), und alles funktionierte...

Wenn ich mittels notify auf den Status der Tür zugreife, funktioniert alles reibungslos. Dort habe ich allerdings Perl verwendet. Habe aber leider keine Ahnung, wie ich das beim watchdog einbauen muss.

Hat jemand einen Tip für mich?
FHEM auf Raspi 3
FS20, FHT, HMS

Shoddy

Hat sich erledigt...

Habe die SuFu in den Groups nochmal richtig ausgereizt (ok, hab mich vorher nur blöd angestellt) und was gefunden... Sieht jetzt so aus:

define WZ_T_wd watchdog Terrassentuer:Window:.Open 00:15:00 Terrassentuer:Window:.Closed { FB_mail('xxx@xxxmail.com' ('xxx@xxxmail.com'),'Es wird kalt...','...mach die Terrassentuer zu!') }
attr WZ_T_wd regexp1WontReactivate

Wieso das so aussehen muss, weiß ich zwar nicht, aber es funktioniert!


Grüße...
FHEM auf Raspi 3
FS20, FHT, HMS

diko

Hallo Forum,
bin neu hier und beschäftige mich schon einige Zeit mit FHEM auf einer FritzBox 7390.
Dank des tollen Forum habe ich auch schon einiges lesend lösen können.

Aber ein Problem kann ich nicht lösen: Watchdog mit FHTTK:
Habe die Definition auch so wie Shoddy angegeben,

define FA watchdog Badfenster:Window:.Open 00:10:00 Badfenster:Window:.Closed set FB_Call on (FB_Call ist ein Dummy der über notify ein Rundruf auslöst)
attr FA regexp1WontReactivate

Funktioniert auch, aber nur einmal.
Watchdog bleibt nach Auslösung im State triggered stehen. Erst ein "setstate FA defined" hilft, Watchdog ist für die nächste Auslösung bereit.

Was mache ich falsch oder wo ist der Fehler?
FHEM auf Raspi 2 B, Jessi, 1x CUL868, 1x Hue, 1x Harmony, 1x HM-USB2

Shoddy

Huch, hab mal eben kurz getestet und gemerkt, dass bei mir der Status auch auf triggered bleibt... Jedenfalls bei dem einen Fenster, das heute morgen ausgelöst hat.. Habe mal eben ein wenig erweitert:

define WZ_T_wd watchdog Terrassentuer:Window:.Open 00:15:00 Terrassentuer:Window:.Closed { FB_mail('xxx@xxxmail.com' ('xxx@xxxmail.com'),'Es wird kalt...','...mach die Terrassentuer zu!') };;setstate WZ_T_wd defined

Gibt bestimmt auch elegantere Lösungen, aber elegant kann ich irgendwie nicht. Mail ging nach 15 min raus, Status anschließend wieder auf "defined". Läuft. Hoffe ich. Wenn nicht, melde ich mich. ;-)


Grüße!
FHEM auf Raspi 3
FS20, FHT, HMS

Shoddy

Ups,

bei der nächsten Meldung der FHTTK wird der watchdog dann wieder ausgelöst. Weiß noch nicht genau, ob ich das will, oder nicht...
FHEM auf Raspi 3
FS20, FHT, HMS

d.zoellner

Hallo zusammen,

ich hatte das gleiche Problem. Watchdog einmalig ausgelöst (Mail gesendet) und dann erst wieder nach einem Neustart (Shutdown restart) von FHEM.
Ich habe nun zwei Watchdogs definiert. Aber ich denke das es nicht die eleganteste Lösung ist. Mir schwebt so etwas vor wie:
Statuswechsel on Zu nach Auf länger als 15 min zurückliegend, dann eine Mail senden...

Meine derzeitige Lösung- die mit Sicherheit noch Optimierungsfähig ist:
# >>> Watchdog Terrasse
# ist Terassenfenster länger als 15 minuten auf, wird eine Meldung versendet
define wd_wz_Fenster_Terasse watchdog wz_Fenster_Terasse:Window:.Open 00:15:00 wz_Fenster_Terasse:Window:.Closed
{
  FB_mail('xxxxx','Es wird kalt...','...mach die Terrassentuer zu!')
  attr wd_wz_Fenster_Terasse_reset regexp1WontReactivate 1
}
attr wd_wz_Fenster_Terasse regexp1WontReactivate 1
attr wd_wz_Fenster_Terasse room Allgemein

define wd_wz_Fenster_Terasse_reset watchdog wz_Fenster_Terasse:Window:.Closed 00:15:00 wz_Fenster_Terasse:Window:.Open
{
  attr wd_wz_Fenster_Terasse regexp1WontReactivate 1
}
attr wd_wz_Fenster_Terasse_reset regexp1WontReactivate 1
attr wd_wz_Fenster_Terasse_reset room Allgemein
# <<< Watchdog Terrasse

Habt Ihr hier Ideen und Anregungen, wie man das besser machen könnte? Ich bin noch absoluter Neuling bei FHEM.

Viele Grüße

Dirk

rexfue

Hi Dirk,

ich hab das so gelöst:

define ttd watchdog Trockner:off 00:10:00 Trockner:on set TRO off;; setstate ttd defined

Wichtig ist das 'setstate ... defined'. Damit ist der Watchdog dann wieder scharf. Den Tipp hatte ich hier im Forum gefunden.

( Das TRO ist ein dummmy, das später weiterverarbeitet wird).

Gruß
Reinhard