E-Mail Versand Probleme

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
tandaril
Beiträge: 3
Registriert: 27. Jan 2022 17:14
Answers: 0

E-Mail Versand Probleme

Beitrag von tandaril »

Hallo zusammen,

kurz vorab ich bin absoluter Neuling im Bereich von openHAB.

Systeminfo:
Basis: Raspberry-Pi3
OS: Raspbian 11 (bullseye)
openHAB Version: 3.2.0

Ich habe per Zigbee über den ConbeeII USB Stick einen Aqara (Xiaomi) Temperatur und Luftfeuchtigkeit Sensor eingebunden.

Das funktioniert alles auch soweit ich habe mir eine Startseite gebastelt auf der ich die Sensor Werte sehe und diese werden auch aktualisiert.

Primär geht es mir um die Funktion der Luftfeichtigkeit.

Mein Ziel ist es jetzt wenn der Wert der Luftfeuchtigkeit auf über 70% geht eine E-Mail zu versenden. Am liebsten mit dem ermittelten Wert, dem Sensor Namen und der Location.

Um ersteinmal zu testen habe ich mir eine Regel gebaut und versuche darüber Krampfhaft die E-Mail Alarmierung zu realisieren. Hierfür habe ich auch das mail binding installiert und konfiguriert.

mail-binding:

Code: Alles auswählen

UID: mail:smtp:smtp
label: smtp
thingTypeUID: mail:smtp
configuration:
  hostname: server.mail.de
  security: STARTTLS
  password: *supersecret*
  sender: sender@mail.de
  port: "587"
  username: user
Die definierte Regel ist in Summe wie folgt:

Code: Alles auswählen

configuration: {}
triggers:
  - id: "1"
    configuration:
      itemName: Humidity01_Luftfeuchtigkeit
      state: "> 70,00 %"
      previousState: ""
    type: core.ItemStateChangeTrigger
conditions: []
actions:
  - inputs: {}
    id: "3"
    label: execute sendMail
    description: Use script to send mail
    configuration:
      type: application/javascript
      script: >-
        val mailActions = getActions("mail","mail:smtp:smtp")

        mailActions.sendMail("empfänger@mail.de", "Test subject", "This is the mail content sent to recipients.")
    type: script.ScriptAction
Als action ist das sendMail definiert:

Code: Alles auswählen

val mailActions = getActions("mail","mail:smtp")
mailActions.sendMail("empfänger@mail.de", "Test subject", "This is the mail content sent to recipients.")
In dem Editor habe ich ja die Möglichkeit das Script auszführen, wenn ich das mache erscheint in "/var/log/openhab/openhab.log" folgender Eintrag:
[ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID '98cd19eb83' failed: <eval>:1:4 Expected ; but found mailActions
val mailActions = getActions("mail","mail:smtp")
^ in <eval> at line number 1 at column number 4
Was mache ich falsch? Ich hoffe Ihr könnt mir ein wenig behilflich sein?


Viele Grüße

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: E-Mail Versand Probleme

Beitrag von peter-pan »

...was mir so auf die Schnelle auffällt, ist die Port-Adresse in deinem Thing-Yaml, die von Hochkommas umrandet ist. Das ist bei meinen Mail-Things nicht der Fall.
Ich habe auch sicherheitshalber beim Parameter "username" meine E-Mail-Adresse eingesetzt. Irgendwie hatte ich da mal Problem in der Vergangenheit.

Was die Fehlermeldung anbelangt, könnte es sein, dass die einzelnen Kommandozeilen durch ein Semikolon (;) getrennt werden müssen ? (JavaScript)

Edit:
ich habe die "Action" gerade mal in einem ECMA-Script ausprobiert und eine ähnliche Fehlermeldung bekommen. Ich vermute mal stark, dass die Action eine DSL-Funktion ist. D.h. in JavaScript ist die Notation anders. Hab aber noch nicht herausgefunden, wie. Das muss ich selber erst mal googeln. Ich habe bisher noch nichts in dieser Richtung gemacht, da ich DSL für meine Belange für ausreichend halte.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: E-Mail Versand Probleme

Beitrag von udo1toni »

So ist es. Dieser Code:

Code: Alles auswählen

val mailActions = getActions("mail","mail:smtp")
mailActions.sendMail("empfänger@mail.de", "Test subject", "This is the mail content sent to recipients.")
Ist DSL-Code. Wobei ich nicht müde werde, zu betonen, dass an der DSL nichts auszusetzen ist. Wenn Du allerdings gewohnt bist, in JavaScript zu programmieren, wirst Du evtl. dies bevorzugen. Ich gehe stark davon aus, dass das nicht der Fall ist, sonst hättest Du mit der Fehlermeldung etwas anfangen können... ;)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

