Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Push-Benachrichtigungen bei Adapter-Updates

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Push-Benachrichtigungen bei Adapter-Updates

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dutchman
      Dutchman Developer Most Active Administrators last edited by

      Mal schnell geschaut siehe Screenshot, es gibt die Zahl und welche Adapter ein Update haben können.

      Du könntest also auf Änderung dieser Werte triggeren und dem entsprechende actionende auslösen.

      ~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201805 ... 7fac7a.jpg">https://uploads.tapatalk-cdn.com/20180508/a6f6a8c1ff5af678b86c3bcbef7fac7a.jpg</link_text>" />

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

      Send from mobile device

      Das schöne ios hat Auto Korrektur zum k****

      Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community~~

      1 Reply Last reply Reply Quote 0
      • F
        flacus last edited by

        Könnt ihr für die Anfänger mal auf ein Codebeispiel verweisen ?

        zB Wie ich da ne E-Mail verschicke (E-Mail Adapter udn Test-Mail funktiopnieren hier)

        Lg Dirk

        1 Reply Last reply Reply Quote 0
        • 4
          4-Real last edited by

          @Dutchman:

          Mal schnell geschaut siehe Screenshot, es gibt die Zahl und welche Adapter ein Update haben können.

          Du könntest also auf Änderung dieser Werte triggeren und dem entsprechende actionende auslösen.

          ~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201805 ... 7fac7a.jpg">https://uploads.tapatalk-cdn.com/20180508/a6f6a8c1ff5af678b86c3bcbef7fac7a.jpg</link_text>" />

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

          Send from mobile device

          Das schöne ios hat Auto Korrektur zum k****

          Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community~~ ` ~~Heisst die 15 jetzt, du hast 15 Updates, die du noch machen musst?! :shock:

          Habe aus Jux auch gerade mal geschaut und bei mir steht 1. Aktualisier ich jetzt die Adapterliste wird aber kein Adapter zum aktualisieren angezeigt.

          Also passt dein Datenpunkt wohl noch nicht richtig oder irre ich mich?..~~

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

            @flacus:

            mal auf ein Codebeispiel verweisen ? Wie ich da ne E-Mail verschicke `

            on('admin.0.info.updatesList', function(dp) {
               sendTo("email", {
                  subject: "Adapter-Updates",
                  text:   dp.state.val
               });
            });
            
            1 Reply Last reply Reply Quote 0
            • Dutchman
              Dutchman Developer Most Active Administrators last edited by

              @4-Real:

              Heisst die 15 jetzt, du hast 15 Updates, die du noch machen musst?! :shock:

              Habe aus Jux auch gerade mal geschaut und bei mir steht 1. Aktualisier ich jetzt die Adapterliste wird aber kein Adapter zum aktualisieren angezeigt.

              Also passt dein Datenpunkt wohl noch nicht richtig oder irre ich mich?.. `

              Doch der past schon nur nachdem man einen Adapter geupdated hat muss man erneut

               iobroker update 
              

              Ausführen damit der Zähler sich wieder resetet.

              Ja 15… Ist mein Test System für ein paar Sachen was seit 2 Monaten nicht gepflegt ist (schäm)


              Send from mobile device

              Das schöne ios hat Auto Korrektur zum k****

              Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

              1 Reply Last reply Reply Quote 0
              • F
                flacus last edited by

                Genau auf das Codebeispiel bekomme ich folgende Fehlermeldung und keine Mail

                Error {"code":"ESTREAM","command":"API"}

                aller Anfang ist schwer

                1 Reply Last reply Reply Quote 0
                • U
                  Ulfhednir last edited by

                  Ich möchte das Thema erneut aufgreifen, da ich mir ebenfalls eine Benachrichtigung wünsche. Zusätzlich würde ich allerdings gerne das Update automatisch durchführen.
                  Mein Skript ist bisher nicht von Erfolg gekrönt. Ich hatte bereits eine Benachrichtigung erhalten, welche allerdings leer (Adapter wurden nicht genannt) war. Zum Zeitpunkt des Versands ist die Liste zu updatenden Adapter leer - daher dachte ich, dass es sinnig wäre das Versenden verzögern. Funktioniert nur leider nicht.

                  Bild Text

                  Wenn die Benachrichtigung funktioniert, würde ich gerne die Modulupdates durchführen.
                  Gemäß https://forum.iobroker.net/topic/19830/alle-adapter-gleich-aktualisieren/13
                  interpretiere ich, dass iobroker upgrade hier funktionieren sollte. EXEC ist im JavaScript-Adapter aktiviert.

                  Es wäre schön, wenn hier jemand weiterhelfen könnte.

                  L paul53 2 Replies Last reply Reply Quote 0
                  • L
                    Leviathan09 @Ulfhednir last edited by Leviathan09

                    @Ulfhednir Also um das update durhczuführen rufe ich bei mir ein script auf das unter /opt/iobroker liegt und "adapter_update.sh" heißt:

                    cd /opt/iobroker
                    sleep 5
                    
                    iobroker upgrade
                    sleep 5
                    

                    Mein Skript für die Benachrichtigung sieht so aus:

                    var timeout,Letzter_Absender,Letzter_Text,Letzter_Text_klein;
                    
                    //Wenn ein Update für einen Adapter vorhanden schicke Info per Telegram
                    on({id: 'admin.0.info.newUpdates', change: "ne"}, function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      if (getState("admin.0.info.newUpdates").val == true) {
                        sendTo("telegram", "send", {
                            text: (['Es gibt Updates für: ',getState("admin.0.info.updatesNumber").val,' Adapter'].join(''))
                        });
                        timeout = setTimeout(function () {
                          sendTo("telegram", "send", {
                              text: ('Adapter: ' + String(getState("admin.0.info.updatesList").val))
                          });
                          console.log('+++' + ' Update für ' + getState("admin.0.info.updatesList").val);
                          //Auswahlmenü Telegram ob Adapter aktualisiert werden soll
                          sendTo('telegram',
                                        { text: 'Bitte wähle ein Button',
                                        reply_markup: {
                                            keyboard: [
                                                ['Aktualisieren', 'Nichts ändern'],
                                                ],
                                            resize_keyboard: true,
                                        one_time_keyboard: true }
                                        });
                        }, 100);
                      }
                    });
                    
                    
                    //Verwertung Telegram Antwort
                    
                    on({id: 'telegram.0.communicate.request', change: "any"}, function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        Letzter_Absender = (obj.state ? obj.state.val : "").slice(1, ((obj.state ? obj.state.val : "").indexOf(']') + 1) - 1);
                        Letzter_Text = subsequenceFromStartLast((obj.state ? obj.state.val : ""), (((obj.state ? obj.state.val : "").indexOf(']') + 1 + 1) - 1));
                        Letzter_Text_klein = subsequenceFromStartLast((obj.state ? obj.state.val : ""), (((obj.state ? obj.state.val : "").indexOf(']') + 1 + 1) - 1)).toLowerCase();
                      
                        if (Letzter_Absender == 'Tobi' && (Letzter_Text == 'Aktualisieren')) {
                            setState("javascript.0.Adapter_Update", true);
                            //Funktionsaufruf
                            Start_Update_Adapter();
                        } else if (Letzter_Absender == 'Tobi' && (Letzter_Text == 'Nichts ändern')) {
                            sendTo("telegram", "send", {
                                text: ('Es wird keine aktualsisierung durchgeführt')
                            });
                            }
                    });
                    
                    
                    //Adapter update durchführen
                    function Start_Update_Adapter(){
                        on({id: 'javascript.0.Adapter_Update', val: true}, function (obj) {
                            exec("/opt/iobroker/adapter_update.sh")
                            setState("javascript.0.Adapter_Update", false, true);
                        });
                    }
                    
                    function subsequenceFromStartLast(sequence, at1) {
                      var start = at1;
                      var end = sequence.length - 1 + 1;
                      return sequence.slice(start, end);
                    }
                    

                    Ich selbst prüfe das Object "NewUpdates" auf den Wert "true"
                    Leider ist es bei mir kein Blockly, sehe aber so spontan keinen Fehler.
                    Vllt fällt einem anderen da noch was auf.

                    F 1 Reply Last reply Reply Quote 2
                    • paul53
                      paul53 @Ulfhednir last edited by

                      @Ulfhednir sagte:

                      das Versenden verzögern. Funktioniert nur leider nicht.

                      Kann auch nicht, da die Verzögerung sofort gestoppt wird, also die Verzögerungszeit nie abläuft.

                      1 Reply Last reply Reply Quote 0
                      • F
                        fir3drag0n @Leviathan09 last edited by

                        @leviathan09

                        hi, ich hab das skript benutzt. Ich erhalte auch eine Nachricht und kann auf "aktualisieren" klicken, allerdings passiert dann nichts - woran kann das liegen?

                        Zudem, wo füge ich die Empfänger an, die die Nachricht per Telegram erhalten sollen?

                        Danke vorab!

                        1 Reply Last reply Reply Quote 0
                        • S
                          Schlumpf last edited by

                          Hallo an alle,

                          hab mir hierzu auch ein kleines Blockly-Skript gebastelt.

                          Ich frage hierbei auch den Wert zu "newUpdates" unter Admin/Info ab und lasse mir per Nachricht die Anzahl und die Namen der Adapter schicken. Funktioniert "eigentlich" auch ganz gut, nur funktioniert es nur dann, wenn ich im Admin selbst (Fernzugriff oder direkt am Netzwerk) den Punkt "Info" anklicke bzw. aktuallisiere.

                          Das macht aber irgendwie keinen Sinn, wenn ich eh manuell anwählen muss, brauche ich keine Benachrichtigung die genau in dem Moment gesendet wird wenn ich es eh auf meinem Bildschirm sehe.

                          Ist das bei euch auch so? Gibt es da eine Lösung?

                          Gruß
                          Jan

                          F 1 Reply Last reply Reply Quote 0
                          • F
                            fir3drag0n @Schlumpf last edited by

                            @schlumpf bist du hier weiterkommen? Magst du dein Skript mal teilen!

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate
                            FAQ Cloud / IOT
                            HowTo: Node.js-Update
                            HowTo: Backup/Restore
                            Downloads
                            BLOG

                            622
                            Online

                            31.7k
                            Users

                            79.7k
                            Topics

                            1.3m
                            Posts

                            9
                            15
                            1931
                            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