FHEM Forum

FHEM => Automatisierung => Thema gestartet von: jackyno.71986 am 10 Oktober 2020, 17:19:42

Titel: Mailcheck Subject
Beitrag von: jackyno.71986 am 10 Oktober 2020, 17:19:42
Hallo,

ich versuche mit Mailcheck den Betreff einen Email auszuwerten, solange der Betrefftext exakt mit meiner Vorgabe übereinstimmt funktioniert das auch.
Das Problem ist das der erste Teil des Betrefftexts immer gleich ist aber der hinter teil variert.

Gibt es eine möchlich kein Auszuwerten ob der Betreff mit einem bestimmten Wort beginnt?

Danke, schönes Wochenende
Titel: Antw:Mailcheck Subject
Beitrag von: amenomade am 10 Oktober 2020, 17:56:45
Mailcheck generiert Events mit dem ganzen Titel. Guck mal wie die Events im Eventmonitor aussehen.
Dann eine entspr. Zeile im Eventmonitor markieren und ein notify erstellen lassen (Knopf "Create/modify device")

Dann die Regex des notify anpassen
Titel: Antw:Mailcheck Subject
Beitrag von: jackyno.71986 am 11 Oktober 2020, 14:24:47
Hallo,

Danke, bringt mir abervleider nichts das sich der Hinter teil des Betreffs bei jeder Mail ändert.

Schönes Wochenende
Titel: Antw:Mailcheck Subject
Beitrag von: amenomade am 11 Oktober 2020, 15:04:17
ZitatDann die Regex des notify anpassen
Wie sieht dann jetzt dein notify aus?
Titel: Antw:Mailcheck Subject
Beitrag von: MadMax-FHEM am 11 Oktober 2020, 15:25:18
Zitat von: jackyno.71986 am 11 Oktober 2020, 14:24:47
Hallo,

Danke, bringt mir abervleider nichts das sich der Hinter teil des Betreffs bei jeder Mail ändert.

Schönes Wochenende

Naja wie amenomade schon geschrieben hat: generiertes notify anpassen...

Nur damit ich es richtig verstehe (du hast ja sehr ausführlich beschrieben ;) ): es gibt einen fixen Teil (zu Beginn!?) und einen variablen Teil (danach)!?

Wenn dem so ist, dann einfach da wo der flexible Teil endet .* (Punkt Stern) an die RegEx des notify, Beispiel:

Betreff: das ist der fixe Teil und ab hier ist es flexibel

notify könnte dann wie folgt (in etwa) aussehen:
Zitat
define nMailCheck notify Mailcheck:Betreff:.das.ist.der.fixe.Teil.* {}

NUR ALS BEISPIEL...

Oder wie von amenomade angefragt mal einen Ausschnitt aus dem Eventmonitor posten...

Gruß, Joachim
Titel: Antw:Mailcheck Subject
Beitrag von: jackyno.71986 am 11 Oktober 2020, 17:51:03
Hallo,

mein DEF:

mail:Subject.* {
   my $subject = ReadingsVal("Email", "Subject", "");;
   my $from = ReadingsVal("Email", "From", "");;
   if($subject eq "[Success]" && $from eq "system\@xxx.de") {
      fhem("set Backup_xxx_Success on;;");;
   } elsif($subject eq "False" && $from eq "system\@xxx.de") {
      fhem("set Backup_xxx_Success off");;
   }
}


der Email betreff ist :
[Success] PC xxxx Büro Job PC01 - Saturday, 10 October 2020

das Datum ändert sich.

Titel: Antw:Mailcheck Subject
Beitrag von: Wernieman am 11 Oktober 2020, 18:08:34
1. Bitte verwende Code Tags (Die # im Editor), erleichtern das lesen von Code für die Helfer
2. Warum Trikkerst Du auf sehr vieles, um es dann im notivy per if einzuschränken? Siehe Beitrag von MadMax
Titel: Antw:Mailcheck Subject
Beitrag von: amenomade am 11 Oktober 2020, 19:39:28
Genau was ich mit "Regex anpassen" meinte:

Nicht auf "Subject.*" triggern, sondern auf Subject + Anfang des Betreffs, wie z.B. "Subject:.(\[Success\]|False).*"

(angenommen, dass "False" wie in deinem DEF nicht auch in eckigen Klammern steht)

Titel: Antw:Mailcheck Subject
Beitrag von: jackyno.71986 am 24 Oktober 2020, 08:43:49
Hallo,

ich habe die Lösung, hatte die Def aus einem Forenbeitrag, war für meine zweck aber tatsächlich auf viel zu viel getriggert,

habe es jetzt folgendermaßen gelöst:

Email:Subject.*[Success].*xxx.* set Backup_xxx_Succees on

Danke für die unterstützung