Email Benachrichtigung

2184 views
Skip to first unread message

mcflori2

unread,
Sep 6, 2012, 4:26:15 PM9/6/12
to fhem-...@googlegroups.com
Ich habe schon nahezu alle threads durchgeackert, aber bei mir will es nicht.
Kurz zu meiner Hardware...

FritzBox 7390
CUL Stick 868 Mhz
FS20 Komponenten (Steckdose, Funkschalter, Rolladenschalter....)

Meine Hardware und die Zeitschaltungen funktionieren einwandfrei.

Allerdings würde ich gerne eine E-Mail Benachrichtigung von FHEM erhalten,
die mich an den Müll (gelber Sack, usw.) erinnert.
Ich habe das ganze aus dem FHEM Wiki übernommen, und teilweise angepasst,
aber die FB will mir ums verrecken keine E-Mail senden.
Ich hoffe irgendwer kann mir hier helfen.

Hier mal die configs...

fhem.cfg :

###############
#MÜLLERINNERUNG#
###############

define events holiday
attr events room 6-Erinnerungen # optional
define CheckEventHeute at *19:58:00 {\
  my $Eventname;;\
  my $EventHeute;;\
  $EventHeute = fhem("get events ".strftime("%m-%d",localtime()));;\
  print $EventHeute;;\
  if ($EventHeute ne "none") {\
$Eventname = "Reminder: $EventHeute" ;;\
    FBMail('f...@flo.com',$Eventname,$Eventname);;\ }\
}
attr CheckEventHeute room 6-Erinnerungen #optional



99_MyUtils.pm :


package main;
use strict;
use warnings;

sub
MyUtils_Initialize($$)
{
  my ($hash) = @_;
}

######## FBMail Mail auf der FB7390 versenden  ############
# Aufrufbeschreibung    FBMail('mail@@domain.com','Subject Test','Mailtext Test123') in fhem.cfg dann:
# define Mail notify Fenstergriff.*|Tuersensor.* { FBMail('mail@@domain.com','Das ist der Betreff','Das ist der Mail-Body') }

sub
FBMail{
  my $rcpt = $_[0];
  my $subject = $_[1];
  my $text = $_[2];
  my $ret = "";
  my $tmpfile = "/var/media/ftp/fhem/log/fhem_mail.txt";
$ret .=  system("/bin/echo \'$text\' > \'$tmpfile\' && /sbin/mailer -i \'$tmpfile\' -s \'$subject\' -t \'$rcpt\' && /bin/rm \'$tmpfile\'");
$ret =~ s,[\r\n]*,,g;        # remove CR from return-string
}
##--------------------  End sub FBMail   ---------------------------------##

1;


LogFile :


Subroutine MyUtils_Initialize redefined at /usr/share/fhem/FHEM/99_MyUtils.pm line 7.
Subroutine FBMail redefined at /usr/share/fhem/FHEM/99_MyUtils.pm line 16.
2012.09.06 19:57:47 2: FHEMWEB port 8083 opened
2012.09.06 19:57:47 2: FHEMWEB port 8084 opened
2012.09.06 19:57:47 2: FHEMWEB port 8085 opened
2012.09.06 19:57:47 3: Opening CUL device /dev/ttyACM0
2012.09.06 19:57:47 3: Setting CUL baudrate to 9600
2012.09.06 19:57:47 3: CUL device opened
2012.09.06 19:58:00 3: syntax error at (eval 146) line 1, at EOF


Hat irgendwer ne Idee warum da nix geschickt wird?
Und wie finde ich raus, unter welchem Benutzer (root oder user) FHEM läuft.
Bzw. wie setze ich es auf root?

Auf Hilfe hoffende Grüße

Flo

UliM

unread,
Sep 7, 2012, 3:52:39 AM9/7/12
to fhem-...@googlegroups.com
Hi,
was mir auffällt: Die Routinendefinition sieht keine Übergabeparameter vor, soll jedoch mit Parameter(n) aufgerufen werden.
Kopierfehler aus dem Wki?

