neues modul mailcheck

Begonnen von justme1968, 02 August 2013, 19:08:55

Vorheriges Thema - Nächstes Thema

cocojambo

@ justme1968
Hallo andre,

Nicht das ich dich nerven will. Du hast mir ja geschrieben, das du den Fehler nicht nachvollziehen kannst, warum die Verbindung plötzlich unterbrochen wird. Da ich aber unbedingt dein Modul nutzen will, habe ich mal weiter geforscht. Ich habe mal alle Email Konten in der config aktiviert und dann mit "save config" abgeschlossen. Dadurch werden alle Email-Konten ja mit dem Modul mailcheck erneut ausgelesen. Dabei fiel mir auf, das beim erstmaligen lesen der Konten dieser Fehler bei keinem der 10 Konten auftritt.

2015.01.03 17:17:41 3: XXXXXXXXXX_net: connected to imap.gmx.net
2015.01.03 17:17:42 3: XXXXXXXXXX_net: logged in to XXXXXXXXXX@gmx.ch
2015.01.03 17:17:42 3: XXXXXXXXXX_net: connected to imap.gmx.net
2015.01.03 17:17:42 3: XXXXXXXXXX_net: logged in to XXXXXXXXXX@gmx.de
2015.01.03 17:17:47 3:XXXXXXXXXX_de: connected to imap.strato.de
2015.01.03 17:17:47 3: XXXXXXXXXX_de: logged in to XXXXXXXXXX.de
2015.01.03 17:17:48 3: XXXXXXXXXX_de: connected to imap.netcologne.de
2015.01.03 17:17:48 3: XXXXXXXXXX_de: logged in toXXXXXXXXXXnetcologne.de
2015.01.03 17:17:49 3:XXXXXXXXXX_de: connected to imap.web.de
2015.01.03 17:17:49 3: XXXXXXXXXX_de: XXXXXXXXXX@web.de
2015.01.03 17:17:50 3:XXXXXXXXXX_de: connected to imap.netcologne.de
2015.01.03 17:17:50 3: XXXXXXXXXX_de: logged in to XXXXXXXXXX@netcologne.de
2015.01.03 17:17:50 3:XXXXXXXXXX_de: connected to imap.netcologne.de
2015.01.03 17:17:50 3: XXXXXXXXXX_de: logged in to XXXXXXXXXX@netcologne.de
2015.01.03 17:17:51 3: XXXXXXXXXX_de: connected to imap.netcologne.de
2015.01.03 17:17:51 3: XXXXXXXXXX_de: logged in to XXXXXXXXXX@netcologne.de
2015.01.03 17:17:51 3:XXXXXXXXXXnet: connected to imap.gmx.net
2015.01.03 17:17:51 3: XXXXXXXXXX_net: logged in to XXXXXXXXXXgmx.de
2015.01.03 17:17:52 3: XXXXXXXXXX_de: connected to mail.koeln.de
2015.01.03 17:17:52 3: XXXXXXXXXX_de: logged in to XXXXXXXXXX@koeln.de


Kann man nicht einfach hingehen und das Modul nach dem es die Emailkonten 5sek lang ausgelesen hat "abschalten" und dann so wie beim neueinlesen der fhem.cfg wieder starten, die Konten auslesen lassen, Modul wieder "abschalten", nach längerer Zeit wieder starten, usw usw,
Dann hätte ich ja wahrscheinlich diesen Fehler weg, wenn ich die Konten alle 20-30 min lesen lassen.
Was hälst du davon, ist zwar eine Krücke und auch nicht einer fachmännischen Lösung nahe, aber wenns hilft.
Hättest du eine Idee, wie ich das bewerkstelligen kann um solch einen Effekt zu erzielen?

Gruß
nobbi
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

Sargon

Hallo zusammen,

ich habe inzwischen erfolgreich das Modul Mailcheck zum laufen gebraucht und kann damit auch gut "meine" Anwesenheit steuern. Ich habe nur ein Problem das ein Mail-Subjekt nicht erkannt wird.
Subject: Marion XXXXXX-XXXXXXXX ist an folgendem Standort angekommen: Zuhause.
Anfangs habe ich das Subjekt 1 zu 1 in das Notify kopiert das hat aber nicht funktioniert. Danach habe ich mir auf einer Regex Seite eine Regex zusammengebaut die zumindest auf der Seite funktioniert und den Subjekt auch mit verschiedenen Zeilenumbrüchen erkennt aber in meinen Notify funktioniert es nicht.

Hier der Teil des Notifys:

Mail_deEmailFhem.*Subject:.* {
if ( $EVENT =~ "^Marion xxxxxx-xxxxxxxx[A-Za-z \n\r]*angekommen[\n\r :]*Zuhause\." ) {fhem("set rr_Marion home")}
}


