neues modul mailcheck

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

Vorheriges Thema - Nächstes Thema

justme1968

hmm...

das kann nicht wirklich mit der änderung von eben zu tun haben. ich glaube du hast wieder die falschen login daten.

gruss
  andre

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

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

justme1968

ich habe eine idee woran das hängenbleiben liegt.

scheinbar bekommt die imap library manchmal nicht mit wenn mit der verbindung etwas nicht stimmt. z.b. wenn der login schief geht und der server das socket trozdem offen lässt. dann versucht die lib blockierend zu lesen und alles hängt.

bei meinem mobile me account läuft es tagelang stabil und auch ein falsches password wird hier richtig erkannt.

ich muss mal sehen ob man  die erkennung des verbindungsstatus verbessern kann. ich kann es bei mir nur reproduzieren wenn ich z.b. ein falsches password mit dem firmen server verwende.

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

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

svenson08

Hallo Andre,

Zitatdas kann nicht wirklich mit der änderung von eben zu tun haben. ich glaube du hast wieder die falschen login daten.

hmpf .... ja, hattest recht, hab leider nicht richtig hin gesehen .... früh morgens seh ich so einen dummen Schreibfehler direkt.

Gruß
svenson

betateilchen

Frage am Rande: Wäre es ein großer Aufwand, das Modul auch mit IMAP Servern nutzbar zu machen, die kein Push unterstützen? Also jeweils nach Ablauf eines Zeitintervalls nachschauen, ob Mails vorhanden sind.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

im prinzip ist das nicht wirklich ein problem. es passt aber nicht zur eigentlichen intention des moduls um mails 'an' fhem zu senden um irgendetwas auszulösen. ohne idle passiert das ja nicht mehr zeitnah.

ich schaue es mir aber mal an. es müsste mit einer hand voll zeilen machbar sein.

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

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

justme1968

anbei eine version die hoffentlich mit fehlgeschlagenem login besser klar kommt.

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

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

svenson08

Ok, ich hab die neue Version bei mir eingebunden. Mal sehen wie es sich im Dauertest bewährt.

Ist es beabsichtigt das disable z.zt. nur den Wert 1 haben kann/darf?

Gruß
Svenson

betateilchen

Zitat von: justme1968 schrieb am Fr, 06 September 2013 11:06es passt aber nicht zur eigentlichen intention des moduls um mails 'an' fhem zu senden um irgendetwas auszulösen.

Hallo Andre,

ich habe Zugriff auf einen imap-Server mit unbegrenzt vielen Postfächern, aber leider ohne push.
Mit einer Verzögerung von z.B. 1 Minute bei einem intervallgesteuerten Abruf könnte ich durchaus leben.

Wenn die Änderung problemlos machbar ist, freue ich mich drauf. Falls das Umstände bereitet: auch kein Problem, lebensnotwendig ist es nicht.

Viele Grüße
Udo
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

det.

hallo Andre,

Du bist auf dem richtigen Weg mit der Version von gestern. Mein FHEM ist mit dem t-online Account heute früh kurz vor 7 nicht abgestürzt wie die Tage vorher sondern hat sich automatisch getrennt und anschliessend wieder verbunden und empfing dann auch wieder eingehende Mails.
Allerdings wollte vor dem Aufstehen um 6 die Katze raus und da sie die Tür nicht selbst aufbekommt, habe ich die Sache genutzt und kurz eine Testmail abgesendet - die kam in FHEM nicht an. Ich kann da zwar leider nichts zu beitragen, aber es scheint, das Imap sowas wie einen regelmäßigen Ping braucht um den Port offen und empfangsbereit zu halten. Wie macht es Mail auf dem iPhone? Dort ist selbiger Account ja auch drauf und ständig empfangsbereit.
LG
det.

justme1968

