Hallo,
habe auf meiner FB7390 FHEM installiert (nicht von AVM). Läuft auch als root.
Nach dieser Anleitung http://www.fhemwiki.de/wiki/E-Mail_senden bin ich vorgegangen
um aus FHEM heraus eine Mail zu versenden. Klappt aber nicht.
Ich hab schon Stunden hier im Forum gesucht, gelesen und probiert.
Wer kann mir helfen ohne Fachchinesisch, damit ich nicht wieder kreuz und quer lesen muss?
Meine "99_myUtils.pm" sieht so aus
package main;
use strict;
use warnings;
use POSIX;
use FritzBoxUtils;
sub
myUtils_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;
und damit habe ich es in FHEM versucht
{ fb_mail('empfaenger@mail.de','Subject','text 123') }
Muss ich noch irgend wo was ergänzen?
Danke im Voraus für jegliche Hilfe
Gruß Dieter
Ist das Thema hier überhaut richtig?
Falls nicht, sorry, bitte verschieben.
1. Mein Tip:
Wer kann mir helfen ohne Fachchinesisch, damit ich nicht wieder kreuz und quer lesen muss?
Wird die meisten Helfer abschrecken. Schließlich sind alle hier private Helfer ....
2. Hast Du mal auf der Konsole probiert, ob es funktioniert?
3. Was steht in den Logs?
4. Der Editor kennt CODE-Tags .... das macht es einfacher, einen beitrag zu lesen 8)
Schnelle Antwort, Danke.
zu1) Da geht´s schon los, weil:
zu2) wie geht das?
zu3) in welchen Logs finde ich da was? Hab nämlich auch schon gesucht.
zu4) so?
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");
}
Du gehst einfach mal per Konsole (Telnet, Putty etc. je nach Einstellung) auf Deine fb und probiert per Hand den Versand der Mail.
Also Quasi den Block
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");
Per Hand direkt in der Konsole, ohne system und Quotas ;o)
ok, gemacht, sieht so aus:
BusyBox v1.20.2 (2013-05-13 12:53:07 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
ermittle die aktuelle TTY
tty is "/dev/pts/0"
Console Ausgaben auf dieses Terminal umgelenkt
# system("/bin/echo \"$text\" > /var/tmp/fhem_nachricht.txt");
-sh: syntax error: unexpected word (expecting ")")
# system("/sbin/mailer send -i '/var/tmp/fhem_nachricht.txt' -s \"$subject\" -t
\"$rcpt\"");
-sh: syntax error: unexpected word (expecting ")")
# system("rm /var/tmp/fhem_nachricht.txt");
-sh: syntax error: unexpected word (expecting ")")
#
... lese bitte meinen Beitrag.
Ohne "system" und "quotas"
ala
/bin/echo "Toller test" > /var/tmp/fhem_nachricht.txt
/sbin/mailer send -i '/var/tmp/fhem_nachricht.txt' -s "Testmail" -t "test@test.de"
rm /var/tmp/fhem_nachricht.txt
Und bitte ... diesmal die EMail-Adresse anpassen. Sonst freut sich mal wieder test.de
aha, das ist also das berühmte "wer lesen kann ist klar im Vorteil" ;D
also ok, das hat dann mal geklappt, Mail ist angekommen.
Und nun?
muss ich hier meine Daten eintragen?
Und wenn ja, wo?
my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];
Keiner eine Lösung für mich?
Oder stell ich mich zu blöd an? :-[
Hi,
Du brauchst in Deiner 99_myUtils keine Routine meht dafür, das ist Bestandteil der fhem Standardauslieferung.
Schau Dir mal den Wiki-Artikel dazu an, da steht's drin :)
Gruß, Uli
Das hab ich mir schon gefühlte 1000 mal durchgelesen, ich weiß nicht was ich falsch mache.
Heißt also den ganzen Code raus löschen?
Hatte ich auch schon, ging auch nicht.
Gruß Dieter
alles raus gelöscht und das in FHEM probiert
{ fb_mail('empfaenger@mail.de','Subject','text 123') }
dann kommt: -1
auch das versucht
{ FB_mail('empfaenger@mail.de','Subject','text 123') }
ohne Erfolg
99_myUtils.pm sieht jetzt übrigens so aus:
package main;
use strict;
use warnings;
use POSIX;
use FritzBoxUtils;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
1;
http://www.fhemwiki.de/wiki/E-Mail_senden#Fritz.21Box_7390
Auf der FritzBox 7390 ist diese Funktion seit 10/2012 Bestandteil der Fhem Standardauslieferung. Sie ist untergebracht in FritzBoxUtils.pm und heisst dort FB_mail($$$) (Groß-Kleinschreibung beachten).
Da der Dateiname von FritzBoxUtils.pm nicht mit 99_ beginnt, wird diese Programmdatei nicht automatisch beim Start von Fhem geladen. Fhem muss zum Laden dieser Programmdatei aufgefordert werden. Dazu (z. B. in 99_myUtils.pm) die Zeile use FritzBoxUtils; einfügen.
Aufruf dann mittels { FB_mail('empfaenger@mail.de','Subject','text 123') }
tja, ich schreib doch, den Link hab ich schon gefühlte 1000 mal angeklickt.
Und die 3 Sätze unzählige mal durchgelesen.
Ich steig einfach nicht dahinter und brauche Hilfe.
Zitat von: dk3572 am 05 März 2014, 20:19:32
Ich steig einfach nicht dahinter und brauche Hilfe.
Dann musst Du wohl konkrete Fragen stellen, denn m.E. steht alles da.
=8-)
hab die Datei FritzBoxUtils.pm jetzt mal mit dem WordPad geöffnet.
Muss ich da etwa Eintragungen vornehmen?
Nein.
Du musst Dir eine 99_myUtil.pm anlegen gemäß http://www.fhemwiki.de/wiki/99_myUtils_anlegen
und dort am Anfang
use FritzBoxUtils;
reinschreiben, speichern und dann wie im Wiki bseschrieben ins fhem Kommandofeld eingeben
reload 99_myUtils.pm
Danach kannst Du testen indem Du in das fhem Kommandofeld eingibst
{ FB_mail('empfaenger@mail.de','Subject','text 123') }
=8-)
jep, hab ich schon zig mal gemacht
package main;
use strict;
use warnings;
use POSIX;
use FritzBoxUtils;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
1;
das jetzt auch abermals gemacht
reload 99_myUtils.pm
und das was weiß ich wie oft schon in allen Variationen
{ FB_mail('empfaenger@mail.de','Subject','text 123') }
Ich habe mir ziemlich alles schon etliche mal durch gelesen.
Die verschiedensten Möglichkeiten probiert.
Es funktioniert einfach nicht und ich weiß nicht warum.
Deshalb hier mein Hilferuf.
Wie ich das noch konkreter Formulieren soll weiß ich leider auch nicht.
Was steht denn nach dem reload und nach dem {} im log?
Ist Dein install von AVM oder fhem.de?
=8-)
BTW ein Hinweis aus der Programmdatei:
- In FritzBox, Push-Service needs to be active
=8-)
meine Install ist von FHEM.
FB Push-Srvice funktioniert.
Bekomme regelmäßig Push Nachricht und habe es extra noch mal getestet.
hier mal ein Auszug aus meiner Log, wenn die das denn sein sollte?
2014.03.05 20:24:05.542 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:1ECC89E4 d:FF r:FFB8 m:34 8410 20AB52 246BDF 06011100
2014.03.05 20:28:25.864 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:1ED082F0 d:FF r:FFB8 m:35 8410 20AB52 246BDF 06011100
2014.03.05 20:34:22.507 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:1ED5F44D d:FF r:FFB8 m:36 8410 20AB52 246BDF 06011100
2014.03.05 20:39:50.913 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:1EDAF757 d:FF r:FFB7 m:37 8410 20AB52 246BDF 06011900
2014.03.05 20:44:51.092 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:1EDF8C1B d:FF r:FFB8 m:38 8410 20AB52 246BDF 06011E00
2014.03.05 20:49:23.539 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:1EE3B486 d:FF r:FFB7 m:39 8410 20AB52 246BDF 06011E00
2014.03.05 20:53:27.760 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:1EE76EAA d:FF r:FFB8 m:3A 8410 20AB52 246BDF 06011E00
2014.03.05 20:59:08.295 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:1EECA117 d:FF r:FFB8 m:3B 8410 20AB52 246BDF 06011E00
Das fhem-log erreichst Du, wenn Du links im fhem-Menü im untersten Block auf "Logfile" klickst.
Der Auszug oben sieht nach logfile aus, könnte aber auch das logfile eines HM-Geräts sein, da sonst keine Meldungen zu sehen sind.
Nach einem
{ FB_mail('empfaenger@mail.de','Subject','text 123') }
muss im log entweder eine Fehlermeldung stehen oder "Mail sent to ..."
=8-)
eben genau so ausgeführt und im Log steht nichts.
2014.03.05 21:04:21.090 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:1EF16724 d:FF r:FFB8 m:3C 8410 20AB52 246BDF 06011E00
2014.03.05 21:09:05.659 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:1EF5BEEB d:FF r:FFB7 m:3D 8410 20AB52 246BDF 06011E00
2014.03.05 21:13:22.013 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:1EF9A875 d:FF r:FFB8 m:3E 8410 20AB52 246BDF 06011E00
Liegt da vielleicht der Hund begraben?
hier mal mein kompletter Log, der hat sich nämlich am 04.03.2014 um 15:29 plötzlich geändert.
2014.03.04 12:44:14 2: CUL_HM set Hof_Licht statusRequest
2014.03.04 12:46:54 2: CUL_HM set Hof_Licht statusRequest
2014.03.04 12:51:02 2: CUL_HM set Hof_Licht statusRequest
2014.03.04 12:53:31 2: CUL_HM set Hof_Licht statusRequest
2014.03.04 12:57:13 2: CUL_HM set Hof_Licht statusRequest
2014.03.04 13:00:10 2: CUL_HM set Hof_Licht statusRequest
2014.03.04 13:04:24 2: CUL_HM set Hof_Licht statusRequest
2014.03.04 13:05:20 2: CUL_HM set Hof_Licht regSet lgCtValHi 200 Hof_BM_hinten
2014.03.04 13:05:24 2: CUL_HM set Hof_Licht getConfig
2014.03.04 13:05:38 2: CUL_HM set Hof_Licht getConfig
2014.03.04 13:07:55 2: CUL_HM set Hof_Licht statusRequest
2014.03.04 13:10:29 2: CUL_HM set Hof_Licht statusRequest
2014.03.04 13:34:07 2: CUL_HM set Hof_Licht statusRequest
2014.03.04 13:36:10 2: CUL_HM set Hof_Licht statusRequest
2014.03.04 14:39:41 2: CUL_HM set Hof_Licht statusRequest
2014.03.04 14:51:14 2: CUL_HM set Hof_Licht statusRequest
2014.03.04 15:15:01 2: CUL_HM set Hof_Licht regSet shCtValLo 200 Hof_BM_hinten
2014.03.04 15:15:05 2: CUL_HM set Hof_Licht getConfig
2014.03.04 15:15:22 2: CUL_HM set Hof_Licht getConfig
2014.03.04 15:29:54.533 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:189897BD d:FF r:FFB6 m:AD 8410 20AB52 246BDF 0601D500
2014.03.04 15:35:46.392 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:189DF668 d:FF r:FFB6 m:AE 8410 20AB52 246BDF 0601D500
2014.03.04 15:41:10.204 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:18A2E77F d:FF r:FFB6 m:AF 8410 20AB52 246BDF 0601D500
2014.03.04 15:46:05.737 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:18A76A1C d:FF r:FFB6 m:B0 8410 20AB52 246BDF 0601D500
2014.03.04 15:50:33.482 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:18AB8027 d:FF r:FFB7 m:B1 8410 20AB52 246BDF 0601D500
2014.03.04 15:52:57.415 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:18ADB27B d:FF r:FFB6 m:B2 A441 20AB52 23E5E0 011BD470
2014.03.04 15:52:57.540 0: HMLAN_Parse: HMLAN1 R:E23E5E0 stat:0000 t:18ADB2F9 d:FF r:FFB7 m:B2 8002 23E5E0 20AB52 0101C84035
2014.03.04 15:52:58.439 0: HMLAN_Send: HMLAN1 S:S8D95580A stat: 00 t:00000000 d:01 r:8D95580A m:13 A001 246BDF 23E5E0 010E
2014.03.04 15:52:58.600 0: HMLAN_Parse: HMLAN1 R:E23E5E0 stat:0000 t:18ADB71D d:FF r:FFB7 m:13 A410 23E5E0 246BDF 0601C8404D
2014.03.04 15:52:58.721 0: HMLAN_Parse: HMLAN1 R:R8D95580A stat:0001 t:18ADB722 d:FF r:FFB7 m:13 A410 23E5E0 246BDF 0601C8404D
2014.03.04 15:54:32.937 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:18AF27AD d:FF r:FFB6 m:B3 8410 20AB52 246BDF 0601D400
2014.03.04 15:55:01.128 0: HMLAN_Parse: HMLAN1 R:E23E5E0 stat:0000 t:18AF95D0 d:FF r:FFB8 m:14 8410 23E5E0 000000 06010000
2014.03.04 15:59:24.926 0: HMLAN_Parse: HMLAN1 R:E20AB52 stat:0000 t:18B39C70 d:FF r:FFB6 m:B4 A441 20AB52 23E5E0 011CD470
2014.03.04 15:59:25.053 0: HMLAN_Parse: HMLAN1 R:E23E5E0 stat:0000 t:18B39CEF d:FF r:FFB7 m:B4 8002 23E5E0 20AB52 0101C84035
2014.03.04 15:59:25.951 0: HMLAN_Send: HMLAN1 S:S8D9B41C1 stat: 00 t:00000000 d:01 r:8D9B41C1 m:14 A001 246BDF 23E5E0 010E
2014.03.04 15:59:26.114 0: HMLAN_Parse: HMLAN1 R:E23E5E0 stat:0000 t:18B3A113 d:FF r:FFB6 m:14 A410 23E5E0 246BDF 0601C8404E
2014.03.04 15:59:26.233 0: HMLAN_Parse: HMLAN1 R:R8D9B41C1 stat:0001 t:18B3A118 d:FF r:FFB6 m:14 A410 23E5E0 246BDF 0601C8404E
2014.03.04 15:59:36.497 0: HMLAN_Parse: HMLAN1 R:E23E5E0 stat:0000 t:18B3C9A5 d:FF r:FFB8 m:16 8410 23E5E0 000000 06010000
Keine Ahnung was ein HM-Krams mit email zu tun haben sollte.
Wenn Du alles so gemacht hast wie oben und in den Wikis beschrieben und ann keine Fehlermeldung kommt, weiss ich leider auch nicht weiter.
Dann kann's m.E. höchstens noch an den Linux-Berechtigungen liegen, siehe http://www.fhemwiki.de/wiki/FritzBox:_fhem_unter_root_starten
Du müsstest bitte etwas genauer beschreiben was Du machst, also zB welche Schritte Du genau ausgeführt hast bevor Du den Log-Auszug kopiert hast.
=8-)
Zitat von: UliM am 05 März 2014, 20:40:31
Nein.
Du musst Dir eine 99_myUtil.pm anlegen gemäß http://www.fhemwiki.de/wiki/99_myUtils_anlegen
und dort am Anfang
use FritzBoxUtils;
reinschreiben, speichern und dann wie im Wiki bseschrieben ins fhem Kommandofeld eingeben
reload 99_myUtils.pm
Danach kannst Du testen indem Du in das fhem Kommandofeld eingibst
{ FB_mail('empfaenger@mail.de','Subject','text 123') }
=8-)
genau das habe ich gemacht
das steht in FHEM nach restart
SecurityCheck:
WEB,WEBphone,WEBtablet has no basicAuth attribute.
telnetPort has no password/globalpassword attribute.
Running with root privileges.
Restart fhem for a new check if the problem is fixed,
or set the global attribute motd to none to supress this message.
Läuft doch als root?
Zitat von: dk3572 am 05 März 2014, 21:32:38
Running with root privileges.
Läuft doch als root?
Zumindest steht das da, ja.
Ich bindann mal weg - Abendessen ruft :)
Ok, danke erst mal und Mahlzeit.
Vielleicht gelingt es Morgen mit Unterstützung ;)
Gruß Dieter
Guten Morgen,
hab gute Neuigkeiten, zumindest für mich ;-)
FHEM neu installiert. FHEM Update gemacht. Leider alle Daten/Einstellungen weg. Waren bis jetzt aber nur 2 Geräte.
Aber siehe da, Mail Versand funktioniert und Logfile ist auch korrekt. Allerdings bekomme ich die Mails an die 10mal.
Das habe ich zum Testen definiert:
define Test_Mail notify Hof_Licht {FB_mail('meinname@@mail.de','Hof Licht','Hof Licht ist an.')}
Und, vermutl. durch das Versenden der vielen Mails, wurde FHEM extrem langsam.
Warum das so ist weiß ich noch nicht, bekomme ich aber auch noch raus. Bin ja lese- und lernwillig.
Oder gibt es hier evtl. eine Antwort darauf :-[
Also vielen Dank noch mal für die Geduld
und Gruß
Dieter
Sieh mal im Event Monitor nach, welche Events alle für Hof_Licht anfallen.
Vielleicht solltest du deine Mail nur triggern, wenn das Licht wirklich angeht:
define Test_Mail notify Hof_Licht:an {FB_mail('meinname@@mail.de','Hof Licht','Hof Licht ist an.')}
Gruß,
Gero
ja, bin ich auch von selbst drauf gekommen aber hier nicht mehr berichtigt, sorry. Funktioniert also.
Jetzt hab ich allerdings folgendes Problem:
2014.03.06 10:36:44 2: CUL_HM set Hof_Licht on
2014.03.06 10:36:48 2: CUL_HM set Hof_Licht off
2014.03.06 10:52:39 2: CUL_HM set Hof_Licht statusRequest
2014.03.06 10:55:15 2: CUL_HM set Hof_Licht statusRequest
2014.03.06 11:16:08 2: CUL_HM set Hof_Licht statusRequest
2014.03.06 11:23:52 2: CUL_HM set Hof_Licht statusRequest
2014.03.06 12:36:56 2: CUL_HM set Hof_Licht statusRequest
Woher kommt der statusRequest?
Ein- und Ausschalten funktioniert.
Gruß Dieter