Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden

Begonnen von Schnup, 13 November 2013, 19:16:29

Vorheriges Thema - Nächstes Thema

ErzGabriel

Dachte, Du hast vielleicht noch die Zeile zur Hand, die Du damals eingegeben hast.
So mal eben alles abrufen geht nicht so einfach und würde auch ne ellen lange Liste ergeben.

Aber Deine Aussage mit dem, ob ich noch was hinter -s stehen habe, brachte mich auf ne Idee.
Habe mir das Script noch mal genau angeschaut. Beim copy&paste hatte sich eine Zeilenumbruch eingefügt, den ich nicht weiter beachtet habe, den habe ich entfernt und nun funzt es.

Die Lösung kann manchmal so einfach sein. ;-)

Jetzt muss es nur noch in Fhem zum laufen gebracht werden.

Wernieman

#76
Soooooo .... was Du in dem "sub" hast, mußt Du 1zu1 in FHEM stehen haben.....
(Abgesehen von den "print" Zeilen, dort bitte die LOG-Zeilen)

(P.S. als User "FHEM" getestet?)

DANN in der FHEM Eingabezeile eingeben:

{ DebianMail('werner@xxx.home','TEST','TEST'); }

Bzw natürlich Deine EMail-Adresse ;o)

P.S. ein eventuellen FHEM-Restart wegen config-Änderung nicht vergessen ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

ErzGabriel

Jupp, hatte ich als Fhem User  getestet.

Habe jetzt das Perl Script in die 99_Utils.pm kopiert. Auch drauf geachtet, das ich keinen Zeilenumbruch drin habe.

Und siehe da, es funktioniert spitze.
Kriege alle zwei Minuten eine Email von Fhem. Mein notify stimmt vorne und hinten nicht. ;-)
Da muss ich also noch mal dran arbeiten, weil die Batterie ist nicht leer und es steht auch nicht wirklich drin, welches Bauteil einen Batteriewechsel brauch.

Ich danke Dir Wernieman für Deine Geduld und Hilfe, das Problem zu lösen.

Wernieman

Gern geschehen ...

mal Prinzipiell, im Rückblick:
War Vorgehen klar .. und was hätte man besser machen können?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

ErzGabriel

Vorgehen war klar.

1. Fehlerbeschreibung
2. Testen über Linuxkonsole, zum ausschließen, das ein Fehler in sendemail ist und alle Rechte vergeben sind.
3. Perlscript anlegen, zum erleichterten suchen und beheben von Fehlern in der debianmail Subroutine.
4. Perl Subroutine übertragen in Fhem und erneuten Test, das beim übertragen sich keine Fehler neu eingeschlichen haben.

Besser machen, wüsste jetzt nicht, was wir da hätten besser machen können.

Wernieman

Danke .. war auch eher für mich gedacht, wir hatten uns zwischenzeitlich nicht gaaans verstanden ;o)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Benni

Zitat von: ErzGabriel am 25 November 2015, 16:59:27
Habe jetzt das Perl Script in die 99_Utils.pm kopiert.

Du hast dir dafür aber hoffentlich eine eigene 99_myUtils.pm angelegt und nicht wirklich die bereits vorhandene 99_Utils.pm genommen.
Sonst währt die Freude u.U. nur bis zum nächsten Update. Siehe dazu bspw. auch folgenden Forenbeitrag: http://forum.fhem.de/index.php?topic=13854.0

ErzGabriel

@Werniemann
Okay, leichte Verständigungsprobleme waren zwischendurch vorhanden aber hat ja alles trotzdem geklappt.

@Benni
Ja, habe es in die 99_myUtils.pm gespeichert. Das ist mir schon bekannt, trotzdem danke für den Hinweis.
Habe sogar die Datei noch mal separat bei mir gesichert, für den Fall aller Fälle.

psycho160

#83
Hallo Leute ich muss das jetzt nochmal aufgreifen. Leider hab ich durch suchen nichts gefunden aber seit dem Update auf die neue Fhem Version (5.7), wurde ja der Syntax für Variablen (früher: @ und %; jetzt: $EVENT, $NAME) geändert.

Seit dem schaffe ich es nicht mehr in die Sendemail Funktion eine Variable zu übergeben.

Alter Code:
    define n_batt_chk notify .*:[Bb]attery.* { if("%" !~ m/ok/) { \
      { DebianMail('Ziel@@Adresse.de', 'FHEM-Meldung', 'BatterieWechsel erforderlich bei @ -> Status: %')};; \   
      } \
    }


wenn ich das "@" und das "%" jetzt duch $NAME und $EVENT ersetze, steht im Email statt dem Device Namen leider nur die Variable mit $NAME...

Was mache ich falsch?

Vielleicht kann mir jemand einen Tipp geben :-)
- 2013@FHEM - 2020 Setup: Pi 4 4GB Systeme: Shelly, Tasmota, Zigbee und mittlerweile nur noch wenig Homematic. Entwicker von: tado-FHEM Modul (perlcritic 3 ^^)(https://git.wolfmajer.at/Public/FHEM-Tado)
- 2024@HomeAssistant, FHEM nur noch als legacy System per MQTT von HA versorgt

Benni

Zitat von: psycho160 am 23 Dezember 2015, 08:36:57
Alter Code:
    define n_batt_chk notify .*:[Bb]attery.* { if("%" !~ m/ok/) { \
      { DebianMail('Ziel@@Adresse.de', 'FHEM-Meldung', 'BatterieWechsel erforderlich bei @ -> Status: %')};; \   
      } \
    }


wenn ich das "@" und das "%" jetzt duch $NAME und $EVENT ersetze, steht im Email statt dem Device Namen leider nur die Variable mit $NAME...
Vielleicht kann mir jemand einen Tipp geben :-)

Die doppelten @ in der Mailadresse können nun durch eine einzelnes @ ersetzt werden.
Der Mailtext mit den Variablen $NAME und $EVENT muss in doppelte Anführunszeichen (") damit eine Ersetzung stattfindet (sollte aber eigentlich auch vorher schon so gewesen sein!):


DebianMail('Ziel@Adresse.de', 'FHEM-Meldung', "BatterieWechsel erforderlich bei $NAME -> Status: $EVENT")

Frank

Ich komme bei mir einfach nicht weiter. Wenn ich den Aufruf über das Textfenster in der fhem-Weboberfläche eingebe, bekomme ich folgende Fehlermeldung:

sendEmail returned: Dec 26 11:58:04 raspberrypi sendEmail[2594]: ERROR => smtp.1und1.de:465 returned a zero byte response to our query.

Was habe ich falsch konfiguriert?!

Benni

Zitat von: Frank am 26 Dezember 2015, 12:29:18
Wenn ich den Aufruf über das Textfenster in der fhem-Weboberfläche eingebe, bekomme ich folgende Fehlermeldung:

sendEmail returned: Dec 26 11:58:04 raspberrypi sendEmail[2594]: ERROR => smtp.1und1.de:465 returned a zero byte response to our query.

Ich dachte, das hat bei dir schon mal funktioniert? :o
Zitat von: psycho160 am 23 Dezember 2015, 08:36:57
steht im Email statt dem Device Namen leider nur die Variable mit $NAME...


psycho160

@Benni:
Danke haut jetzt hin. hatte vorher ein ' statt "

Jetzt werden die Variablen richtig angezeigt!

Danke
- 2013@FHEM - 2020 Setup: Pi 4 4GB Systeme: Shelly, Tasmota, Zigbee und mittlerweile nur noch wenig Homematic. Entwicker von: tado-FHEM Modul (perlcritic 3 ^^)(https://git.wolfmajer.at/Public/FHEM-Tado)
- 2024@HomeAssistant, FHEM nur noch als legacy System per MQTT von HA versorgt

Frank

Bei mir läuft's jetzt auch. Musste Port 587 sein (bei 1und1) und TLS musste auf YES gesetzt werden.

Benni

Oops! Jetzt hab' ich eure beiden Antworten doch glatt zusammengeworfen.