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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Push-Benachrichtigungen bei Adapter-Updates

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

      Ah. Dann schaue ich mir das bei Gelegenheit mal an. Danke.

      1 Reply Last reply Reply Quote 0
      • 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

                              719
                              Online

                              31.9k
                              Users

                              80.1k
                              Topics

                              1.3m
                              Posts

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