Hier ein Auszug aus dem Logfile zum Mailcheck Modul vom Mail Subjekt:

Read: * 23 FETCH (BODY[HEADER.FIELDS (SUBJECT)] Subject: Marion XXXXXX-XXXXXXXX ist an folgendem Standort angekommen:
   Zuhause.
 
  )
  946 OK Fetch completed.
found data between fetch headers: 946 OK Fetch completed.

Ich habe den Eindruck das das Subjekt einen Zeilenumbruch hat, es kann aber natürlich auch sein das das nur so im Logfile dargestellt wird. Ich verstehe nur nicht warum das Notify nicht reagiert wenn ich das Subjekt direkt 1 zu 1 in das Notify kopiere und auch nicht meine Regex Version.
Was mache ich hier falsch?

Gruß
Thomas
Unitymedia IPv6, Synology 212+, Cul, 4 Max Thermostate und 4 Fensterkontakte

justme1968

wenn du tatsächlich ein new line im subject hast musst du die regex mit dem s modifer verwenden. also etwa so:Mail_deEmailFhem.*Subject:.* {
if ( $EVENT =~ "^Marion xxxxxx-xxxxxxxx[A-Za-z \n\r]*angekommen[\n\r :]*Zuhause\."s ) {fhem("set rr_Marion home")}
}




du kannst im event viewer schauen oder das $EVENT mit Log 3, $EVENT; ins fhem log file schreiben. wenn es ein newline gibt dann siehst du es da.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Sargon

#348
Hallo,

leider hat es nicht geholfen das Subject wird immer noch nicht erkannt.
Ich habe deine Version nochmal abgewandelt da ich beim Ausführen einen Syntax Error bekommen habe.

Mein If im Notify sieht jetzt folgendermaßen aus:

if ( $EVENT =~ "^Marion XXXXXX-XXXXXXXX[A-Za-z \n\r]*angekommen[\n\r :]*Zuhause\./s" ) {fhem("set rr_Marion home")}


Im fhem Logfile sieht es so aus, hatte Loglevel über Nacht auf 5 (jetzt ist mein Logfile voll :-))

2015.01.23 16:03:48 4: subject decoded: Marion XXXXXX-XXXXXXXX ist an folgendem Standort angekommen:
Zuhause.
2015.01.23 16:03:48 5: Triggering Mail_deEmailFhem (1 changes)
2015.01.23 16:03:48 5: Notify loop for Mail_deEmailFhem Subject: Marion XXXXXX-XXXXXXXX ist an folgendem Standort angekommen:
Zuhause.

Habe ich noch einen anderen Fehler in meiner Regex? Habe ich das s richtig gesetzt? Der Punkt ist Bestandteil des Subjects hinter Zuhause.

Gruß
Thomas

Unitymedia IPv6, Synology 212+, Cul, 4 Max Thermostate und 4 Fensterkontakte

frank

danke für das coole modul. funktioniert bestens auf fritzbox mit gmx-free.

@sargon
ZitatHabe ich das s richtig gesetzt? Der Punkt ist Bestandteil des Subjects hinter Zuhause.
andre hat es aber anders vorgeschlagen.

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

mrbreil

Hallo ich habe ein kleines Problem mit Satzzeichen im Betreff. Mein Notify ist folgender:
define not_KSL_shop notify .*Subject.*Kundenbestellung.* {\
  fhem ("set email_KSL_webshop on");;\
}


Enthält die Email folgenden Betreff, der leider so versendet wird, funktioniert mein Notify nicht. [Webshop] Neue Kundenbestellung (Nr. 826) - 22. Dezember 2014
Schicke ich mir Testweise eine Email ohne Satzzeichen funktioniert mein Notify. Webshop Neue Kundenbestellung Nr 826  22 Dezember 2014

Habe ich einen Denkfehler oder ist das eine Restriktion des Moduls?

frank

falls du wirklich probleme mit den zeichen hast, mache folgendes:
du erstellst dir einen eigenen ordner im posteingang deines mailproviders und filterst/verschiebst die mails beim provider in den neuen ordner. den ordner verknüpfst du dann mit mailcheck.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

mrbreil

Das ist eine gute Idee, aber ich filtere ja auf mehrere verschiedene emails. Kann ich den mehrere mailcheck Instanzen auf dasselbe Postfach in verschiedenen Ordner lauschen lassen oder kommen die sich dann in die Quere.

frank

Zitat von: mrbreil am 06 März 2015, 18:26:20
Das ist eine gute Idee, aber ich filtere ja auf mehrere verschiedene emails. Kann ich den mehrere mailcheck Instanzen auf dasselbe Postfach in verschiedenen Ordner lauschen lassen oder kommen die sich dann in die Quere.
das hatte ich so verstanden. natürlich unterschiedliche namen für jeden ordner.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

