Debugging der DebianMail-Funktion

Begonnen von Odie, 10 September 2013, 15:27:52

Vorheriges Thema - Nächstes Thema

Odie

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
fhem auf Raspi, USB-IR-Leseköpfen , CUL 868Mhz, CUL 433Mhz, PCA301, LaCrosse, Homematic

fiedel

Hi Odie,

prüfe doch mal zuerst, ob das Mailen an sich funktioniert!

Hier gab es ähnliche Probleme, vielleicht hilft das schon.

Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Odie

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.

fhem auf Raspi, USB-IR-Leseköpfen , CUL 868Mhz, CUL 433Mhz, PCA301, LaCrosse, Homematic

JoWiemann

Hallo,

im at-Befehl muss der @ durch @@ maskiert werden. Steht so auch im Wiki.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Odie

Hab ich auch versucht. Ging auch nicht.

Ich verstehe nur nicht wieso nichts geloggt wird, es wäre dann sooo einfach.
fhem auf Raspi, USB-IR-Leseköpfen , CUL 868Mhz, CUL 433Mhz, PCA301, LaCrosse, Homematic

fiedel

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
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Odie

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.
fhem auf Raspi, USB-IR-Leseköpfen , CUL 868Mhz, CUL 433Mhz, PCA301, LaCrosse, Homematic

Odie

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......
fhem auf Raspi, USB-IR-Leseköpfen , CUL 868Mhz, CUL 433Mhz, PCA301, LaCrosse, Homematic

fiedel

Sehr schön, genau so meinte ich das. ;o)
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423