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
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
Hallo,
Danke, bringt mir abervleider nichts das sich der Hinter teil des Betreffs bei jeder Mail ändert.
Schönes Wochenende
ZitatDann die Regex des notify anpassen
Wie sieht dann jetzt dein notify aus?
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
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.
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
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)
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