genau dafuer ist das imap idle da damit der client nicht pollen muss sondern der server sagt das etwas neues da ist. trozdem gibt es einen timeout bei dem die session nach inaktivität geschlossen wird. normalerweise sind das etwa 29 minuten. dafür ist dann der reconnect.

t-online scheint hier  irgendetwas anders zu machen. hast du noch die debug ausgaben vor und nach dem reconnect und vom ersten connect nach modul start?

für die imap server die kein idle unterstützen wollte ich sowieso noch schauen das ich auch das pollen einbaue. das wollte ich dann gleich dazu verwenden auch bei idle die verbindung offen zu halten.

gruss
   andre

ich hoffe das modul geht auch bei dir bald so gut das du liegen bleiben kannst :)
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

svenson08

Ich hab leider übers WE keinen direkten Zugriff auf mein Fhem.
Mit der neuen Version läuft fhem sauber durch. Im Log seh ich auch nach ca. 2 Stunde ein Reconnect  zum google imap. Jedoch reagiert mailcheck nicht mehr auf neue Emails. Die ersten Mails, ich vermute vor dem Autom. Reconnect, wurde von mailcheck empfangen.

det.

dto. mit dem strato Account, nach recht genau 2 h reconnect. Mails kommen in der ersten halben Stunde an, danach nicht mehr. Den t- online Account lassen wir besser unbeachtet, der erzeugt offenbar nur 1 x am Tag das reconnect und ist daher in Echtzeit schlechter zu beobachten. Ich mag auch nicht immer so früh aufstehen um zu probieren, ob der noch Mails empfängt....
Strato ist sowieso mein bevorzugter Account für diese Anwendung, da ich von den 20 möglichen Postfächern noch genügend frei habe. War bis Gestern nur ungeeignet zum Testen, da FHEM nach 2 h  immer abgestürzt ist mit der ersten Version von mailcheck.
2013.09.07 09:42:19 3: newMail: logged out
2013.09.07 09:42:19 3: newMail: Disconnected
2013.09.07 09:42:19 3: newMail: connected to imap.strato.de
2013.09.07 09:42:19 3: newMail: logged in to fhem@xx.de
2013.09.07 11:43:15 3: newMail: logged out
2013.09.07 11:43:15 3: newMail: Disconnected
2013.09.07 11:43:15 3: newMail: connected to imap.strato.de
2013.09.07 11:43:15 3: newMail: logged in to fhem@xx.de
2013.09.07 13:43:35 3: newMail: logged out
2013.09.07 13:43:35 3: newMail: Disconnected
2013.09.07 13:43:35 3: newMail: connected to imap.strato.de
2013.09.07 13:43:35 3: newMail: logged in to fhem@xx.de
2013.09.07 15:43:43 3: newMail: logged out
2013.09.07 15:43:43 3: newMail: Disconnected
2013.09.07 15:43:44 3: newMail: connected to imap.strato.de
2013.09.07 15:43:44 3: newMail: logged in to fhem@xx.de

Habs noch mal getestet, Mails werden nur nach Server restart empfangen (für kurze Zeit), nicht nach newMail: Disconnected - newMail: connected
LG
det.

det.

Hallo Andre,
hatte da gestern abend die Idee, den STRATO imap Account einfach fortlaufend etwas zu beschäftigen um die Verbindung nicht abreissen zu lassen.  Ist absolut nicht elegant, aber funktioniert ohne Programmierkenntnisse: define TEST at +*00:10 get newMail folders . Das liefert aller 10 min die völlig uninteressante Liste der imap Ordner zurück, aber dadurch hatte ich letzte Nacht nur einen reconnect und der Mailempfang geht wie gewünscht nach wie vor.
LG
det.

justme1968

ok. dann baue ich das pollen auch bei idle mit ein.

bei mobile me geht der empfang auch ohne pollen und nach beliebig vielen reconnects. so viel zu standards :)

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

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

betateilchen

Das schöne an Standards ist eben, dass jeder seinen eigenen macht...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!