cocojambo

Ich habe das Thema schon mal hier im Board angesprochen. Es ging darum, dass bei allen Email Konten ständig massenweise Errors in der Log Datei stehen. Mittlerweile ist diese schon  richtig groß. Man kann nichts mehr im Log identifizieren weil alle 30min nach ein paar normalen Logs pro Email Konto 9 Reihen Error LOGs kommen.
Ich alleine komme einfach nicht dahinter und benötige Hilfe. Weil der Fehler nicht zu finden war, habe ich mittlerweile alle drei Raspis von Grund auf neu installiert und mal auf einem nur die minimale fhem.conf und nur die nötigen Treiber für mailcheck installiert und nur ein gmx Konto zur Abfrage definiert. Fehler ist auch dort.
Er tritt also bei allen 3 Raspis auf und deshalb kann ich nicht verstehen warum alle schreiben, dass maicheck funktioniert. Ich würde das nicht erneut  ins Board schreiben, wenn ich sehen könnte dass es bei mir aus irgendeinem Grund nicht gehen kann, deshalb habe ja alles mal dreifach neu gemacht und einen RasPi nur mit Email Check installiert. Ich finde das Modul aber auch super und würde gerne herausfinden woran es bei mir scheitert. Kennt jemand von Euch eine eine Lösung für mein Problem ? Vielleicht hat mal einer eine Config für mailcheck oder kann mir mal genau sagen, was und wie installiert wurde. Das wäre toll. Mag sein, das ich auf diese Art dahinter komme das vielleicht ein grundsätzlicher Fehler bei meiner Installation oder Konfiguration vorliegt.
Gruß aus Köln
Norbert
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

frank

ZitatMan kann nichts mehr im Log identifizieren weil alle 30min nach ein paar normalen Logs pro Email Konto 9 Reihen Error LOGs kommen.
bei mir kommen solche blöcke (deine kenne ich nicht) nur nachts, wenn mein router die internetverbindung schliesst und neu herstellt. vielleicht ist deine internetverbindung nicht stabil genug?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

cocojambo

Ich habe eine 16000'der Leitung die an einem Verteilerkasten angeschlossen ist, der 10m von meinem Haus entfernt steht und der an einem Glasfaserkabel hängt. Ich habe ein Webradio fast den ganzen Tag laufen, und abends sehe ich sogar gestreamte HD Filme im TV einwandfrei und trotzdem enstehen diese "Blöcke" zu gleichen Zeit. Wie könnte ich dann testen ob die I-Net Verbindung für Bruchteile ausfällt?
2015.03.09 13:16:14 1: PERL WARNING: Trying command when NOT connected! LastError was: * BYE timeout at /usr/local/share/perl/5.14.2/Mail/IMAPClient.pm line 122
Mail::IMAPClient::LastError('Mail::IMAPClient=HASH(0x2305da0)', 'NO not connected') called at /usr/local/share/perl/5.14.2/Mail/IMAPClient.pm line 1554
Mail::IMAPClient::_read_line('Mail::IMAPClient=HASH(0x2305da0)') called at /usr/local/share/perl/5.14.2/Mail/IMAPClient.pm line 1381
Mail::IMAPClient::_get_response('Mail::IMAPClient=HASH(0x2305da0)', '*', 'Regexp=REGEXP(0x25a4a28)') called at /usr/local/share/perl/5.14.2/Mail/IMAPClient.pm line 1133
Mail::IMAPClient::idle_data('Mail::IMAPClient=HASH(0x2305da0)') called at ./FHEM/32_mailcheck.pm line 360
main::mailcheck_Read('HASH(0x1b77940)') called at fhem.pl line 2955
main::CallFn('xxxx_gmx_net', 'ReadFn', 'HASH(0x1b77940)') called at fhem.pl line 606
2015.03.09 13:16:14 1: PERL WARNING: Trying command when NOT connected! at /usr/local/share/perl/5.14.2/Mail/IMAPClient.pm line 122
Mail::IMAPClient::LastError('Mail::IMAPClient=HASH(0x2305da0)', 'NO not connected') called at /usr/local/share/perl/5.14.2/Mail/IMAPClient.pm line 1477
Mail::IMAPClient::_send_line('Mail::IMAPClient=HASH(0x2305da0)', 'DONE', 0) called at /usr/local/share/perl/5.14.2/Mail/IMAPClient.pm line 1309
Mail::IMAPClient::_imap_command_do('Mail::IMAPClient=HASH(0x2305da0)', 'HASH(0x26018d8)', 'DONE') called at /usr/local/share/perl/5.14.2/Mail/IMAPClient.pm line 1214
Mail::IMAPClient::_imap_command('Mail::IMAPClient=HASH(0x2305da0)', 'HASH(0x26018d8)', 'DONE') called at /usr/local/share/perl/5.14.2/Mail/IMAPClient.pm line 1156
Mail::IMAPClient::done('Mail::IMAPClient=HASH(0x2305da0)') called at ./FHEM/32_mailcheck.pm line 364
main::mailcheck_Read('HASH(0x1b77940)') called at fhem.pl line 2955
main::CallFn('xxxx_gmx_net', 'ReadFn', 'HASH(0x1b77940)') called at fhem.pl line 606
2015.03.09 13:16:14 1: PERL WARNING: Trying command when NOT connected! at /usr/local/share/perl/5.14.2/Mail/IMAPClient.pm line 122
Mail::IMAPClient::LastError('Mail::IMAPClient=HASH(0x2305da0)', 'NO not connected') called at /usr/local/share/perl/5.14.2/Mail/IMAPClient.pm line 1477
Mail::IMAPClient::_send_line('Mail::IMAPClient=HASH(0x2305da0)', '26 IDLE', 0) called at /usr/local/share/perl/5.14.2/Mail/IMAPClient.pm line 1309
Mail::IMAPClient::_imap_command_do('Mail::IMAPClient=HASH(0x2305da0)', 'IDLE', '+') called at /usr/local/share/perl/5.14.2/Mail/IMAPClient.pm line 1214
Mail::IMAPClient::_imap_command('Mail::IMAPClient=HASH(0x2305da0)', 'IDLE', '+') called at /usr/local/share/perl/5.14.2/Mail/IMAPClient.pm line 1109
Mail::IMAPClient::idle('Mail::IMAPClient=HASH(0x2305da0)') called at ./FHEM/32_mailcheck.pm line 451
main::mailcheck_Read('HASH(0x1b77940)') called at fhem.pl line 2955
main::CallFn('xxxx_gmx_net', 'ReadFn', 'HASH(0x1b77940)') called at fhem.pl line 606

