Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Bei Störung E-Mail versenden ?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Bei Störung E-Mail versenden ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      deifel last edited by

      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?

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @deifel last edited by paul53

        @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.

        1 Reply Last reply Reply Quote 0
        • D
          deifel last edited by

          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

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @deifel last edited by paul53

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

            O 1 Reply Last reply Reply Quote 0
            • O
              Oli @paul53 last edited by

              @paul53

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

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Oli last edited by 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 1 Reply Last reply Reply Quote 0
                • O
                  Oli @paul53 last edited by

                  @paul53

                  dankeschön

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    derrapf @Oli last edited by 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

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @derrapf last edited by

                      @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 1 Reply Last reply Reply Quote 0
                      • D
                        derrapf @paul53 last edited by

                        @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 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        451
                        Online

                        31.7k
                        Users

                        79.9k
                        Topics

                        1.3m
                        Posts

                        10
                        61
                        8161
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo