Temperaturalarm per Mail versenden

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Moin,

    ich bin ein absoluter Neuling was den Raspberry betrifft, habe mich aber an ein Projekt bezüglich eines Temperaturalarms gewagt.

    Das Auslesen der Temperatur und das Erzeugen einer Variablen funktioniert einwandfrei.

    Leider bekomme ich beim generieren der Mail einen Fehler.

    Hier mein Script:

    Leider bekomme ich dann folgende Meldung ausgegeben.

    pi@rasp-temperatur:~/Adafruit_Python_DHT/examples $ ./test.sh

    23

    ./test.sh: line 41: warning: here-document at line 34 delimited by end-of-file (wanted `$emailmessage')

    ./test.sh: line 42: syntax error: unexpected end of file

    Hat jemand einen Tip für mich?

    Vielen Dank schon mal.

    Gruß,

    Andreas

  • Hi,

    Das leert jedesmal die Datei,

    Code
    > $emailmessage

    also nur beim ersten Mal verwenden, dann weiter mit

    Code
    >> $emailmessage

    Das hängt weitere Zeilen an.

    Und dann entweder

    Code
    mail -s "$subject" "$email" < $emailmessage

    oder

    Code
    cat $emailmessage | mail -s "$subject" "$email"

    BTW

    Code
    # Zeichen 5 und 6 aus dem vom Sensor abgegriffenen String der Variablen "TEMP" zuweisen
    # Also ab Pos. 5 (beginnt mit 0!) 2 Zeichen
    TEMP=${WERTE:4:2}
  • Moin,

    Linus: Das war einer der Punkte die ich nicht verstanden habe.

    Der von mir gepostete Quellcode war definitv der, der die Fehlermeldung generiert hat.

    KKoPi:

    Vielen Dank für deine Hilfe.

    Es funktioniert nun einwandfrei.

    Hier nun das fertige funktionierende Script.

    Den Schwellenwert, 23 Grad, für das Auslösen der Mail passe ich nach der Testphase natürlich noch auf 29 Grad an.

    Per Cronjob wird die Datei nun alle 15 Minuten ausgeführt.

  • Die Zeile

    Zitat

    mail -s "$subject" "$email" << $emailmessage

    führte dazu, dass die Datei aus $emailmessage fälschlicherweise als HERE-Document in das Script eingebunden wurde. Deshalb plötzlich mehr Zeilen als eigentlich vorhanden (Zeilen Scipt + Zeilen $emailmessage).

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • Oder gleich so, ohne echo und ohne Umweg über die Zwischendatei :)

    Eine schöne Erklärung zum HereDoc: https://stackoverflow.com/a/25903579

    Knut

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!