Und danach manchmal nach 10min wieder dasselbe und das für jedes Email Konto. Ich meine diese Meldungen tauchen immer nur dann auf wenn eine Email ankommt, sonst ist nämlich stundenlang Ruhe.
Warum kann dieses Modul denn nicht wie viele andere Module, die das Internet nutzen, nicht einfach diesen Aussetzer ignorieren (wenn es so ist) und die Verbindung einfach wieder aufnehmen oder eber nur jede Stunde kurz"nachguckt" ob es eine Email gibt oder nicht. Dann würde dieser Fehler vielleicht nicht auftreten.
Ich bin schon hingegangen und habe das Modul jede Stunde für 5min aktiviert. Dann bekomme ich aber komischerweise nicht alle Emails, sondern nur die, die in den 5min ankommen (verstehe ich zwar nicht). Und selbst dann, gibs eine Fehlermeldung. Vielleicht gibt es noch einen Trick das Teil zu überlisten?
Gruß
nobbi
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

frank

wo läuft denn dein fhem und wie sieht dein netzwerk richtung internet aus?

ZitatWie könnte ich dann testen ob die I-Net Verbindung für Bruchteile ausfällt?
auf deiner fb7390 kannst du wireshark aktivieren. siehe zb http://blog.wenzlaff.de/?p=2334
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

cocojambo

Guter Tipp. Habe ich gerade gestartet, mal sehen was babei rauskommt. Wie lange darf das Teil laufen? Bis ich stoppe?

zu meiner Internetanbindung vom Keller aus:
1) vom Verteilerschrank auf der Straße in einen Splitter im Keller
2) von da in die Fritzbox im EG
3) von der Fritzbox direkt daneben in den Raspi mit FHEM

Gruß
nobbi
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

frank

ZitatWie lange darf das Teil laufen? Bis ich stoppe?
keine ahnung. sicherlich vom freien speicher abhängig. ich würde erstmal bis zur ersten auffälligkeit im log laufen lassen und mit stop beenden.

Zitatzu meiner Internetanbindung vom Keller aus:
also alles lan? eventuell hätte eine wlan strecke ärger machen können.

du kannst dir bestimmt auch wireshark auf den pi laden und dort mal schauen. die 2. fritzbox nutzt du als router? kann die auch wireshark? dann würde ich auch dort mal schauen.

du sagtest das ip-radio und ip-tv reibungslos funktioniert. ich denke aber, dass solche streams gepuffert werden. kurze aussetzer würdest du also gar nicht bemerken. meine meldungen in der nacht, sind von der ersten bis zur letzten meldung innerhalb von 250ms. ca alle 70ms ein meldungsblock.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html