tandaril
Beiträge: 3
Registriert: 27. Jan 2022 17:14
Answers: 0

Re: E-Mail Versand Probleme

Beitrag von tandaril »

Ich habe gestern natürlich auch noch weiter nach dem Problem geschaut.

Mir ist durchaus bewusst das die Fehlermeldung besagt das am Ende fehlen. Auch das habe ich natürlich versucht leider blieb ein Erfolg aus.

Mittlerweile habe ich gesehen dass, das "mail-binding" wohl einen bug hat: https://github.com/openhab/openhab-addons/issues/11838

Ich bin gerade noch am testen um zu versuchen die Anforderung umzusetzen. So ganz komme ich noch nicht dran aber schauen wir mal....

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: E-Mail Versand Probleme

Beitrag von peter-pan »

Ich habe mal im internationalen Forum gegoogelt und dort auch eine Möglichkeit per JavaScript gefunden.

Code: Alles auswählen

var log    = Java.type('org.slf4j.LoggerFactory').getLogger('org.openhab.rule.' + ctx.ruleUID);
  var Actions = Java.type("org.openhab.core.model.script.actions.Things");
  var mailActions = Actions.getActions("mail","mail:smtp:tonline-smtp");
      mailActions.sendMail("XXXXX@YYY.de", "Abwesenheit", "Peter ist aus dem Haus gegangen");
      log.info("Mail Info" + "E-mail für Peter verschickt");
Das klappt auch, aber wie in dem von dir zitierten Post geschrieben wurde, nur wenn diese Action (Script) mit einem Trigger aufgerufen wird.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: E-Mail Versand Probleme

Beitrag von udo1toni »

Ach, was war das Leben noch einfach, als man keine Wahl hatte, eine Rule manuell auszulösen. Man musste einen Trigger einbauen und den nutzen...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: E-Mail Versand Probleme

Beitrag von peter-pan »

udo1toni hat geschrieben: 28. Jan 2022 11:49 Ach, was war das Leben noch einfach, als man keine Wahl hatte
:lol: :lol: Ja, ja. Und warum einfach, wenn's auch umständlich geht.

Ich bleib dabei: Mir reicht DSL und auch das Scripten in Textform (so lange es jedenfalls möglich ist) ;)
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

tandaril
Beiträge: 3
Registriert: 27. Jan 2022 17:14
Answers: 0

Re: E-Mail Versand Probleme

Beitrag von tandaril »

Udo1toni nichts für ungut aber hilfreich oder gar informativ sind deine Kommentare nicht wirklich.

Danke peter-pan so richtig wie gewünscht bin ich nicht voran gekommen.

Da das Projekt etwas zeitkritisch ist, bin ich nun zu iobroker gewechselt. Nach einem halben Tag Aufwand inkl. frischer Installation des Pi lief alles wie gewünscht.

Daher kann das Thema gerne geschlossen werden.

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: E-Mail Versand Probleme

Beitrag von peter-pan »

tandaril hat geschrieben: 28. Jan 2022 20:27 Udo1toni nichts für ungut aber hilfreich oder gar informativ sind deine Kommentare nicht wirklich.
@tandaril - Die Antwort von Udo war für mich gemeint und bezieht sich darauf, dass wir beide der gleichen Meinung sind, nämlich dass man mit DSL sehr komfortabel und "einfach" bestimmte Aufgaben lösen kann.

Einen Lösungsansatz per JavaScript hast du ja im Prinzip durch deine Recherche schon selber heraus gefunden. Als Trigger habe ich einen einfachen Switch genommen, bei dem die Rule reagiert und schon hat es geklappt (also ein Run-Button). In der Paxis brauchst du ja schliesslich auch einen richtigen Auslöser. Und ob ich jetzt auf den Run-Button im Script-Editor drücke oder einen Schalter auf ON setze ist ja fast das Gleiche.

Aber wenn du das Problem gelöst hast, egal mit welchem System, dann ist ja Gott sei Dank alles wieder ok.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Antworten