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

                          488
                          Online

                          31.7k
                          Users

                          79.8k
                          Topics

                          1.3m
                          Posts

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