Email Benachrichtigung

Begonnen von Guest, 06 September 2012, 22:26:15

Vorheriges Thema - Nächstes Thema

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
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

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
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

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

rudolfkoenig

                                                   

> Irgendwer vielleicht ne Idee???

Fhem ist von AVM.de ?

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

Guest

Originally posted by: <email address deleted>

Ja, genau.
ist die Labs FW von AVM, installiert vor ca. 1 Monat.



Am Samstag, 8. September 2012 11:30:48 UTC+2 schrieb Rudolf Koenig:
>
> > Irgendwer vielleicht ne Idee???
>
> Fhem ist von AVM.de ?
>

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

rudolfkoenig

                                                   

> 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.

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

Guest

Originally posted by: <email address deleted>

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

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

Guest

Originally posted by: <email address deleted>

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


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

rudolfkoenig

                                                   

> ... bin ich wie folgt vorgegangen:

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

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

Guest

Originally posted by: <email address deleted>

- 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.
 

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

Puschel74

                                               

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:

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

Am Montag, 10. September 2012 10:37:09 UTC+2 schrieb Carsten:
>
>
>
> - 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.
>  
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Guest

Originally posted by: <email address deleted>

Das kann mit deinem Email Clienten zusammen hängen. Welches System und
welchen clienten nutzt du?

((Siehe: http://drupal.org/node/1312694))


Am Dienstag, 18. September 2012 18:42:44 UTC+2 schrieb puschel74:
>
> 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:
>
> 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
>
> Am Montag, 10. September 2012 10:37:09 UTC+2 schrieb Carsten:
>>
>>
>>
>> - 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.
>>  
>>
>

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

Puschel74

                                               

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

Am Dienstag, 18. September 2012 18:49:44 UTC+2 schrieb mcflori2:
>
> Das kann mit deinem Email Clienten zusammen hängen. Welches System und
> welchen clienten nutzt du?
>
> ((Siehe: http://drupal.org/node/1312694))
>
>
> Am Dienstag, 18. September 2012 18:42:44 UTC+2 schrieb puschel74:
>>
>> 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:
>>
>> 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
>>
>> Am Montag, 10. September 2012 10:37:09 UTC+2 schrieb Carsten:
>>>
>>>
>>>
>>> - 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.
>>>  
>>>
>>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.