Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Bei Störung E-Mail versenden ?

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    727

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.4k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    5.4k

Bei Störung E-Mail versenden ?

Scheduled Pinned Locked Moved Skripten / Logik
61 Posts 10 Posters 14.9k Views 9 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • DutchmanD Offline
    DutchmanD Offline
    Dutchman
    Developer Most Active Administrators
    wrote on last edited by
    #11

    @Elektroman:

    Oh super danke

    Ist bestimmt für Andere auch interessant `

    So das haette wir dan, im blockly habe ich eigentlich nur das verschiken der mail geloest, das script von Paul53 sorgt eigentlich fuer die logic.

    Vorraussetzung ist das du den e-mail adapter installiert und konfiguriert hast !

    Also paul sein script ueberwacht alle zustaender "Alive" und schreibt einen fehler aus sollte sich alive = false aender und der adapter den status enabled hat.

    Dafuer gibts keine andere loesung, dies script musst du also anlegen (pass auf, nicht in global !)

    // Datenpnkt-ID für Mailtext-Übergabe
    const idMailtext = 'javascript.0.mailtext';  // oder so ähnlich
    
    // Instanz wird inaktiv
    on({id: /^system\.adapter\..+\.alive$/, change: 'ne', val: false}, function(dp) {
       var id = dp.id.split('.');
       id = 'system.adapter.' + id[2] + '.' + id[3];
       var instance = getObject(id);
       if(instance.common.enabled) setState(idMailtext, 'Störung: ' + dp.common.name, true);
    });
    
    

    Dan machen wir dieses blockly, welche das object ueberwacht was Paul sein script fuellt und dan eine mail schickt mit dem tekst der meldung.

    In diesem blockly erstelle ich auch das object "javascript.0.mailtext" das ist der erste block :

    979_send_mail.jpg

    Das ergebnis:

    979_send_mail_2.jpg

    Und hier das blockly zum importieren:

    ! ````
    <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="ZqI#6E2{oZZs:=pGFB+q" x="38" y="-137"><field name="COMMENT">Object mailtext erstellen</field>
    <next><block type="create" id=")H=3W%nvyGQ.4C{SP0T("><field name="NAME">mailtext</field>
    <next><block type="comment" id="}:mK[r~GVP/.UGSk9=[h"><field name="COMMENT">Triggeren wen eine meldung vorliegt</field>
    <next><block type="on_ext" id="KYD(k!5})eo}(-?77a(("><mutation items="1"></mutation>
    <field name="CONDITION">ne</field>

                <value name="OID0"><shadow type="field_oid" id="rJYJwbQ1{f]a{Yj*x8?*"><field name="oid">javascript.0.mailtext</field></shadow></value> 
                <statement name="STATEMENT"><block type="comment" id="Ps|GT%z~M5(;1sK2HK7W"><field name="COMMENT">E-Mail schicken mit wert aus dem object + zusaetlichen tekst</field>
                    <next><block type="email" id="s,f352j%6ynj]CgL[9}m"><field name="IS_HTML">FALSE</field>
    
                        <value name="TO"><shadow type="text" id="|lM%B_T2xd1W)89K1=(9"><field name="TEXT">deinemailadresse@gmail.com</field></shadow></value> 
                        <value name="TEXT"><shadow type="text" id="dlEg%]]f6zh|[HN_;lSJ"></shadow> 
                          <block type="variables_get" id="3ZHp92{6WYFpp9eYkUBM"><field name="VAR">value</field></block></value> 
                        <value name="SUBJECT"><shadow type="text" id="T0XVW~DiIGOj2%Hu{da="><field name="TEXT">iObroker Fehlermeldungen</field></shadow></value></block></next></block></statement></block></next></block></next></block></next></block></xml> 
    

    ! ````

    1 Reply Last reply
    0
    • paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #12

      @Dutchman:

      und der adapter den status enabled hat. `
      Das

         if(instance.common.enabled) ...
      

      hast Du weggelassen. Hat das einen Grund ?

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

      1 Reply Last reply
      0
      • DutchmanD Offline
        DutchmanD Offline
        Dutchman
        Developer Most Active Administrators
        wrote on last edited by
        #13

        @paul53:

        @Dutchman:

        und der adapter den status enabled hat. `
        Das

           if(instance.common.enabled) ...
        

        hast Du weggelassen. Hat das einen Grund ? `

        Ups sorry ergänzt ich hatte das zum Probieren weck gelassen

        –-----------------------

        Send from mobile device

        1 Reply Last reply
        0
        • paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #14

          @Dutchman: Du triggerst auf "was changed", was voraussetzt, dass sich der Text ändert. Allerdings kann es sein, dass immer wieder die gleiche Instanz mal läuft und dann irgendwann nicht mehr läuft. In diesem Fall würde nur einmal getriggert.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

          1 Reply Last reply
          0
          • DutchmanD Offline
            DutchmanD Offline
            Dutchman
            Developer Most Active Administrators
            wrote on last edited by
            #15

            @paul53:

            @Dutchman: Du triggerst auf "was changed", was voraussetzt, dass sich der Text ändert. Allerdings kann es sein, dass immer wieder die gleiche Instanz mal läuft und dann irgendwann nicht mehr läuft. In diesem Fall würde nur einmal getriggert. `

            Stimmt, zur Erklärung: Ich wollte damit eine mail Wiederholung vermeiden wen man aber den effect haben möchte wie du beschreibst muss man de Trigger auf "wurde aktualisiert" ändern.

            –-----------------------

            Send from mobile device

            1 Reply Last reply
            0
            • E Offline
              E Offline
              Elektroman
              wrote on last edited by
              #16

              Erst mal vielen Dank

              Funktioniert auch

              1 Reply Last reply
              0
              • E Offline
                E Offline
                Elektroman
                wrote on last edited by
                #17

                Habe es jetzt getestet, funktioniert gut [emoji4] Habe mir eine neue E-Mail Adresse dafür angelegt

                Geht das auch mit anstehenden Updates? Oder sogar mit neuen verfügbaren Adaptern ?

                1 Reply Last reply
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by
                  #18

                  @Elektroman:

                  Geht das auch mit anstehenden Updates? `
                  Dafür gibt es den(die) Datenpunkt(e) mit der ID "admin.N.info.updatesList" (N = 0,1, …).

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                  1 Reply Last reply
                  0
                  • E Offline
                    E Offline
                    Elektroman
                    wrote on last edited by
                    #19

                    Danke [emoji106][emoji106][emoji106] das kann ich ja sofort weiterverarbeiten

                    1 Reply Last reply
                    0
                    • DutchmanD Offline
                      DutchmanD Offline
                      Dutchman
                      Developer Most Active Administrators
                      wrote on last edited by
                      #20

                      @Elektroman:

                      Danke [emoji106][emoji106][emoji106] das kann ich ja sofort weiterverarbeiten `

                      Beachte aber das Updates erst nach einem Befehl

                       iobroker update
                      

                      Sichtbar sind

                      Dafür könntest du das Kommando auch mit blockly ausführen

                      –-----------------------

                      Send from mobile device

                      1 Reply Last reply
                      0
                      • E Offline
                        E Offline
                        Elektroman
                        wrote on last edited by
                        #21

                        1. Befehl IOBroker Update bewirkt nur das prüfen nach Updates oder werden die dann sofort installiert?

                        2. wie kann ich den Befehl absetzen? Unter Funktionen JavaScript-Funktion

                        1 Reply Last reply
                        0
                        • DutchmanD Offline
                          DutchmanD Offline
                          Dutchman
                          Developer Most Active Administrators
                          wrote on last edited by
                          #22

                          @Elektroman:

                          1. Befehl IOBroker Update bewirkt nur das prüfen nach Updates oder werden die dann sofort installiert? `

                          update kommando sorgt nur dafuer das geprueft wird ob es updates gibt, update selber macht man mit

                          Alle adapter

                          iobroker upgrade
                          

                          Nur den gewuenschten adapter

                          iobroker upgrade >adaptername<
                          

                          @Elektroman:

                          2. wie kann ich den Befehl absetzen? Unter Funktionen JavaScript-Funktion `

                          mit blockly, in diesem beispiel haben ich ein cron drangehaengt damit er es jeden tag um 15Uhr mach kan man beliebig anpasssen:

                          979_update.jpg

                          hier noch der code zum importieren:

                           <xml xmlns="http://www.w3.org/1999/xhtml"><block type="schedule" id="G)SIufc?c]cK@sSp.*jw" x="87" y="63"><field name="SCHEDULE">* 15 * * *</field>
                              <statement name="STATEMENT"><block type="exec" id="bKofe~Zg@2yFu|2CsnRC"><mutation with_statement="false"></mutation>
                                  <field name="WITH_STATEMENT">FALSE</field>
                                  <field name="LOG">debug</field>
                                  <value name="COMMAND"><shadow type="text" id="?bD]P7ESC9u@OcnOH,:%"><field name="TEXT">cd /opt/iobroker/ && iobroker update</field></shadow></value></block></statement></block></xml> 
                          
                          

                          oder als javascript:

                          // Jeden tag um 15 Uhr
                          schedule("* 15 * * *", function () {
                            //ausfuehren des consolen befehls
                            exec('cd /opt/iobroker/ && iobroker update');
                          
                          });
                          
                          

                          PS: ich habe gerade bemerkt das der wert "admin.0.info.updatesList" nach einen upgrade commando auf der konsole nicht eneuert wird. dafuer mus man nochmal das kommand update geben dan ist der wert richtig

                          1 Reply Last reply
                          0
                          • E Offline
                            E Offline
                            Elektroman
                            wrote on last edited by
                            #23

                            Super vielen Dank

                            Werde ich noch ausprobieren.

                            1 Reply Last reply
                            0
                            • smartboartS Offline
                              smartboartS Offline
                              smartboart
                              wrote on last edited by
                              #24

                              Hallo, danke für das super kleine script…macht was es soll...

                              habe leider noch nicht raus wie ich den Emailtext alarmMail(txt) in die email packe...Mache das im Moment so wie unten...Aber denke mit der function alarmMail(txt) geht das auch schöner als mit dem eigenen Text.. sendTo("email", "ein System Adapter oder mehrere System Adapter inaktiv");

                              function alarmMail(txt) {
                              sendTo("email", "ein System Adapter oder mehrere System Adapter inaktiv");
                              }
                              
                              // Instanz wird inaktiv
                              on({id: /^system\.adapter\..+\.alive$/, change: 'ne', val: false}, function(dp) {
                                 var id = dp.id.split('.');
                                 id = 'system.adapter.' + id[2] + '.' + id[3];
                                 var instance = getObject(id);
                                 if(instance.common.enabled) alarmMail(dp.common.name);
                              });
                              
                              1 Reply Last reply
                              0
                              • smartboartS Offline
                                smartboartS Offline
                                smartboart
                                wrote on last edited by
                                #25

                                Hat sich erledigt, habs hinbekommen danke…

                                1 Reply Last reply
                                0
                                • eric2905E Offline
                                  eric2905E Offline
                                  eric2905
                                  wrote on last edited by
                                  #26

                                  Postest Du noch, wie Du es geschafft hast?

                                  Dann haben alle was davon.

                                  Gruß,

                                  Eric

                                  Von unterwegs getippert

                                  Roses are red, violets are blue,

                                  if I listen to metal, my neighbours do too

                                  1 Reply Last reply
                                  0
                                  • smartboartS Offline
                                    smartboartS Offline
                                    smartboart
                                    wrote on last edited by
                                    #27

                                    ` > Postest Du noch, wie Du es geschafft hast?

                                    Dann haben alle was davon. `

                                    function alarmMail(txt) {
                                    sendTo('email', 'System Adapter meldet Probleme  '+(txt));
                                    }
                                    
                                    // Instanz wird inaktiv
                                    on({id: /^system\.adapter\..+\.alive$/, change: 'ne', val: false}, function(dp) {
                                       var id = dp.id.split('.');
                                       id = 'system.adapter.' + id[2] + '.' + id[3];
                                       var instance = getObject(id);
                                       if(instance.common.enabled) alarmMail(dp.common.name);
                                    });
                                    

                                    zu dem script muss eigentlich nur noch der emailadapter eingerichtet werden… Funktioniert wunderbar, habe es mit mehreren Adaptern probiert...Der Script Ersteller hat ganze Arbeit geleistet..danke schön..

                                    1 Reply Last reply
                                    0
                                    • smartboartS Offline
                                      smartboartS Offline
                                      smartboart
                                      wrote on last edited by
                                      #28

                                      Hi, hätte gerne noch eine Statusanzeige in Vis, ganz simple eine objekt id auf true setzen wenn eine email bei störung versand wurde..

                                      Bei Status true soll das Widget aufpoppen und bei Betätigung des Widget den Status wieder auf false setzen und verschwinden…

                                      Kann man das so machen ? Funktioniert aufjedenfall schonmal wie ich es möchte.

                                       createState('Adapterüberwachung.Störung', {
                                          read: true, 
                                          write: false, 
                                          type: "boolean"
                                      });
                                      
                                      function alarmMail(txt) {
                                      sendTo('email', 'System Adapter meldet Probleme  '+(txt));
                                      setState('javascript.0.Adapterüberwachung.Störung', true );
                                      }
                                      
                                      // Instanz wird inaktiv
                                      on({id: /^system\.adapter\..+\.alive$/, change: 'ne', val: false}, function(dp) {
                                         var id = dp.id.split('.');
                                         id = 'system.adapter.' + id[2] + '.' + id[3];
                                         var instance = getObject(id);
                                         if(instance.common.enabled) alarmMail(dp.common.name);
                                      });
                                      
                                      
                                      1 Reply Last reply
                                      0
                                      • smartboartS Offline
                                        smartboartS Offline
                                        smartboart
                                        wrote on last edited by
                                        #29
                                        on({id: /^system\.adapter\..+\.alive$/, change: 'ne',val: true}, function(dp) {
                                        	sendTo('telegram.0', 'iobroker - System Adapter laufen fehlerfrei');
                                        setState('javascript.0.Adapterüberwachung.iobroker.Störung', false );
                                        setState('javascript.0.Adapterüberwachung.iobroker.Text', 'ioBroker - System Adapter laufen fehlerfrei ');
                                        });
                                        

                                        Hi, mit oben gezeigtem Auszug wollte ich meine vis anzeige nach einem gemeldeten Fehler noch zurück setzen und ne Rückmeldung and telegram schicken..Funktioniert auch, nur bekomme ich die Rückmeldung, dass die Adapter nun fehlerfrei laufen öfters…Jemand ne idee was an dem Script auszug falsch sein könnte oder wie ich das unterbinden kann...eine Rückmeldung bis zum nächsten Statuswechsel reicht mir eigentlich...

                                        1 Reply Last reply
                                        0
                                        • paul53P Offline
                                          paul53P Offline
                                          paul53
                                          wrote on last edited by
                                          #30

                                          @smartboart:

                                          'ioBroker - System Adapter laufen fehlerfrei '
                                          ```` `  
                                          

                                          Mit dieser Aussage würde ich vermuten, dass sie Auskunft geben soll, dass <u>alle</u> Instanzen laufen. Für diese Aussage braucht es aber eine UND-Verknüpfung des "alive" aller aktivierten Instanzen. Der Trigger liefert allerdings nur die Information, dass eine zuvor nicht laufende Instanz nun wieder läuft.

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                                          1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          466

                                          Online

                                          33.0k

                                          Users

                                          83.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2026
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe