Hilfestellung bei Email aus FHEM auf Fritzbox

Begonnen von datasette, 20 Januar 2013, 23:56:09

Vorheriges Thema - Nächstes Thema

datasette


Hallo liebes Forum,

ich habe jetzt 2-3 Stunden probiert und gegooglt, aber komme nicht weiter:

FHEM (auf Fritzbox 7390) soll mir eine Email schicken.

Die Anweisungen auf     http://www.fhemwiki.de/wiki/E-Mail_senden   habe ich gelesen.

Unter     http://192.168.178.1:8083/fhem?cmd=style%20edit%2099_Utils.pm     habe ich  sub fb_mail   eingefügt und die Fritzbox neu gestartet.

Jetzt habe ich Putty geöffnet und     { fb_mail('empfaenger@mail.de' ('empfaenger@mail.de'),'Subject','text 123') }     ausgeführt (natürlich mit einer richtigen Empfängeradresse) aber nichts funktioniert!

Push-Service ist in der Fritzbox aktiviert und schickt mir wöchentlich eine Zusammenfassung.

Was mache ich falsch?


DerTom

Hallo,

wenn Du den Beitrag gelesen hast, ist Dir sicher aufgefallen, daß dort steht:

Seit 10/2012 ist diese Funktion Bestandteil der fhem Standardauslieferung. Sie ist untergebracht in FritzBoxUtils.pm und heisst dort FB_mail($$$)

Du muss also nichts mehr in die 99_utils.pm eintragen. Lediglich der Aufruf änder sich ein wenig (Case-Sensitive). Bei mir funktionierts tadellos...

{ FB_mail('empfaenger@mail.de' ('empfaenger@mail.de'),'Subject','text 123') }

Dazu muss aber FHEM im non-chroot laufen...

UliM

Moin,
- die Funktion fb_mail hättest Du nicht einfügen müssen. Die Routine ist unter dem Namen FB_mail bereits vorhanden (Groß/Kleinschreibung beachten) - das steht auch im Wiki
- das funktioniert nur mit deer Version von fhem.de, das install von AVM.de lässt den Zugriff auf die Mailing-Funktion der Fritzbox nicht zu (habe das Wiki nun dahingehend aktualisiert)
- falls es auch dann noch nicht funktioniert, muss fhem ggf als root laufen. Probier erstmal die oberen beiden Schritte.

Wenn der Aufruf nicht funktioniert, müsste es Fehlermeldungen im log geben. Diese bitte immer mitposten, sonst ist remote-Hilfe schwierig.

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

datasette

Hallo!

Ich habe   http://fhem.de/fhem-5.3-fb7390.image    nochmal drüber-installiert. Die Einstellungen sind erhalten geblieben.

Danach in Putty folgendes eingegeben:

fhem> { FB_mail('MeineEmail@googlemail.com' ('MeineEmail@googlemail.com'),'Subject123','text 123') }
Undefined subroutine &main::FB_mail called at (eval 40) line 1.

Warum funktioniert das nicht? Wäre super, wenn jemand helfen könnte.

Nebenbei: Wo finde ich die ganzen unnötig von mir angelegten *.pm dateien? Ich möchte diese gern löschen (99_Utils_xxx.pm / own modules)?

Vielen Dank!

broadway

Auf der Kommandozeile gibst du nur ein:

FB_mail('MeineEmail@googlemail.com','Subject123','text 123')

Die Klammern {} sind für den Aufruf aus fhem.
Linksys NSLU2 debian + CUL | FHT80B, FS20, Elro

datasette


Guten Abend,

ich verzweifele... es klappt immernoch nicht. Auch ohne die geschweiften Klammern:


fhem> FB_mail('MeineEmail@googlemail.com' ('MeineEmail@googlemail.com'),'Subject123','text 123')
Unknown command fb_mail('meineemail@googlemail.com' ('meineemail@googlemail.com'),'subject123','text, try help


(FRITZ!OS 05.50 / Firmware-Version: 84.05.50)

datasette


Nachtrag:

Das könnte wichtig sein (beim einloggen mit Putty):

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


@Uli: somit läuft FHEM als root ?

langerhannes

Hallo,

ich hatte die gleiche FEHLER-Meldung!

Einfach mittels Editor folgendes in die 99_Utils.pm einfügen:

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");
}


Gruß

LH

P.S.: Nicht vergessen, in der config müssen @@ in der E-Mail Adresse eingetragen werden!
FHEM CUL FS20 auf Fritz 7390

MAX Thermostat und Fensterkontakt
Alarmanlage mit MAX Fensterkontakten

datasette

Hallo!

Danke, ich habe den Code in der "99_Utils.pm"  wie unten zu sehen eingefügt.

Danach in Putty "shutdown restart"

Danach in Putty "fb_mail('xxxxx@googlemail.com' ('xxxxx@googlemail.com'),'Subject123','text 123')" gestestet.

