Ankündigung

Einklappen
Keine Ankündigung bisher.

plugin 'mail'

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Wie sieht deine Logkonfiguration denn aus?

    Kommentar


      #17
      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


        #18
        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
        Was du gemacht hast, ist lediglich die Ansicht des Logfiles zu ändern, aber nicht das Logging. Siehe auch: https://www.smarthomeng.de/user/konf...n/logging.html

        Kommentar


          #19
          Zitat von Sisamiwe Beitrag anzeigen
          Code:

          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
          Guten Morgen zusammen,
          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​
          Das Log wirft mir folgende Fehlermeldung aus:
          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)
          Danke für den Support
          Zuletzt geändert von fhartlieb; 17.10.2023, 21:54.

          Kommentar


            #20
            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.

            Kommentar


              #21
              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


                #22
                Jetzt bin ich verwirrt. Mit dem mailsen Plugin kann man keine Mails empfangen.

                Außerdem ist Dein if Statement syntaktisch falsch. Ein = ist eine Zuweisung und kein Vergleich. Da musst Du schon == schreiben.
                Viele Grüße
                Martin

                There is no cloud. It's only someone else's computer.

                Kommentar


                  #23
                  Zitat von fhartlieb Beitrag anzeigen
                  Emails erhalten
                  sorry, ich meinte im meinem Postfach erhalten... und mit SHNG per mailsend-plugin versendet ;-)

                  Zitat von Msinn Beitrag anzeigen
                  Ein = ist eine Zuweisung und kein Vergleich. Da musst Du schon == schreiben
                  Dankeschön!! Das war es... und ein CaseSensitiv-Fehler (WasserMelder) vom auslösendem item

                  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


                    #24
                    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.

                    Kommentar

                    Lädt...
                    X