Hallo!
Ich habe mir eine 99_sendEmail.pm Datei laut wiki erstellt die mir das Mailen über mein gmx-konto ermöglichen soll.
Ich möchte eine eMail wenn das Garagentor noch offen ist.
Ich habe zum Testen folgenen AT atGaragentorAufZu definiert
(Closed ist zum Test eingtragen da das Tor jetzt zu ist; jede Minute ausführen)
+*00:01 { if ( Value("AB_Garagentor_rechts") eq "Closed" ) { DebianMail('meine@email.mail','Garagentorstatus','Das Garagentor ist offen')} }
Nun bekomme ich weder eMail noch eine Info ins Log.
Wenn ich im AT-Code z.b. eine Klammer lösche sehe ich im fhem-log
eine Fehlermeldung.
In meiner 99_sendEmail.pm habe ich die Einträge "Log 1" gegen "Log 3" getauscht jedoch kam nicht mehr in die fhem-2013-09.log
Kann ich das Loggen höher stellen?
An der Console funktioniert der sendEmail-befehl mit den Angaben des gmx-postfaches.
Kann mir da jemand helfen?Danke
Hi Odie,
prüfe doch mal zuerst, ob das Mailen an sich funktioniert!
Hier (http://forum.fhem.de/index.php?topic=14675.msg93959#msg93959) gab es ähnliche Probleme, vielleicht hilft das schon.
Gruß
Frank
Morgen Frank!
Danke für deine Antwort.
Den Beitrag hatte ich gelesen und den Befehl {DebianMail('meine@adresse.mail','Subject','Text')}
im Webinterface abgesetzt. Ich habs nochmal gemacht :-)
Im Log steht 2013.09.11 08:25:22 3: sendEmail RCP: meine@adresse.mail
2013.09.11 08:25:22 3: sendEmail Subject: Subject
2013.09.11 08:25:22 3: sendEmail Text: Text
2013.09.11 08:25:25 3: sendEmail returned: Sep 11 08:25:25 raspberrypi2 sendEmail[2814]: Email was sent successfully!
D.h. für mich, dass mein Modul "99_sendEmail.pm" funktioniert (Mail kommt an) und der AT falsch ist.
Ich erkenne den Fehler im Befehl nicht :-( und wie gesagt das Log gibt nichts her.
Hallo,
im at-Befehl muss der @ durch @@ maskiert werden. Steht so auch im Wiki.
Grüße Jörg
Hab ich auch versucht. Ging auch nicht.
Ich verstehe nur nicht wieso nichts geloggt wird, es wäre dann sooo einfach.
Ha, wenn es so wäre, könnten es ja alle... ;o)
Du hast nicht die ganze Definition gepostet. Zur Sicherheit - ein at muss so def. werden:
define test at +*{10}00:01:00 {z.B. Perlcode}
Z.B. für 10 Widerholungen im Abstand von einer Minute.
Ich hatte mit dem at- Befehl schon öfter Probleme, sodass ich das at nur noch benutze um ein notify zu triggern, in welchem dann der Perlcode oder ein Systembefehl (an Linux)steht. Versuche es doch mal so. Bin da noch nicht ganz durchgestiegen, warum at weniger kann als notify.
Zum besseren Testen kannst du noch den Befehl
Log 1, 'Test Text';;
mit reinnehmen um zu sehen, ob was passiert und später anstatt "Test Text" auch Variablen damit ausgeben lassen. Landet dann alles im normalen Log. Dann so:
Log 1, "Inhalt Var.ABC: $ABC";;
Beispiel:
define AL_1_N notify AL_1_N:.*on.* { \
if (OldValue("AL_1_N") ne "on") { \
fhem("get 01_Cam image");;\
fhem("define Sync1_A at +00:00:16 trigger Func_Sync_GD_N");;\
Log 1, 'Melder Haustür hat angesprochen';; \
}\
}
Hier wird bei Ansprechen eines Melders ein Bild von einer Kamera geholt und 16 Sek später in die Cloud synchronisiert.
Gruß
Frank
Die Anlage des AT´s hab ich über das Eingabefeld im fhemweb gmacht.
define atGaragentorAufZu at +*00:01 { if ( Value("AB_Garagentor_rechts") eq "Closed" ) { DebianMail('meine@@email.mail','Garagentorstatus','Das Garagentor ist offen')} }
Alles getippt; nicht kopiert!
Damit wurde der AT innerhalb "Unsorted" angelegt und in den Eigenschaften der "DEF"
steht +*00:01 { if ( Value("AB_Garagentor_rechts") eq "Closed" ) { DebianMail('meine@@email.mail','Garagentorstatus','Das Garagentor ist offen')} }
wie ich schon angegeben habe :-)
Als es mit @@ nicht ging hatte ich einfach @ probiert. ABER nein
Zur Erinnerung "eq Closed" ist zum Testen.
Ich bau es mal um und teste erneut. DANKE :-)
Ich hatte mir auch schon überlegt shell-scripte zu bauen aber dann habe ich mich doch für das Modul entschieden.
Ich glaube mehrere scripte wäre einfacher und schneller gewesen ;-)
Sowas in der Art statt DebianMail Aufruf
{ system("/bin/mail.sh")} }
Andere AT-Befehle habe ich am Laufen die z.B. ein einfaches "set FS20ST1 on" ausführen.
Nur Mailen will nicht.
So! Ich habs nun geschafft.
Für mein (Verständnis)Problem zu lösen habe ich nun folgendes
als AT-Befehl
define atGaragentorStatus at *22:00 trigger GaragenStatusMail
als Notify
define GaragenStatusMail notify GaragenStatusMail { if ( ReadingsVal('AB_Garagentor_rechts', 'Window' ,'Open') eq "Open" ) {DebianMail('meine@@email.mail','Garagentorstatus','Das Garagentor ist offen')}}
Vielen Dank an alle die mir geholfen haben das fhem-System besser zu verstehen :-)
Und weiter geht´s......
Sehr schön, genau so meinte ich das. ;o)