---> "Unknown command"   :-((


##############################################
# $Id: 99_Utils.pm 1932 2012-10-06 20:15:33Z ulimaass $
package main;

use strict;
use warnings;
use POSIX;

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");
}

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

sub
time_str2num($)


.... usw ....



und hier das Logfile:

2013.01.22 19:42:16 0: Server shutdown
2013.01.22 19:42:20 1: Including /etc/fhem.cfg
2013.01.22 19:42:20 1: reload: Error:Modul 99_MyUtils deactivated:

2013.01.22 19:42:20 1: reload: Error:Modul 99_Utils1 deactivated:
 
2013.01.22 19:42:21 3: WEB: port 8083 opened
2013.01.22 19:42:21 3: WEBphone: port 8084 opened
2013.01.22 19:42:21 3: WEBtablet: port 8085 opened
2013.01.22 19:42:22 3: Opening CUL_0 device /dev/ttyACM0
2013.01.22 19:42:22 3: Setting CUL_0 baudrate to 9600
2013.01.22 19:42:22 3: CUL_0 device opened
2013.01.22 19:42:22 3: CUL_0: Possible commands: BCFiAZEGMRTVWXefmltux
2013.01.22 19:42:22 3: telnetPort: port 7072 opened
2013.01.22 19:42:23 1: Including /var/log/fhem/fhem.save
2013.01.22 19:42:23 1: usb create starting
2013.01.22 19:42:23 3: Opening CUL device /dev/ttyACM1
2013.01.22 19:42:23 3: Can't open /dev/ttyACM1: Invalid argument
2013.01.22 19:42:23 3: Opening TCM310 device /dev/ttyUSB0
2013.01.22 19:42:23 3: Can't open /dev/ttyUSB0: No such device or address
2013.01.22 19:42:23 3: Opening TCM310 device /dev/ttyUSB1
2013.01.22 19:42:23 3: Can't open /dev/ttyUSB1: No such device or address
2013.01.22 19:42:23 1: usb create end
2013.01.22 19:42:23 2: 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.
2013.01.22 19:42:23 0: Server started (version Fhem 5.3 (DEVELOPMENT), $Id: fhem.pl 2535 2013-01-20 09:21:35Z rudolfkoenig $, pid 1845)

langerhannes

Hy,

bitte den Befehl in geschweiften Klammern eingeben, und einen Moment warten, bis zur Server-Aktualisierung!

{fb_mail('xxxxx@googlemail.com','Subject123','text 123')}
FHEM CUL FS20 auf Fritz 7390

MAX Thermostat und Fensterkontakt
Alarmanlage mit MAX Fensterkontakten

datasette


langerhannes

Ich meinte den Befehl in der Befehlszeile FHEM eingeben!
FHEM CUL FS20 auf Fritz 7390

MAX Thermostat und Fensterkontakt
Alarmanlage mit MAX Fensterkontakten

Rohan

Hi,
 sorry, aber solange diese beiden Fehler nicht behoben sind, dürfte da gar nichts mit fb/FB_mail klappern...

Zitat von: datasette schrieb am Di, 22 Januar 2013 19:50...
2013.01.22 19:42:20 1: reload: Error:Modul 99_MyUtils deactivated:

2013.01.22 19:42:20 1: reload: Error:Modul 99_Utils1 deactivated:

oder irre ich?

Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

UliM

Hi,
ohje, soviele Gerüchte in nur einem Fred...

1. Die Routine fb_Mail muss man als FB7390-user NICHT in seine 99_myUtils.pm nehmen, das steht dick und fett im Wiki. Dort steht auch, dass die Routine unter dem Namen FB_mail() Bestandteil der fhem-Auslieferung ist. Wenn das nochmal jemand verdreht, nehm ich die fb_mail-Schreibweise dort komplett raus.

2. die geschweiften Klammern kennzeichnen perl-Code. Eine beliebige Perl-Routine muss also aus der fhem-Kommandozeile oder fhem-telnet immer in geschweiften Klammern aufgerufen werden, da fhem den angegebenen Befehl sonst versucht, als fhem-Befehl auszuführen -> Fehlermeldung.

3. Wie ebenfalls im Wiki steht, ist die Routine FB_mail() in der Programmdatei FritzBoxUtils.pm untergebracht. Da der Dateiname nicht mit 99_ beginnt, wird diese nicht automatisch geladen.  Man muss das Laden anfordern. Entweder durch
reload FritzBoxUtils.pm
oder direkt beim Aufruf der Mailfunktion:
{ use FritzBoxUtils;; FB_mail('xxxxx@googlemail.com' ('xxxxx@googlemail.com'),'Subject123','text 123')}
Was steht nach diesem Aufrug im log?

Rohan hat natürlich Recht, wenn er sagt, man möge sich doch um die in log auftretenden Fehlermeldungen kümmern. Dort sind ja konkrete Fehlermeldungen mit Angabe der Zeilennummer zu finden.

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

stobor

Hallo Uli,

ich habe bisher
use FritzBoxUtils;; direkt vor meinem FB_mail(...
genutzt. Da ich mehrfach den Mailversand nutze, taucht natürlich auch mehrfach das use FritzBoxUtils;; auf.
Im Zusammenhang z.B.:
define nBatChk notify KlimaGarten:T:.* {if (%EVTPART1 < 9) { use FritzBoxUtils;; FB_mail('email@@adresse.com' (@@adresse.com'),'KlimaGarten %EVTPART1','KlimaGarten...')}}

Kann ich die FritzBoxUtils auch zentral einmal in der fhem.cfg einbinden?
Muss dass dann als
use FritzBoxUtils;;
oder
reload FritzBoxUtils.pm
ganz oben in der fhem.cfg erfolgen?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus