FHEM > fhem-users

Email Benachrichtigung

(1/9) > >>

Guest:
Originally posted by: <email address deleted>

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('flo@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

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

UliM:
                                                 

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

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest:
Originally posted by: <email address deleted>

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

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

UliM:
                                                 

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

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest:
Originally posted by: <email address deleted>

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('flo@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???

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln