Emailversand mehrfach mit Raspberry

Begonnen von Sonic, 27 Dezember 2014, 11:31:28

Vorheriges Thema - Nächstes Thema

Sonic

Hallo an das Forum,

ich bin nun leider mit meinen Ideen am Ende.
Nach stundenlangem suchen im Forum und Wiki habe ich zwar Beiträge dazu gefunden, konnte aber das Problem nicht lösen.
Problem: ich bekomme immer mehrere Mails hintereinander für eine Aktion vom Raspberry, obwohl ich nur ein einfaches notify angelegt habe.
Ich arbeite mit Debian Sendmail unter Wheezy

Hier ein Auszug aus dem FEHM LOG:
2014.12.26 04:05:00 1: sendEmail RCP: klaus@test.de
2014.12.26 04:05:00 1: sendEmail Subject: Alarm
2014.12.26 04:05:00 1: sendEmail Text: Automatik hat Fussbodenheizung soeben ab oder an geschaltet
2014.12.26 04:05:05 1: sendEmail returned: Dec 26 04:05:05 raspberry1 sendEmail[6420]: Email was sent successfully!
2014.12.26 04:05:05 1: sendEmail RCP: klaus@test.de
2014.12.26 04:05:05 1: sendEmail Subject: Alarm
2014.12.26 04:05:05 1: sendEmail Text: Automatik hat Fussbodenheizung soeben ab oder an geschaltet
2014.12.26 04:05:11 1: sendEmail returned: Dec 26 04:05:11 raspberry1 sendEmail[6424]: Email was sent successfully!
2014.12.26 04:07:00 1: sendEmail RCP: klaus@test.de
2014.12.26 04:07:00 1: sendEmail Subject: Alarm
2014.12.26 04:07:00 1: sendEmail Text: Automatik hat Fussbodenheizung soeben ab oder an geschaltet
2014.12.26 04:07:05 1: sendEmail returned: Dec 26 04:07:05 raspberry1 sendEmail[6428]: Email was sent successfully!
2014.12.26 04:07:05 1: sendEmail RCP: klaus@test.de
2014.12.26 04:07:05 1: sendEmail Subject: Alarm
2014.12.26 04:07:05 1: sendEmail Text: Automatik hat Fussbodenheizung soeben ab oder an geschaltet
2014.12.26 04:07:11 1: sendEmail returned: Dec 26 04:07:11 raspberry1 sendEmail[6432]: Email was sent successfully!

----------------------------------------------------------------------------------


In der FHEM .cfg löse ich den Mailversand mit folgendem notify Eintrag aus:

define Fussbodautom_email notify WZ_Fussbodenheizung {\
DebianMail('klaus@@test.de','Alarm','Automatik hat Fussbodenheizung soeben ab oder an geschaltet');;\
}

Was mache ich falsch ? Ich wäre sehr für Eure Hilfe dankbar.


Ergänzung: Schicke ich aus der Eingabeaufforderung aus FHEM mit {DebianMail('klaus@@test.de','Alarm','AlarmGetriggert')}, eine Mail manuel, funktioniert es wunderbar. Es wird hier nur eine Mail versendet.  :-\

Noch eine Frage: Wenn mein Raspbery über Sendmail eine Mail versendet, dann ist er mindestens für 15-20 Sekunden nicht mehr erreichbar. Scheinbar verlangt das Versenden eine Mail über Sendmail alle Systemresourcen. Ist das normal oder liegt es u.U an meiner falschen Konfiguration ?
----------------------------------------------------------------------------------------

Hier noch meine 99myUtlis.pm
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

######## DebianMail  Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $sender = "klaus\@testmail.de";
my $konto = "klaus\@testmail.de";
my $passwrd = "test";
my $provider = "smtp.smart-mail.de:25";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";

$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=no -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}


sub
myUtils_Initialize($$)
{
my ($hash) = @_;
my $NewMailtime = time;
}
1;

--------------------------------------------------------
ich bedanke mich vorweg beim Forum
gruss aus dem Allgäu
Klaus

krikan

Zitat von: Sonic am 27 Dezember 2014, 11:31:28
define Fussbodautom_email notify WZ_Fussbodenheizung {\
DebianMail('klaus@@test.de','Alarm','Automatik hat Fussbodenheizung soeben ab oder an geschaltet');;\
}
Dein notify wird wird bei jedem Event von WZ_Fussbodenheizung ausgeführt. Kann das schon Dein Problem verursachen? Leider verrätst Du nicht was hinter dem WZ_Fussbodenheizung steckt und Log mit Events sehe ich auch nicht.

Sonic

Hallo Krikan,
vielen Dank für deine Nachricht.

Ich habe angefügt, was hienr WZ_Fussbodenheizung steckt.
Es ist ein FS20 Schalter, mit dem ich einfach die Pumpe der Fussbodenheizung abschalte.

define WZ_Fussbodenheizung FS20 1b1b 09
attr WZ_Fussbodenheizung IODev SCC
attr WZ_Fussbodenheizung room Heizung
attr WZ_Fussbodenheizung model fs20st
define FileLog_WZ_Fussbodenheizung FileLog ./log/WZ_Fussbodenheizung-%Y.log WZ_Fussbodenheizung
attr FileLog_WZ_Fussbodenheizung logtype text
attr FileLog_WZ_Fussbodenheizung room Logfiles

Noch eine Frage:
Wie kann ich Events loggen ?

danke vorab
gruss

krikan

Kenne FS20 leider(?) nicht. Was siehst Du im Event-Monitor, wenn Du den Schalter drückst. Alternativ ändere Dein WZ_Fussbodenheizung im notify auf WZ_Fussbodenheizung:off und schau mal, ob das etwas ändert.

Sonic

Hallo krikan,

habe dank deines Event Hinweis folgendes erreicht:

define Fussbodautom_emailein notify WZ_Fussbodenheizung:on {\
DebianMail('klaus@@test.de','Alarm','Automatik hat Fussbodenheizung soeben eingeschaltet');;\
}
attr WZ_Fussbodenheizung event-on-change-reading state 

Nun scheint es so, das nur noch eine Mail kommt. :) SUUUPER
Offensichtlich ist ohne dem Zusatz: attr WZ_Fussbodenheizung event-on-change-reading state,,,, bei einem schalten des Schalters
eine Auslösung von mehreren Emails nicht zu verhinden.

Vermutlich besteht ein einfaches schalten auch aus mehreren Events ??


Kannst du oder jemand hier im Forum mir das erklären ?

vielen DANK


krikan

Zitat von: Sonic am 27 Dezember 2014, 20:03:40
Vermutlich besteht ein einfaches schalten auch aus mehreren Events ??
Genau deshalb solltest Du bitte nachschauen, was im Event-Monitor von Fhem beim Tastendruck passiert. Nur in Kenntnis der Events kann ich als Nicht-FS20-User, was genaueres sagen.

Zitat von: Sonic am 27 Dezember 2014, 20:03:40
attr WZ_Fussbodenheizung event-on-change-reading state 
Das könnte auch auf den Einsatz von Repeatern hindeuten. Wenn Du aber die Events ohne das Attribut mitteilst, dann s.o.

Sonic

OHHH da hast du vermutlich Recht.
Ich habe einen Repeater im Haus.
Den habe ich ganz vergessen.

Ich werde das Testen und berichten.

Danke nochmal