Syntaxerror at EOF resultiert meist aus fehlerhafter Klammerschachteulung.

Welche Fehlermeldung kommt bei reload von myUtils?
Wenn keine: Welche Meldungen kommen bei Aufrufder Routineaus dem fhem-Kommandofeld?
Gruß Uli

kostra

unread,
Sep 8, 2012, 3:04:17 AM9/8/12
to FHEM users
Hi,
ich häng mich hier mal dran, da ich das gleiche Problem habe.
FHEM läuft ebenfalls auf einer FB7390 (version Fhem 5.2 (DEVELOPMENT),
$Id: fhem.pl 1764 2012-07-28 06:27:09Z rudolfkoenig $, pid 5847).
Die sub sah bei mir so aus (aus dem WIKI kopiert):
sub
fb_mail
{
my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];
system("/bin/echo \"$text\" > /var/tmp/fhem_nachricht.txt");
system("/sbin/mailer send -i '/var/tmp/fhem_nachricht.txt' -s
\"$subject\" -t \"$rcpt\"");
system("rm /var/tmp/fhem_nachricht.txt");
}

und bei einem reload kommt folgende Fehlermeldung:
Undefined subroutine &main::FBMail_Initialize called at fhem.pl line
1504.

Was mich an dem WIKI-Eintrag stört, sind die fehlenden
Übergabeparameter (siehe auch Post von Uli), daher habe ich die sub
wie folgt abgeändert:
sub
fb_mail($$$)
{
my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];
system("/bin/echo \"$text\" > /var/tmp/fhem_nachricht.txt");
system("/sbin/mailer send -i '/var/tmp/fhem_nachricht.txt' -s
\"$subject\" -t \"$rcpt\"");
system("rm /var/tmp/fhem_nachricht.txt");
}
Dies ändert allerdings an der Fehlermeldung nichts :-(

Evtl. kann mir ja wer auf die Sprünge helfen...
Ach ja, und falls der WIKI Eintrag wirklich fehlerhaft ist, sollte
dieser unbedingt korrigiert werden!

Grüße
kostra

UliM

unread,
Sep 8, 2012, 4:26:39 AM9/8/12
to fhem-...@googlegroups.com
Wenn ich die Fehlermeldung richtig lese, wird ein fehlendes FBMail_Initialize angemeckert.
Das heisst, euer Programm steht in einer eigenen Programmdatei, in der aber die Initialize-Routine fehlt.

Also: Im Wiki den post '99 myUtils anlegen' lesen, den richtigen Rahmen um die Mailroutine bauen und nochmal testen.
Falls es immer noch Fehlermeldungen gibt, hier bitte den KOMPLETTEN Code aus der Datei schicken.

Geht's damit?

Geuß Uli

mcflori2

unread,
Sep 8, 2012, 4:45:47 AM9/8/12
to fhem-...@googlegroups.com
Da ich bei keinem Versuch eine Fehlermeldung erhalte, habe ich mal eine andere, aber ähnliche
Config ausprobiert.
Diese sieht wie folgt aus:

99_MyUtils.pm (Komplett):

package main;
use strict;
use warnings;

sub
MyUtils_Initialize($$)
{
  my ($hash) = @_;
}

sub fb_mail {
  my $rcpt = $_[0];
  my $subject = $_[1];
  my $text = $_[2];
  system("/bin/echo \"$text\" > /var/media/ftp/fhem/MAILER/TXT/fhem_nachricht.txt");
  system("/var/media/ftp/fhem/MAILER/mailer send -i '/var/media/ftp/fhem/MAILER/TXT/fhem_nachricht.txt' -s \"$subject\" -t \"$rcpt\"");
  system("rm /var/media/ftp/fhem/MAILER/TXT/fhem_nachricht.txt");
}

1;


fhem.cfg  (Routine)


###############
#MÜLLERINNERUNG#
###############

define events holiday
attr events room 6-Erinnerungen # optional
define CheckEventHeute at *10:33:00 {\
  my $Eventname;;\
  my $EventHeute;;\
  $EventHeute = fhem("get events ".strftime("%m-%d",localtime()));;\
  print $EventHeute;;\
  if ($EventHeute ne "none") {\
    $Eventname = "Reminder: $EventHeute" ;;\
    fb_mail('f...@flo.com',$Eventname,$Eventname);;\
  }\
}
attr CheckEventHeute room 5_SYSTEM #optional


Logfile Fehlermeldung

Subroutine MyUtils_Initialize redefined at /usr/share/fhem/FHEM/99_MyUtils.pm line 7.
Subroutine fb_mail redefined at /usr/share/fhem/FHEM/99_MyUtils.pm line 11.
2012.09.08 10:32:56 2: FHEMWEB port 8083 opened
2012.09.08 10:32:56 2: FHEMWEB port 8084 opened
2012.09.08 10:32:56 2: FHEMWEB port 8085 opened
2012.09.08 10:32:56 3: Opening CUL device /dev/ttyACM0
2012.09.08 10:32:56 3: Setting CUL baudrate to 9600
2012.09.08 10:32:56 3: CUL device opened
2012.09.08 10:33:00 3: get events 09-08 : TEST
TESTsh: can't create /var/media/ftp/fhem/MAILER/TXT/fhem_nachricht.txt: nonexistent directory
sh: /var/media/ftp/fhem/MAILER/mailer: not found
rm: can't remove '/var/media/ftp/fhem/MAILER/TXT/fhem_nachricht.txt': No such file or directory
2012.09.08 10:33:00 3: -1


Ich habe vorher die Pfade für die fhem_nachricht.txt in /var/tmp und für den Mailer in /sbin/Mailer. Da bekam ich die selbe
Fehlermeldung, allerdings mit den eben genannten Pfaden.

Ich bin davon ausgegangen, das Fhem kein Zugriff auf die Verzeichnisse hat, habe dann also den Mailer ins Fhem Verzeichnis gelegt
und den Pfad für die fhem_nachricht auch. Keine Änderung. Wenn ich das ganze allerdings per Telnet aufrufe, kann ich den Mailer 
einwandfrei benutzen und die Logdatei erstellen.
Kann das an den Berechtigungen liegen? Wenn ja, wie kann ich fhem mehr geben? Der Versuch mit chmod -R 777 ./* /per Telnet/ ist gescheitert,
dann kommt die Fehlermeldung:

Operation not permitted.

Irgendwer vielleicht ne Idee???

Rudolf Koenig

unread,
Sep 8, 2012, 5:30:46 AM9/8/12
to fhem-...@googlegroups.com
> Irgendwer vielleicht ne Idee???

Fhem ist von AVM.de ?

mcflori2

unread,
Sep 8, 2012, 6:47:56 AM9/8/12
to fhem-...@googlegroups.com
Ja, genau.
ist die Labs FW von AVM, installiert vor ca. 1 Monat.

Rudolf Koenig

unread,
Sep 8, 2012, 7:05:53 AM9/8/12
to fhem-...@googlegroups.com
> ist die Labs FW von AVM, installiert vor ca. 1 Monat.

Die AVM Version laeuft im chroot, die von fhem.de nicht. Die Email-Beispiele
setzen vermutlich eine normale Umgebung (also kein chroot) voraus.

Am besten bei AVM-Support um Hilfe bitten, und deren Antwort (falls sinnvoll :)
hier posten.

kostra

unread,
Sep 8, 2012, 4:35:42 PM9/8/12
to FHEM users
Hallo Uli und Rudolf,
vielen Dank für Eure Hinweise. Ob jeder Rudolfs Sarkasmus versteht,
wage ich aber zu bezweifeln...
Zurück zum Thema, Hinweis von Uli hat tatsächlich die Fehlermeldung
beseitigt (kaum macht man´s richts, geht´s...)
Allerdings erhalte ich immer noch keine Mail, sondern nach Eingabe von
{fb_mail('rich...@mail.de','Subject','text 123') }
die Ausgabe
-1
Mehr nicht. Was sagt mir dass? Wie kann ich es ändern? Ja sicher,
durch nachdenken...

Lösung: Der Push-Service in der FB muss eingerichtet sein! Zumindest
dieser Hinweis sollte im Wiki ergänzt werden...

Die Ausgabe "-1" erscheint jedoch nach wie vor, aber Hauptsache, die
Mail kommt an.

Grüße und Danke
kostra

mcflori2

unread,
Sep 9, 2012, 11:45:31 AM9/9/12
to fhem-...@googlegroups.com
Problem gelöst.

Es hing, wie Rudolf schon schrieb, an der AVM Firmware. Da ich nicht auf eine
Antwort vom Support warten wollte, bin ich wie folgt vorgegangen:

- 99_MyUtils.pm ,   fhem.cfg   ,   events.holiday     --->    gesichert.

- Normale AVM Labor Firmware für 7390 (OHNE Fhem) gedownloaded und installiert.

- FHEM Verzeichniss gelöscht.

- Die Firmware von fhem.de gedownloaded und drübergebügelt.

- Die 3 gesicherten Dateien wieder hergestellt.
  (Dabei ist darauf zu achten, das man nicht die komplette fhem.cfg, sondern nur seine defines kopiert.
  Erstes hat mir ((warum auch immer)) Fhem zerlegt. Habe von der originalen fhem.de/fhem.cfg natürlich
  keinen Backup erstellt.)

- Sicherheitshalber noch den Push-Service der FritzBox aktiviert

Jetzt funktioniert alles, einschließlich Benachrichtigunsmail.
Wunderbar!

Hier noch einmal die Configs, falls es jemand so nachmachen möchte.

fhem.cfg

define CheckEventHeute at *17:15:00 {\

  my $Eventname;;\
  my $EventHeute;;\
  $EventHeute = fhem("get events ".strftime("%m-%d",localtime()));;\
  print $EventHeute;;\
  if ($EventHeute ne "none") {\
    $Eventname = "Reminder: $EventHeute" ;;\
    fb_mail('f...@flo.com',$Eventname,$Eventname);;\
  }\
}
attr CheckEventHeute room 5_SYSTEM



99_MyUtils.pm

package main;
use strict;
use warnings;

sub
MyUtils_Initialize($$)
{
  my ($hash) = @_;
}

sub fb_mail {

  my $rcpt = $_[0];
  my $subject = $_[1];
  my $text = $_[2];
  system("echo \"$text\" > fhem_nachricht.txt");
  system("mailer send -i 'fhem_nachricht.txt' -s \"$subject\" -t \"$rcpt\"");
  system("rm fhem_nachricht.txt");
}

1;


events.holiday

# FORMAT: MM-TT
1 09-12 Gelber_Sack_morgen
1 10-10 Gelber_Sack_morgen
1 11-07 Gelber_Sack_morgen
1 12-05 Gelber_Sack_morgen

1 09-26 Altpapier_morgen
1 10-24 Altpapier_morgen
1 11-21 Altpapier_morgen
1 12-19 Altpapier_morgen

1 09-19 Muell_morgen
1 10-03 Muell_morgen
1 10-17 Muell_morgen
1 11-01 Muell_morgen
1 11-14 Muell_morgen
1 11-28 Muell_morgen
1 12-12 Muell_morgen
1 12-26 Muell_morgen

1 09-09 TEST

Logfile (Interessehalber)

2012.09.09 17:15:00 3: get events 09-09 : TEST
2012.09.09 17:15:02 3: -1

Wie ihr seht, steht das Log immer noch auf -1, aber funktioniert tadellos.

Vielen Dank euch allen für die schnelle und ausführliche Hilfe
Sollte überall so sein.

Grüße
Flo


Rudolf Koenig

unread,
Sep 9, 2012, 5:27:34 PM9/9/12
to fhem-...@googlegroups.com
> ... bin ich wie folgt vorgegangen:

Die fhem.de Version versucht beim Installieren die alte AVM-Konfiguration
(falls vorhanden) zu konvertieren.

Carsten

unread,
Sep 10, 2012, 4:37:09 AM9/10/12
to fhem-...@googlegroups.com


- Normale AVM Labor Firmware für 7390 (OHNE Fhem) gedownloaded und installiert.

Du musst nichtmal die Laborversion verwenden. Bei mir läuft es auch ganz prima unter der Release-Version.
 

puschel74

unread,
Sep 18, 2012, 12:42:44 PM9/18/12
to fhem-...@googlegroups.com
Hallo,

der eventcheck mit dem senden der Events per Mail funktioniert von meiner FB7390 einwandfrei.
Allerdings habe ich im Betreff folgendes

=?iso-8859-1?Q?Reminder:<Text des Events>

stehen.
Stört nicht ist aber etwas "unschön".
Hat evtl. jemand eine Idee wie ich das =?iso-8859-1?Q? loswerden kann??
Danke schonmal.

Grüße

mcflori2

unread,
Sep 18, 2012, 12:49:44 PM9/18/12
to fhem-...@googlegroups.com
Das kann mit deinem Email Clienten zusammen hängen. Welches System und welchen clienten nutzt du?

puschel74

unread,
Sep 18, 2012, 1:03:53 PM9/18/12
to fhem-...@googlegroups.com
Hallo,

die Mail wird von einer FritzBox 7390 abgeschickt und das "Zielsystem" ist ein Win 7-64 bit mit Thunderbird 15.0.1
Danke für den Link - werd ich mir gleich mal anschauen.

Grüße

mcflori2

unread,
Sep 18, 2012, 1:05:55 PM9/18/12
to fhem-...@googlegroups.com
Check mal, wie es in deinem Webmail aussieht.

puschel74

unread,
Sep 18, 2012, 1:11:27 PM9/18/12
to fhem-...@googlegroups.com
Hallo,

äähhh. Da brauch ich die Zugangsdaten für Kabel-BW *grübel*.
Werd ich mal rauskramen am WE aber heute nicht mehr ;-)

Wie schon geschrieben - es stört (mich) nicht, meine bessere Hälfte findet es nur "komisch, was soll das heissen?" ;-)

Danke für die Hilfe schonmal - wenn ich im Webmail geschaut habe meld ich mich nochmal.

Grüße

Tom

unread,
Sep 18, 2012, 1:12:33 PM9/18/12
to fhem-...@googlegroups.com
ansonsten vermeide ganz einfach Umlaute. ;)

puschel74

unread,
Sep 18, 2012, 1:34:56 PM9/18/12
to fhem-...@googlegroups.com
Hallo,

Gute Idee ;-)
Aber wo werden hier Umlaute generiert?

define CheckEventHeute at *02:40:00 {\

  my $Eventname;;\
  my $EventHeute;;\
  $EventHeute = fhem("get events ".strftime("%m-%d",localtime()));;\
  print $EventHeute;;\
  if ($EventHeute ne "none") {\
    $Eventname = "Reminder: $EventHeute" ;;\
    fb_mail('meine.ma...@domain.dazu',$Eventname,$Eventname);;\
  }\
}

Grüße

Tom

unread,
Sep 18, 2012, 1:46:00 PM9/18/12
to fhem-...@googlegroups.com
Da es noch vor dem Wort "Reminder" kommt, scheint es aus Deiner fb_mail zu sein?
Oder könnte es damit zusammenhängen, dass Du das @ in Deiner Adresse
nicht verdoppelt hast?

puschel74

unread,
Sep 18, 2012, 1:49:28 PM9/18/12
to fhem-...@googlegroups.com
Hallo,

jep. Es kommt von meinem fb_mail das ich aus diesem Beitrag hier "entliehen" habe ;-)
Ob es mit einem nicht-verdoppeltem @ zusammenhängt weiß ich nicht - daher frag ich hier ja ;-)
Ich werds gleich mal versuchen.

Grüße

mcflori2

unread,
Sep 18, 2012, 2:01:42 PM9/18/12
to fhem-...@googlegroups.com
Ich hab bei mir das @ auch nicht verdoppelt, kommt trotzdem einwandfrei an.
Wie man aber aus anderen Beiträgen erkennen kann, ist das Doppel @ wohl ein
ungelöstes Phänomen.....


puschel74

unread,
Sep 18, 2012, 2:13:13 PM9/18/12
to fhem-...@googlegroups.com
Hallo,

so, hab grad ein @@ in die Mailadresse reingenommen.
Im Logfile werden mir die Events für heute angezeigt aber es wird mit @@ keine Mail geschickt.
Dafür steht im Logfile der FritzBox:
E-Mail-Zustellung gescheitert. SMTP-Server meldet: "550 5.5.0 <meine.mailadresse@@domain.dazu> domain missing or malformed".
Also wirds daran hoffentlich nicht liegen ;-)

Grüße

Tom

unread,
Sep 18, 2012, 3:51:12 PM9/18/12
to fhem-...@googlegroups.com
benutzt Du denn das fb_mail noch für andere Zwecke? Sieht das Ergebnis
dort korrekt aus?

was passiert, wenn Du statt der Variablen testweise mal einfach
Strings an die Funktion übergibst?

puschel74

unread,
Sep 19, 2012, 12:51:28 PM9/19/12
to fhem-...@googlegroups.com
Hallo,

fb_mail benutze ich im Moment nur für den Reminder.
Das mit dem String muss ich noch versuchen - werd ich gleich mal machen.

Grüße
Message has been deleted

puschel74

unread,
Sep 19, 2012, 1:54:21 PM9/19/12
to fhem-...@googlegroups.com
Hallo,

hab fb_mail mal abgeändert zu

+*00:02:00 {
  my $Eventname;
  my $EventHeute;
  $EventHeute = fhem("get events ".strftime("%m-%d",localtime()));
  print $EventHeute;
  if ($EventHeute eq "none") {
    $Eventname = "Reminder: $EventHeute" ;
    fb_mail('meine...@domain.dazu',"Nix los");
  }
}

und Tunderbird zeigt im Betreff:

Nix los

an.
Mit
$Eventname = "Reminder: $EventHeute" ;
    fb_mail('meine...@domain.dazu',$Eventname,$Eventname);
scheint wohl was daneben zu laufen - nur was?

Grüße

Tom

unread,
Sep 19, 2012, 1:54:51 PM9/19/12
to fhem-...@googlegroups.com
hier fällt mir eines auf:

> fb_mail('meine...@domain.dazu',"Nix los");

= 2 Parameter

> fb_mail('x...@yyy.zz',$Eventname,$Eventname);

= 3 Parameter, davon der letzte 2x - warum???

puschel74

unread,
Sep 19, 2012, 1:55:35 PM9/19/12
to fhem-...@googlegroups.com
Hallo,

keine Ahnung - weils so im ersten Posting steht ;-)

Grüße


Am Mittwoch, 19. September 2012 19:54:53 UTC+2 schrieb Borsti67:
hier fällt mir eines auf:

>     fb_mail('meine.mail@domain.dazu',"Nix los");

Tom

unread,
Sep 19, 2012, 2:03:46 PM9/19/12
to fhem-...@googlegroups.com
dann probier's doch mal ohne die Wiederholung. =8)

Am 19. September 2012 19:55 schrieb puschel74 <pusc...@gmx.net>:
> Hallo,
>
> keine Ahnung - weils so im ersten Posting steht ;-)
>
> Grüße
>
> Am Mittwoch, 19. September 2012 19:54:53 UTC+2 schrieb Borsti67:
>>
>> hier fällt mir eines auf:
>>
>> > fb_mail('meine...@domain.dazu',"Nix los");
>>
>> = 2 Parameter
>>
>> > fb_mail('x...@yyy.zz',$Eventname,$Eventname);
>>
>> = 3 Parameter, davon der letzte 2x - warum???
>
> --
> To unsubscribe from this group, send email to
> fhem-users+...@googlegroups.com

puschel74

unread,
Sep 19, 2012, 2:09:31 PM9/19/12
to fhem-...@googlegroups.com
Hallo,

grad versucht ;-)

Mit nur einem $Eventname klappts im Firefox.
Dann kommt
Reminder: none
an.
Danke für die Hilfe.
Wozu das zweimal im ersten Beitrag steht würd mich auch interessieren :-)

Grüße


Am Mittwoch, 19. September 2012 20:03:49 UTC+2 schrieb Borsti67:
dann probier's doch mal ohne die Wiederholung. =8)

Am 19. September 2012 19:55 schrieb puschel74 <pusc...@gmx.net>:
> Hallo,
>
> keine Ahnung - weils so im ersten Posting steht ;-)
>
> Grüße
>
> Am Mittwoch, 19. September 2012 19:54:53 UTC+2 schrieb Borsti67:
>>
>> hier fällt mir eines auf:
>>
>> >     fb_mail('meine.mail@domain.dazu',"Nix los");

Markus

unread,
Dec 29, 2012, 11:23:11 AM12/29/12
to fhem-...@googlegroups.com

Bei mir Funktioniert es nicht!

Ich weis nicht wo dieser pfad hinzeigen soll und welche Datei ich dort hinterlegen muß?

Gruß Markus

--
sent via http://forum.fhem.de

Roland

unread,
Dec 29, 2012, 11:39:52 AM12/29/12
to fhem-...@googlegroups.com

Hallo

im Ordner FHEM must du eine Textdatei namens event.holiday erstellen und passend füllen.
Sollte eigentlich im Wiki erklärt sein.
Oder welche Datei weisst du nicht wo ablegen?

Grüsse
--
FB7390 als FHEM-Plattform
FHT80B und FS20 über CUL/CUNO
Message has been deleted

Roland

unread,
Dec 29, 2012, 12:00:54 PM12/29/12
to fhem-...@googlegroups.com

Hallo

welche Plattform benutzt du?
Auf meiner 7390 klappt der Mailversand einwandfrei.

Markus

unread,
Dec 29, 2012, 12:00:53 PM12/29/12
to fhem-...@googlegroups.com

hab den wiki eintrag doch gefunden :-)
aber ich meine diese zeilen im log

sh: /var/media/ftp/fhem/mailER/mailer: not found
sh: /var/media/ftp/fhem/mailER/TXT/fhem_nachricht.txt: not found

Markus

unread,
Dec 29, 2012, 12:08:50 PM12/29/12
to fhem-...@googlegroups.com

ich hab auch die 7390

Gruß Markus

Markus

unread,
Dec 29, 2012, 12:39:57 PM12/29/12
to fhem-...@googlegroups.com

meine cfg:

attr events room 6_EVENTS # optional
attr events group Events #optional
define CheckEventHeute at *18:35:00 {\
my $Eventname;;\
my $EventHeute;;\
$EventHeute = fhem("get events today");;\
print $EventHeute;;\
if ($EventHeute ne "none") {\
$Eventname = "Reminder: $EventHeute" ;;\
FBMail('meine@mailadresset',$Eventname,$Eventname);;\
}\
}
attr CheckEventHeute room 5_SYSTEM #optional



meine 99_emailUtils.pm

##############################################
# $Id: 99_myUtils.pm $
package main;
use strict;
use warnings;

sub
email_Initialize($$)
{
my ($hash) = @_;
}

sub fb_mail {
my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];
system("echo \"$text\" > fhem_nachricht.txt");
system("mailer send -i 'fhem_nachricht.txt' -s \"$subject\" -t
\"$rcpt\"");
system("rm fhem_nachricht.txt");
}

1;





Fehlermeldung beim speichern:

ERROR:
Undefined subroutine &main::emailUtils_Initialize called at fhem.pl line 1518.





meine Logdatei:

2012.12.29 18:35:00 3: get events today : Geburtstag Thomas
2012.12.29 18:35:00 3: Undefined subroutine &main::FBMail called at (eval 366) line 1.

Geburtstag Thomas2012.12.29 18:35:14 2: dummy set Markus_Handy Anwesend

Markus

unread,
Dec 29, 2012, 2:45:05 PM12/29/12
to fhem-...@googlegroups.com

99_emailUtils.pm

##############################################
# $Id: 99_myUtils.pm $
package main;

use strict;
use warnings;
use POSIX;

sub
emailUtils_Initialize($$)
{
my ($hash) = @_;
}

sub fb_mail {
my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];
system("/bin/echo \"$text\" > /var/tmp/fhem_nachricht.txt");
system("/sbin/mailer send -i '/var/tmp/fhem_nachricht.txt' -s \"$subject\" -t \"$rcpt\"");
system("rm /var/tmp/fhem_nachricht.txt");
}

1;



im log steht jetzt

Use of uninitialized value in string lt at fhem.pl line 1803, <$fh> line 334.
2012.12.29 20:38:00 3: get events today : Geburtstag Thomas
2012.12.29 20:38:00 3: Undefined subroutine &main::FBMail called at (eval 1052) line 1.

Geburtstag Thomas2012.12.29 20:38:16 2: dummy set Markus_Handy Anwesend



und keine email :-(
--
FB7390 als FHEM-Plattform
HomeMatic über CUNO
Intertechno und FS20 über CUNO

Roland

unread,
Dec 30, 2012, 5:05:53 AM12/30/12
to fhem-...@googlegroups.com

Hallo,

also nochmal ganz langsam ;-)

Hier die Definition in der fhem.cfg

define events holiday

Danach die Datei events.holiday angelegt und entsprechend gefüllt:

1 11-21 GelberSack_morgen
1 12-19 GelberSack_morgen
1 12-21 Hausmuell_vorverlegt_morgen

Danach die Abfrage in der fhem.cfg (bei mir):

define CheckEventHeute at *02:40:00 {\
my $Eventname;;\
my $EventHeute;;\
$EventHeute = fhem("get events ".strftime("%m-%d",localtime()));;\
print $EventHeute;;\
if ($EventHeute ne "none") {\
$Eventname = "Reminder: $EventHeute" ;;\
fb_mail('xxxxxx....@aaaaaaa.bb',$Eventname);;\
}\
}
attr CheckEventHeute room 98_Notify

Und nun noch die fb_mail aus der 99_MyUtils.pm:

sub
MyUtils_Initialize($$)
{
my ($hash) = @_;
}

sub fb_mail {
my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];
system("echo \"$text\" > fhem_nachricht.txt");
system("mailer send -i 'fhem_nachricht.txt' -s \"$subject\" -t \"$rcpt\"");
system("rm fhem_nachricht.txt");
}

Damit bekomme ich immer dann eine Mail wenn die Abfrage in der events.holiday einen
Wert <> none zurückliefert.
Sprich am 21.22 kam die Mail mit GelberSack_morgen (logisch).
Evtl. hilft dir das ein bischen weiter.

Grüße

--
FB7390 als FHEM-Plattform
FHT80B und FS20 über CUL/CUNO

Roland

unread,
Dec 30, 2012, 5:11:34 AM12/30/12
to fhem-...@googlegroups.com

Tante Edith immer noch out-of-order.

Hast du in deiner FB auch den Mailversand aktiviert?
Ich meine das das notwendig ist um die FB dazu zu überreden
auch Mails zu versenden.

Markus

unread,
Dec 30, 2012, 6:47:47 AM12/30/12
to fhem-...@googlegroups.com

Danke!
Jetzt Funktioniert es! :-D
Ich habe jetzt folgenden logeintrag aber die Email habe ich bekommen!

Gruß Markus

Use of uninitialized value in string lt at fhem.pl line 1803, <$fh> line 336.
2012.12.30 12:39:00 3: get events 12-30 : test
testUse of uninitialized value $text in concatenation (.) or string at ./FHEM/99_emailUtils.pm line 20.
2012.12.30 12:39:00 3: -1
--
FB7390 als FHEM-Plattform
HomeMatic über CUNO
Intertechno und FS20 über CUNO
Reply all
Reply to author
Forward
0 new messages