FHEM Forum

FHEM => Automatisierung => Thema gestartet von: seb am 03 März 2014, 21:14:59

Titel: [geloest] variablen uebergabe mail
Beitrag von: seb am 03 März 2014, 21:14:59
Hallo,

ich bekomme es nicht hin... habe ueber die Weboberflaeche einen Watchdog definiert, der mich ueber aufgelassene Fenster informiert. Tut er auch, nur den Device und den Wert uebergibt er nicht

Definiert ist:

.*._TFK.*:open 00:01 .*._TFK.*:closed {
DebianMail('a@b.de', 'HIER IST HAUS, FENSTER AUF', '@ %');
fhem('setstate watchdog_hm_Fenster defined');
}


Sendet aber eben nur ein "@" und ein "%"

Zitat2014.03.03 21:03:51 1: sendEmail Subject: HIER IST HAUS, FENSTER AUF
2014.03.03 21:03:51 1: sendEmail Text: $@ $%

kann mir jemand helfen?
2014.03.03 21:04:08 1: sendEmail returned: Mar 03 21:04:08 raspberrypi sendEmail[2166]: Email was sent successfully!
Titel: Antw:variablen uebergabe mail
Beitrag von: det. am 03 März 2014, 22:25:08

define mail_Buerotuer notify .*Tuer_*.* { \
  my $zeit=sprintf("%%02d:%%02d",$hour,$min);;\
  my $text;;\
  my $status;;\
  $status=Value "@";;\
  $text ="@ $zeit Uhr $status";;\
  if (Value("HomeStatus") ne "present")\
{DebianMail('mail@@provider.de',$text,$text);;\
  }\
}


So geht das vergleichbar bei mir
Titel: Antw:variablen uebergabe mail
Beitrag von: rudolfkoenig am 04 März 2014, 06:40:41
Es scheint fuer viele nicht intuitiv zu sein, aber ein watchdog ersetzt kein @ und %, und wird es auch nie machen.

Warum? Es gibt zwei Moeglichkeiten, je nach Watchdog-Regexp:
- Der Watchog-Regexp ist fuer mehr als ein Event definiert. In diesem Fall weiss der Watchdog nicht, welcher der Events _NICHT_ gekommen ist.
- Der Watchdog-Regexp ist fuer nur ein Geraet:Event definiert. Abgesehen davon, dass man hier @ und % nicht braucht (weil man die kennt, und die Texte direkt reinschreiben kann), kann der Watchdog Name und Event aus der Regexp auch nicht immer eindeutig extrahieren. Ein Notify hat es einfach, es bekommt beide Teile einzeln geliefert, es extrahiert diese nicht aus dem Regexp. Wenn der Watchdog ein Event bekommt, dann wird erstmal _KEIN_ Programm aufgerufen, und damit ist die Ersetzung in diesem Moment auch nicht notwendig.

Man kann auch kein generisches watchdog fuer alle Fenster bauen, da der watchdog nicht ausloest, wenn man beide Fenster oeffnet, Fenster1 schliesst, und Fenster2 offen bleibt. Da muss man fuer jeden der Fenster seinen eigenen watchdog anlegen oder 2 notifies bauen, und mit dem Zaehlen anfangen.

P.S: @ und % sind in einem notify nicht erwuenscht, bitte $NAME und $EVENT verwenden. Dann kann man sich das @@ in der email-addresse (user@host.de) auch sparen.
Titel: [geloest] Antw:variablen uebergabe mail
Beitrag von: seb am 04 März 2014, 18:06:52
Hallo Zusammen,
danke fuer die Antworten.

ZitatMan kann auch kein generisches watchdog fuer alle Fenster bauen

ok, dann kann ich es wohl in dieser Art vergessen. Danke fuer den Hinweis.

Dann ueberlege ich mir etwas anders.
Beste Gruesse vom Seb