Wie sieht deine Logkonfiguration denn aus?
Ankündigung
Einklappen
Keine Ankündigung bisher.
plugin 'mail'
Einklappen
X
-
Um ehrlich zu sein blicke ich da nicht ganz durch in der GUI.
Kann gerade kein Screenshot machen, da ich den Rechner nicht im Zugriff habe bis heute Abend.
Ich stelle die Log-Info in diesem Dropdownmenü bei Plugin-Log auf DEBUG
Ich sehe da aber auch kein "speichern" Button oder sowas. Entweder klicke ich dann weiter rechts auf den Link mit dem Log oder gehe raus aus dem Menü und auf Log-Anzeigen. Da gibts ja einmal das Detail-Log und das "normale" weiß gerade die Bezeichnung nicht mehr.
Bei beiden bekomme ich aber nie "Echtzeit" Daten. Immer so veretzt um ein paar Minuten. Zu dem Mail-Plugin finde ich gar nichts.
Ich mach heute Abend sonst mal ein paar Screenshots. Vielleicht wirds dann deutlicher.
Kommentar
-
Einstellen musst du das Logging im Pulldownmenü "Logs/Konfiguration". Dort musst du unter "loggers" das hier eingeben:
Code:plugins.mail: handlers: [shng_details_file] level: DEBUG
Kommentar
-
Zitat von Sisamiwe Beitrag anzeigenCode:
hum_krit_mail: type: bool eval: sh.mail('michaelwenzel@vodafone.de', 'SmarthomeNG Luftfeuchtigkeit Gästezimmer kritisch', 'Luftfeuchtigkeit Gästezimmer kritisch über 70%') eval_trigger: raumtemp.ug.gaestezimmer.luftfeuchtigkeit.hum_ist. hum_krit
ich möchte das Plugin nutzen, um im "Alarmfall" eine Mail abzusenden. Der Alarm tritt ein, wenn das item = TRUE ist. Wie kann ich dies mithilfe des eval-Ausdruck umsetzen?
Ich habe nun schon mehrere Varianten ausprobiert, aktuell sieht es so aus:
Code:test: Keller: WasserMelder: type: dict visu_acl: ro mqtt_topic: zigbee2mqtt/0x00158d000... on_change: - .Alarm = value['water_leak'] - .Temperatur = value['device_temperature'] Alarm: type: bool visu_acl: ro Mail: eval: sh.emailsend.send('name@mail.com', 'SmarthomeNG Wassermelder Alarm', 'Wassermelder im Lichtschacht ausgelöst') if sh.test.Keller.Wassermelder.Alarm() = 1 else None eval_trigger: .. Temperatur: type: num visu_acl: ro
Code:2023-10-17 08:26:29 NOTICE lib.smarthome -------------------- SmartHomeNG initialization finished -------------------- 2023-10-17 08:26:29 WARNING lib.item.item Item test.WasserMelder.Alarm.Mail: problem evaluating 'sh.emailsend.send('fhartlieb@hotmail.com', 'SmarthomeNG Wassermelder Alarm', 'Wassermelder im Lichtschacht ausgelöst') if sh.test.Wassermelder.Alarm() = 1 else None': invalid syntax (<string>, line 1)
Zuletzt geändert von fhartlieb; 17.10.2023, 21:54.
Kommentar
-
Wie ist das mailsend Plugin denn in in Deiner etc/plugin.yaml definiert?
Damit Dein eval Ausdruck funktioniert, müsste der Abschnitt in der etc/plugin.yaml emailsend: heissen, alse z.B. so aussehen:
Code:emailsend: plugin_name: mailsend host: smtp.provider.de tls: true mail_from: shng@xyz.de username: ... password: ...
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
- Likes 1
Kommentar
-
Hi,
ja genau, ich habe es „emailsend“ genannt. Das funktioniert auch grundsätzlich soweit, ich habe bereits Emails erhalten.
BTW: über die backend-GUI kann man keinen Hostnamen eingeben, er meckert dann, dass es keine IP ist.
Der eval Ausdruck geht aber nicht. Nehme ich die IF .. ELSE raus, dann sendet er mir bei jedem Update des items eine Email (auch beim Core Neustart). SHNG soll sie aber nur senden, wenn das item = 1 ist (Alarm aktiv).
Kommentar
-
Zitat von fhartlieb Beitrag anzeigenEmails erhalten
Zitat von Msinn Beitrag anzeigenEin = ist eine Zuweisung und kein Vergleich. Da musst Du schon == schreiben
So funktioniert es nun- bei ..Alarm: True --> Email versenden
- bei ..Alarm: False oder keine Änderung --> es passiert nichts bzw. keine Email versenden)
Code:test: WasserMelder: type: dict visu_acl: ro mqtt_topic: zigbee2mqtt/0x00158d.. on_change: - .Alarm = value['water_leak'] - .Temperatur = value['device_temperature'] Alarm: type: bool visu_acl: ro Mail: eval: sh.emailsend.send('meins@mail.com', 'SmarthomeNG Wassermelder Alarm', 'Wassermelder im Lichtschacht ausgelöst') if sh.test.WasserMelder.Alarm() == 1 else None eval_trigger: .. Temperatur: type: num visu_acl: ro
Msinn Hier noch die Fehlermeldung, wenn eine DNS-Adresse im BackEnd eingegeben wird (direkt in der etc/plugin.yaml habe ich es nicht ausprobiert):
Code:2023-10-17 07:31:32 ERROR lib.metadata plugin 'mailsend': Found invalid value 'smtp.1und1.de' for parameter 'host' (type ip) in /etc/plugin.yaml, using default value '0.0.0.0' instead
Kommentar
-
Du kannst das ganze noch etwas vereinfachen. Statt ein Unteritem Mail einzurichten, kannst Du das Senden der Mail in einem on_change Attribut direkt im Alarm Item veranlassen.
Also statt
Code:Alarm: type: bool visu_acl: ro Mail: eval: sh.emailsend.send('meins@mail.com', 'SmarthomeNG Wassermelder Alarm', 'Wassermelder im Lichtschacht ausgelöst') if sh.test.WasserMelder.Alarm() == 1 else None eval_trigger: ..
Code:Alarm: type: bool visu_acl: ro on_change: sh.emailsend.send('meins@mail.com', 'SmarthomeNG Wassermelder Alarm', 'Wassermelder im Lichtschacht ausgelöst') if value == 1 else None
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
- Likes 1
Kommentar
Kommentar