Mailcheck Subject

Begonnen von jackyno.71986, 10 Oktober 2020, 17:19:42

Vorheriges Thema - Nächstes Thema

jackyno.71986

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

amenomade

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
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

jackyno.71986

Hallo,

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

Schönes Wochenende

amenomade

ZitatDann die Regex des notify anpassen
Wie sieht dann jetzt dein notify aus?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

jackyno.71986

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.


Wernieman

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
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

amenomade

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)

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

jackyno.71986

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