Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

Bei Störung E-Mail versenden ?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
61 Beiträge 10 Kommentatoren 11.1k Aufrufe 9 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Offline
    D Offline
    deifel
    schrieb am zuletzt editiert von
    #42

    Hallo zusammen,

    ich habe das Script zwar zum Laufen gebracht, aber habe das Problem, dass ich im Minutentakt Telegram-Nachrichten bekomme, wenn ein Adapter gelb oder rot ist.
    Das reicht mir aber natürlich nur 1 mal...
    Kann mir jemand sagen, wie ich die Meldungen nur bekomme, wenn sich der Status auch ändert?
    Alternativ würde ich eine stündliche Abfrage einbauen wollen - geht das?
    Ich bin leider völliger Noob dabei.

    Hier ist mein aktuell genutztes Script:

    createState('Adapterüberwachung.iobroker.Störung', {"name": "iobroker Servicemeldungen Störung" });
    createState('Adapterüberwachung.iobroker.Text', {"name": "iobroker Servicemeldungen Text"});
     
    function alarmMail(txt) {
    sendTo('telegram.0', 'iobroker - System Adapter meldet Probleme  '+(txt));
    setState('javascript.0.Adapterüberwachung.iobroker.Störung', true );
    setState('javascript.0.Adapterüberwachung.iobroker.Text', 'System Adapter meldet Probleme '+(txt));
    }
     
    var cnt = 0;
     
    // 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);
           cnt++;
        }   
     });
      
     
    
    
    paul53P 1 Antwort Letzte Antwort
    0
    • D deifel

      Hallo zusammen,

      ich habe das Script zwar zum Laufen gebracht, aber habe das Problem, dass ich im Minutentakt Telegram-Nachrichten bekomme, wenn ein Adapter gelb oder rot ist.
      Das reicht mir aber natürlich nur 1 mal...
      Kann mir jemand sagen, wie ich die Meldungen nur bekomme, wenn sich der Status auch ändert?
      Alternativ würde ich eine stündliche Abfrage einbauen wollen - geht das?
      Ich bin leider völliger Noob dabei.

      Hier ist mein aktuell genutztes Script:

      createState('Adapterüberwachung.iobroker.Störung', {"name": "iobroker Servicemeldungen Störung" });
      createState('Adapterüberwachung.iobroker.Text', {"name": "iobroker Servicemeldungen Text"});
       
      function alarmMail(txt) {
      sendTo('telegram.0', 'iobroker - System Adapter meldet Probleme  '+(txt));
      setState('javascript.0.Adapterüberwachung.iobroker.Störung', true );
      setState('javascript.0.Adapterüberwachung.iobroker.Text', 'System Adapter meldet Probleme '+(txt));
      }
       
      var cnt = 0;
       
      // 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);
             cnt++;
          }   
       });
        
       
      
      
      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #43

      @deifel sagte:

      mein aktuell genutztes Script:

      Versuche es mal hiermit oder so:

      createState('Adapterüberwachung.iobroker.Text', {"name": "iobroker Servicemeldungen Text"});
      
      function alarmMail(txt) {
         sendTo('telegram.0', 'iobroker - System Adapter meldet Probleme  ' + txt);
         setState('javascript.0.Adapterüberwachung.iobroker.Text', 'System Adapter meldet Probleme ' + txt);
      }
       
      // Instanz wird inaktiv
      on({id: /^system\.adapter\..+\.alive$/, change: 'lt'}, function(dp) {
          var id = dp.id.split('.');
          var common = getObject('system.adapter.' + id[2] + '.' + id[3]).common;
          if(common.enabled && common.mode == 'daemon') {
             alarmMail(dp.common.name);
          }   
      });
      

      Damit werden Instanzen, die per Cronjob gestartet werden, ausgeblendet.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      0
      • D Offline
        D Offline
        deifel
        schrieb am zuletzt editiert von
        #44

        Danke für Deinen Hilfeversuch:)
        Mit den von Dir verlinkten Script habe ich leider nach wie vor eine Dauerschleife bei Adaptern, die "hängen" - also keine Verbindung bekommen.
        Bei manuell gestoppten funktioniert es aber wie gewünscht...
        Und mit dem Code:

        // Instanz wird inaktiv
        on({id: /^system\.adapter\..+\.alive$/, change: 'ne', val: false, oldVal: true}, function(dp) {
            var id = dp.id.split('.');
            var common = getObject('system.adapter.' + id[2] + '.' + id[3]).common;
            if(common.enabled && common.mode = 'daemon') {
               alarmMail(dp.common.name);
            }   
        });
        

        komme ich nicht klar. Wäre es für Dich ein großer Umstand, das komplette Script mit diesem Code zu posten?
        Ich weiß leider nicht, wo ich den Teil hin packen muss...

        Vielen Dank nochmals

        paul53P 1 Antwort Letzte Antwort
        0
        • D deifel

          Danke für Deinen Hilfeversuch:)
          Mit den von Dir verlinkten Script habe ich leider nach wie vor eine Dauerschleife bei Adaptern, die "hängen" - also keine Verbindung bekommen.
          Bei manuell gestoppten funktioniert es aber wie gewünscht...
          Und mit dem Code:

          // Instanz wird inaktiv
          on({id: /^system\.adapter\..+\.alive$/, change: 'ne', val: false, oldVal: true}, function(dp) {
              var id = dp.id.split('.');
              var common = getObject('system.adapter.' + id[2] + '.' + id[3]).common;
              if(common.enabled && common.mode = 'daemon') {
                 alarmMail(dp.common.name);
              }   
          });
          

          komme ich nicht klar. Wäre es für Dich ein großer Umstand, das komplette Script mit diesem Code zu posten?
          Ich weiß leider nicht, wo ich den Teil hin packen muss...

          Vielen Dank nochmals

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #45

          @deifel sagte:

          das komplette Script mit diesem Code zu posten?

          Habe es oben ergänzt.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • D Offline
            D Offline
            deifel
            schrieb am zuletzt editiert von
            #46

            Danke Dir!
            So hatte ich es auch versucht. Bekomme aber beim Start folgende Meldung:

            javascript.0 script.js.common.Test2 compile failed:
            at script.js.common.Test2:12

            paul53P 1 Antwort Letzte Antwort
            0
            • D deifel

              Danke Dir!
              So hatte ich es auch versucht. Bekomme aber beim Start folgende Meldung:

              javascript.0 script.js.common.Test2 compile failed:
              at script.js.common.Test2:12

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #47

              @deifel sagte:

              compile failed:

              Sorry, es fehlte ein = bei

              common.mode == 'daemon'
              

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Antwort Letzte Antwort
              0
              • D Offline
                D Offline
                deifel
                schrieb am zuletzt editiert von
                #48

                Danke! Das Script funktioniert jetzt zwar, aber es hilft mir nicht weiter. Ich habe vereinzelt Instanzen, die (wenn diese den Server nicht erreichen) kurz grün werden und dann wieder rot oder gelb.
                Dann bekomme ich im Minutentakt diese Meldungen...
                Kann ich bei diesem Script irgendwie ein ganz einfaches Schedule einbauen?
                Z.B. damit es nur alle 4 Stunden ausgeführt wird?
                Das würde mir dann so schon ausreichen...

                paul53P 1 Antwort Letzte Antwort
                0
                • D deifel

                  Danke! Das Script funktioniert jetzt zwar, aber es hilft mir nicht weiter. Ich habe vereinzelt Instanzen, die (wenn diese den Server nicht erreichen) kurz grün werden und dann wieder rot oder gelb.
                  Dann bekomme ich im Minutentakt diese Meldungen...
                  Kann ich bei diesem Script irgendwie ein ganz einfaches Schedule einbauen?
                  Z.B. damit es nur alle 4 Stunden ausgeführt wird?
                  Das würde mir dann so schon ausreichen...

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #49

                  @deifel sagte:

                  Instanzen, die (wenn diese den Server nicht erreichen) kurz grün werden und dann wieder rot oder gelb.

                  Verhält sich bei diesen Instanzen der Datenpunkt system.adapter.name.N.connected genauso, d.h. wird er zwischendurch mal kurz true ?

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    deifel
                    schrieb am zuletzt editiert von
                    #50

                    Ja, verhält sich leider genauso, wenn ich unter Objekte die Sache beobachte...
                    Das ist mit Sicherheit der Grund, dass das Script natürlich dann ständig reagiert.

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • D deifel

                      Ja, verhält sich leider genauso, wenn ich unter Objekte die Sache beobachte...
                      Das ist mit Sicherheit der Grund, dass das Script natürlich dann ständig reagiert.

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #51

                      @deifel sagte:

                      verhält sich leider genauso

                      Dann sollten diese Adapter in diesem Skript ausgeblendet werden. Sie müssen getrennt behandelt werden.

                      Ausblenden in Zeile 12:

                          if(common.enabled && common.mode == 'daemon' && id[2] != 'adapter1' && id[2] != 'adapter2') {
                      

                      adapter1, adapter2 sind durch die betreffenden Adapternamen zu ersetzen.

                      EDIT: Wenn Du mir verrätst, welche Instanzen betroffen sind, kann ich das Skript entsprechend ergänzen.

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Antwort Letzte Antwort
                      0
                      • D Offline
                        D Offline
                        deifel
                        schrieb am zuletzt editiert von
                        #52

                        Ich danke Dir vielmals für Deine Hilfe!
                        Also bei mir sind das der Adapter netatmo und der cloud-Adapter.
                        Wobei ich mir nicht sicher bin, wie der cloud adapter reagiert bzw. ob auch dort der system.adapter.name.N.connected Eintrag sich verändert.
                        Bei Netatmo ist das definitiv der Fall. Sobald einer meiner Sensoren (Regen, Wind etc.) keinen Empfang hat, trennt sich gleich die ganze Verbindung des Adapters.
                        Wenn ich das davon nicht erfahre oder es nur zufällig in IOBroker sehe, dann merke es es gar nicht. Deshalb wäre das Script hier klasse...
                        Ich schaffe es jetzt zwar, dass Dein Script die Werte in ein Objekt schreibt und über ein Blockly-Script kann ich das 1 oder 2 mal am Tag abrufen und per Telegram etc. versenden - aber
                        besser wäre natürlich eine vernünftige Lösung über ein gutes Script (mit einer entsprechenden Prüfung etc.)...
                        Wenn ich den netatmo in Zeile 12 ausblende, dann berücksichtigt Dein Script diesen ja gar nicht mehr, richtig?

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • D deifel

                          Ich danke Dir vielmals für Deine Hilfe!
                          Also bei mir sind das der Adapter netatmo und der cloud-Adapter.
                          Wobei ich mir nicht sicher bin, wie der cloud adapter reagiert bzw. ob auch dort der system.adapter.name.N.connected Eintrag sich verändert.
                          Bei Netatmo ist das definitiv der Fall. Sobald einer meiner Sensoren (Regen, Wind etc.) keinen Empfang hat, trennt sich gleich die ganze Verbindung des Adapters.
                          Wenn ich das davon nicht erfahre oder es nur zufällig in IOBroker sehe, dann merke es es gar nicht. Deshalb wäre das Script hier klasse...
                          Ich schaffe es jetzt zwar, dass Dein Script die Werte in ein Objekt schreibt und über ein Blockly-Script kann ich das 1 oder 2 mal am Tag abrufen und per Telegram etc. versenden - aber
                          besser wäre natürlich eine vernünftige Lösung über ein gutes Script (mit einer entsprechenden Prüfung etc.)...
                          Wenn ich den netatmo in Zeile 12 ausblende, dann berücksichtigt Dein Script diesen ja gar nicht mehr, richtig?

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #53

                          @deifel sagte in Bei Störung E-Mail versenden ?:

                          dann berücksichtigt Dein Script diesen ja gar nicht mehr, richtig?

                          Richtig, deshalb benötigt er eine Sonderbehandlung.

                          createState('Adapterüberwachung.iobroker.Text', {"name": "iobroker Servicemeldungen Text"});
                          
                          function alarmMail(txt) {
                             sendTo('telegram.0', 'iobroker - System Adapter meldet Probleme  ' + txt);
                             setState('javascript.0.Adapterüberwachung.iobroker.Text', 'System Adapter meldet Probleme ' + txt);
                          }
                          
                          // Instanz wird inaktiv
                          on({id: /^system\.adapter\..+\.alive$/, val: false, oldVal: true}, function(dp) {
                              var id = dp.id.split('.');
                              var common = getObject('system.adapter.' + id[2] + '.' + id[3]).common;
                              if(common.enabled && common.mode == 'daemon' && id[2] != 'netatmo' && id[2] != 'cloud') {
                                 alarmMail(dp.common.name);
                              }   
                          });
                          
                          var timer1 = null;
                          on({id: 'system.adapter.netatmo.0.alive', val: false, oldVal: true}, function(dp) {
                              var common = getObject('system.adapter.netatmo.0').common;
                              if(common.enabled) {
                                  if(!timer1) alarmMail(dp.common.name);
                                  else clearTimeout(timer1);
                                  timer1 = setTimeout(function() {timer1 = null;}, 300000); // 5 Minuten
                              }   
                          });
                          
                          var timer2 = null;
                          on({id: 'system.adapter.cloud.0.alive', val: false, oldVal: true}, function(dp) {
                              var common = getObject('system.adapter.cloud.0').common;
                              if(common.enabled) {
                                  if(!timer2) alarmMail(dp.common.name);
                                  else clearTimeout(timer2);
                                  timer2 = setTimeout(function() {timer2 = null;}, 300000); // 5 Minuten
                              }
                          });
                          

                          Die Instanz muss mind. 5 Minuten lang "alive" gewesen sein, bevor eine Meldung erzeugt wird.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Antwort Letzte Antwort
                          0
                          • D Offline
                            D Offline
                            deifel
                            schrieb am zuletzt editiert von
                            #54

                            Klasse! Vielen Dank! Das wäre ja klasse, wenn das so funktioniert.
                            Werde ich so testen.
                            Herzlichen Dank nochmals für Deine Hilfe - sehr nett!
                            LG
                            Frank

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • D deifel

                              Klasse! Vielen Dank! Das wäre ja klasse, wenn das so funktioniert.
                              Werde ich so testen.
                              Herzlichen Dank nochmals für Deine Hilfe - sehr nett!
                              LG
                              Frank

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von paul53
                              #55

                              @deifel Habe noch ein clearTimeout() (Retrigger) eingebaut !! Bitte übernehmen !

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              O 1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @deifel Habe noch ein clearTimeout() (Retrigger) eingebaut !! Bitte übernehmen !

                                O Online
                                O Online
                                Oli
                                schrieb am zuletzt editiert von
                                #56

                                @paul53

                                Frage ich connected auch mit enabled ab, oder ist das ein anderer Befehl.

                                Gruß
                                Oliver

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • O Oli

                                  @paul53

                                  Frage ich connected auch mit enabled ab, oder ist das ein anderer Befehl.

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von paul53
                                  #57

                                  @Oli sagte in:

                                  Frage ich connected auch mit enabled ab

                                  connected hat eine ähnliche Bedeutung wie alive. common.enabled ist die Aktivierung der Instanz und wird abgefragt, weil es keinen Sinn macht connected einer deaktivierten Instantanz zu testen.

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  O 1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @Oli sagte in:

                                    Frage ich connected auch mit enabled ab

                                    connected hat eine ähnliche Bedeutung wie alive. common.enabled ist die Aktivierung der Instanz und wird abgefragt, weil es keinen Sinn macht connected einer deaktivierten Instantanz zu testen.

                                    O Online
                                    O Online
                                    Oli
                                    schrieb am zuletzt editiert von
                                    #58

                                    @paul53

                                    dankeschön

                                    Gruß
                                    Oliver

                                    D 1 Antwort Letzte Antwort
                                    0
                                    • O Oli

                                      @paul53

                                      dankeschön

                                      D Offline
                                      D Offline
                                      derrapf
                                      schrieb am zuletzt editiert von derrapf
                                      #59

                                      @oli
                                      Hallo
                                      Ich weiss der Thread ist alt, aber ich wollte das oben verlinkte Script verwenden.
                                      Ich bekomme aber nun Syntax Errors.
                                      Kann mir da jemand helfen? Und zwar hier:
                                      5273a3e9-2698-4685-add4-3e9c08418dde-image.png
                                      und da
                                      a118cb8b-ec76-408e-ab50-afe506aecdf9-image.png

                                      Die Variable common hat nur icon name und role.
                                      Nicht enabled und nicht mode.
                                      Gruss Ralf

                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • D derrapf

                                        @oli
                                        Hallo
                                        Ich weiss der Thread ist alt, aber ich wollte das oben verlinkte Script verwenden.
                                        Ich bekomme aber nun Syntax Errors.
                                        Kann mir da jemand helfen? Und zwar hier:
                                        5273a3e9-2698-4685-add4-3e9c08418dde-image.png
                                        und da
                                        a118cb8b-ec76-408e-ab50-afe506aecdf9-image.png

                                        Die Variable common hat nur icon name und role.
                                        Nicht enabled und nicht mode.
                                        Gruss Ralf

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von
                                        #60

                                        @derrapf sagte: Nicht enabled und nicht mode.

                                        Lass Dich nicht vom Script-Editor verwirren, denn der kennt nicht alle common-Eigenschaften der system.adapter.name.0-Objekte und meckert sie deshalb an.

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        D 1 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @derrapf sagte: Nicht enabled und nicht mode.

                                          Lass Dich nicht vom Script-Editor verwirren, denn der kennt nicht alle common-Eigenschaften der system.adapter.name.0-Objekte und meckert sie deshalb an.

                                          D Offline
                                          D Offline
                                          derrapf
                                          schrieb am zuletzt editiert von
                                          #61

                                          @paul53
                                          Tatsächlich.
                                          Das Script läuft.
                                          Das bin ich halt nicht gewohnt, dass die IDE Sysntaxfehler liefert obwohl es keine sind.
                                          Danke

                                          Gruss Ralf

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          665

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe