Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter ioBroker.imap latest/stable

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter ioBroker.imap latest/stable

    This topic has been deleted. Only users with topic management privileges can see it.
    • David G.
      David G. @Lucky_ESA last edited by

      @lucky_esa sagte in Test Adapter ioBroker.imap latest/stable:

      Es tut mir Leid aber über imap kann man keine Mails löschen. Du kannst diese nur in den Mülleimer verschieben.

      Ich habe eben folgendes gelesen im Bezug auf imap:

      1. Sie löschen eine E-Mail → Die E-Mail wird in den Papierkorb verschoben.
      
      
      2. Sie leeren den Papierkorb → Die E-Mail wird als gelöscht markiert (\Deleted).
      
      
      3. Der Mail-Client führt den Expunge-Befehl aus → Die E-Mail wird endgültig vom Server entfernt.
      
      
      
      Unterschiedliche Implementierungen
      
      Einige Mail-Clients wie Gmail nutzen eine spezielle Implementierung: Hier wird das Verschieben in den Papierkorb direkt als Löschaktion betrachtet. Wird der Papierkorb geleert, ist die E-Mail sofort weg.
      
      
      Das Löschen von E-Mails im Papierkorb funktioniert, weil der Mail-Client in der Regel den Expunge-Befehl ausführt. Ohne diesen Befehl bliebe die E-Mail technisch noch vorhanden, wäre aber als gelöscht markiert und für den Benutzer unsichtbar.
      

      Kann man diesen "Expunge-Befehl" nicht irgewie ausführen?
      Evtl wäre das eine sauberer Lösung.

      L 1 Reply Last reply Reply Quote 0
      • L
        Lucky_ESA Developer Most Active @David G. last edited by

        @david-g Du kannst die Mails direkt in den Papierkorb verschieben
        [Google Mail]/Papierkorb

        Vorher noch den Flag Delete mit imap.0.xxx_gmail_com.remote.flag setzen

        Gruß//Lucky

        David G. 1 Reply Last reply Reply Quote 0
        • David G.
          David G. @Lucky_ESA last edited by

          @lucky_esa

          Der Weg wäre doch dann viel "simpler" als das mit dem Ordner anlegen und diesen wieder zu löschen oder?

          Wenn er auf diesem Weg auch die Mail löscht.

          P. S.
          Muss das verschieben nach dem Flaf noch sein? Wenn ich Deleted setze finde ich die Mail mit keinem Mailclient wieder.

          L 1 Reply Last reply Reply Quote 0
          • L
            Lucky_ESA Developer Most Active @David G. last edited by

            @david-g

            Muss das verschieben nach dem Flaf noch sein? Wenn ich Deleted setze finde ich die Mail mit keinem Mailclient wieder.

            Wenn die Mail weg ist dann funktioniert das löschen wohl so.

            Gruß//Lucky

            1 Reply Last reply Reply Quote 0
            • falke69
              falke69 @Lucky_ESA last edited by

              @lucky_esa sagte in Test Adapter ioBroker.imap latest/stable:

              Datei_kopieren

              Hallo @lucky_esa könntest Du mir vielleicht mit dem Script weiterhelfen.

              Der Anhang wird anstandslos im entsprechenden Verzeichnis gespeichert.
              Die Datei, wird aber weder umbenannt, noch kann diese gelöscht werden.
              Per Telegram bekomme ich auch nur den Pfad zur Datei (/opt/iobroker/iobroker-data/files/0_userdata.0/Anrufe/Anrufbeantworter.wav)

              javascript.0
              	2025-01-10 18:07:35.354	error	at process.processTimers (node:internal/timers:519:7)
              javascript.0
              	2025-01-10 18:07:35.354	error	at listOnTimeout (node:internal/timers:581:17)
              javascript.0
              	2025-01-10 18:07:35.354	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:3219:34)
              javascript.0
              	2025-01-10 18:07:35.354	error	at Object.<anonymous> (script.js.Test.Skript_1:66:20)
              javascript.0
              	2025-01-10 18:07:35.354	error	at ProtectFs.unlink (/opt/iobroker/node_modules/iobroker.javascript/lib/protectFs.js:78:9)
              javascript.0
              	2025-01-10 18:07:35.354	error	at checkProtected (/opt/iobroker/node_modules/iobroker.javascript/lib/protectFs.js:21:19)
              javascript.0
              	2025-01-10 18:07:35.354	error	Error in callback: Error: Permission denied
              javascript.0
              	2025-01-10 18:07:35.353	error	May not read /opt/iobroker/iobroker-data/files/0_userdata.0/Anrufe/10.01.25_14.49_Anruf.XXXXXXXXX.wav - use writeFile instead
              javascript.0
              	2025-01-10 18:07:28.354	error	at process.processTimers (node:internal/timers:519:7)
              javascript.0
              	2025-01-10 18:07:28.354	error	at listOnTimeout (node:internal/timers:581:17)
              javascript.0
              	2025-01-10 18:07:28.354	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:3219:34)
              javascript.0
              	2025-01-10 18:07:28.354	error	at Object.<anonymous> (script.js.Test.Skript_1:60:41)
              javascript.0
              	2025-01-10 18:07:28.354	error	Error in callback: ReferenceError: Datei_kopieren is not defined
              

              Ich vermute, dass sich der eine oder andere Befehl geändert hat.
              Ein Blockly wäre mir eigentlich am liebsten. Leider fehlt mir der Ansatz dazu.

              Vielen Dank

              L 1 Reply Last reply Reply Quote 0
              • L
                Lucky_ESA Developer Most Active @falke69 last edited by

                @falke69 Schau bitte mal hier
                Reicht dir das? Wenn nein, dann zeig mal dein Blockly oder Javascript.

                Gruß//Lucky

                1 Reply Last reply Reply Quote 0
                • falke69
                  falke69 @Lucky_ESA last edited by falke69

                  @lucky_esa sagte in Test Adapter ioBroker.imap latest/stable:

                  @bahnuhr Leider hatte ich noch 2 Fehler. Bitte neu vom GIT laden. Sorry für die Umstände aber ich bekomme den Adapter nicht in latest da apollo77 keine Zeit hat.

                  Versuche dann mal dieses Blockly zu importieren.

                  anhang.txt


                  anhang2.png
                  anhang_1.png

                  seqno ist bei einigen richtig wobei ich hier die uid nehmen musste.

                  anhang_2.png

                  Gruß//Lucky

                  Das hier ist das Blockly, was ich hier gefunden habe.
                  Das Spuckt mir aber immer eine Fehlermeldung aus.

                  javascript.0
                  	2025-01-11 06:33:16.859	error	script.js.Test.AB: Cannot parse "timeout": SyntaxError: Unexpected token 'i', "timeout" is not valid JSON
                  imap.0
                  	2025-01-11 06:32:56.860	error	Fehlende Fetch meine_mailadresse_de
                  

                  Habe gedacht, das ich mir damit den Mailanhang per Telegram schicken kann.

                  Dann habe ich das Javascript von Dir gefunden:

                  
                   
                  // Datei vom Anrufbeantworter speichern und per telegram senden
                   
                  function weiter() {
                   
                  // Variablen
                      var i, result, j, json, fs = require('fs'), vText = "", vUser = "Dieter";
                      var uid = getState("imap.0.ppc_dbrp-mueller_de.email.email_01.uid").val;
                      var subject = getState("imap.0.ppc_dbrp-mueller_de.email.email_01.subject").val;
                      var text = getState("imap.0.ppc_dbrp-mueller_de.email.email_01.text").val;
                   
                  // Script
                      if (text.indexOf("Anrufbeantworter") > - 1) {           // Anrufbeantworter ist im Text enthalten
                          // Variablen
                              var Anruf_von = text.substring(text.indexOf("Der Anrufer:") + 13, text.indexOf("hat für Sie") - 1)
                              var Datum = text.substring(text.indexOf("Datum:") + 7, text.indexOf("Uhrzeit") - 1)
                              var Uhrzeit = text.substring(text.indexOf("Uhrzeit:") + 9, text.indexOf("Aufnahme") - 1)
                              var Laenge = text.substring(text.indexOf("Aufnahme") + 15, text.indexOf("Die Weiter") - 2) + " (min/sek)"
                          // Datei speichern
                              sendTo("imap.0", "getIMAPRequest", { name: "ppc@dbrp-mueller.de", max: 20, search: '["ALL"]',
                                  fetch:  JSON.parse('{"fetch": true, "uid": [' + uid + ']}'), bodie: '{bodies: "", markSeen: false}', parse: true,
                              }, async function (result) { if (!result) { log("No result found!"); return; }
                              for (var i_index in result) { i = result[i_index]; var j_list = getAttr(i, 'body.attachments');
                              for (var j_index in j_list) { j = j_list[j_index]; json = JSON.stringify(getAttr(j, 'content'));
                              //log(getAttr(j, 'filename'));
                              writeFile('vis.0', '/Anrufe/'+ getAttr(j,'filename'), JSON.stringify(getAttr(json, 'data')), function (error) {
                                  if(error) { log('Fehler beim Speichern von Datei ' + getAttr(json, 'filename') +'   Fehler:' + error, 'warn');
                                  } else { log('Datei: ' + getAttr(j, 'filename') +' wurde gespeichert'); }
                              });
                              // Datei kopieren mit anderem Filenamen
                                  setTimeout(function() { Datei_kopieren("/opt/iobroker/iobroker-data/files/vis.0/Anrufe/" + getAttr(j, 'filename'), "/opt/iobroker/iobroker-data/files/vis.0/Anrufe/Anrufbeantworter.wav"); }, 3000);
                              // Datei wieder löschen    
                              setTimeout(function() {
                                  fs.unlink("/opt/iobroker/iobroker-data/files/vis.0/Anrufe/" + getAttr(j, 'filename'), function (err) { if (err) throw err;
                                      log('Datei: ' + getAttr(j, 'filename') + ' wurde gelöscht.'); });
                                  fs.unlink("/opt/iobroker/iobroker-data/files/vis.0/Anrufe/Anrufbeantworter.wav", function (err) { if (err) throw err;
                                      log('Datei: Anrufbeantworter.wav wurde gelöscht.'); });
                              }, 10000);
                              // Datei per telegram versenden
                                  setTimeout(function() {
                                      vText = "Anruf von: " + Anruf_von + "\nDatum: " + Datum + "\nUhrzeit: " + Uhrzeit + "\nAufnahme: " + Laenge;
                                      log (vText);
                                      //vText = "test";
                                      sendTo('telegram.0', {user: vUser, text: '/opt/iobroker/iobroker-data/files/vis.0/Anrufe/Anrufbeantworter.wav', caption: vText});
                                  }, 5000);
                              } } });
                      } else {
                          log ("Anrufbeantworter ist im Text nicht enthalten; Script wird abgebrochen.");
                      }
                  }
                   
                  on({id: "imap.0.ppc_dbrp-mueller_de.email.email_01.uid", change: "ne"}, function(obj) {     // uid von Email 1 hat sich geändert
                      log("Auslöser Email imap hat sich geändert; UID= " + obj.state.val);
                      weiter();
                  }); 
                   
                  weiter();
                   
                  
                  

                  Hier habe ich eigentlich nur den Speicherpfad angepasst (auch mit dem originalen kommt diese Fehlermeldung)

                  // Datei vom Anrufbeantworter speichern und per telegram senden
                  
                   
                  
                  function weiter() {
                  
                   
                  
                  // Variablen
                  
                      var i, result, j, json, fs = require('fs'), vText = "", vUser = "Telegramuser";
                  
                      var uid = getState("imap.0.meine_mail_de.email.email_01.uid").val;
                  
                      var subject = getState("imap.0.meine_mail_de.email.email_01.subject").val;
                  
                      var text = getState("imap.0.meine_mail_de.email.email_01.text").val;
                  
                   
                  
                  // Script
                  
                      if (text.indexOf("Anrufbeantworter") > - 1) {           // Anrufbeantworter ist im Text enthalten
                  
                          // Variablen
                  
                              var Anruf_von = text.substring(text.indexOf("Der Anrufer:") + 13, text.indexOf("hat für Sie") - 1)
                  
                              var Datum = text.substring(text.indexOf("Datum:") + 7, text.indexOf("Uhrzeit") - 1)
                  
                              var Uhrzeit = text.substring(text.indexOf("Uhrzeit:") + 9, text.indexOf("Aufnahme") - 1)
                  
                              var Laenge = text.substring(text.indexOf("Aufnahme") + 15, text.indexOf("Die Weiter") - 2) + " (min/sek)"
                  
                          // Datei speichern
                  
                              sendTo("imap.0", "getIMAPRequest", { name: "meine@mail.de", max: 20, search: '["ALL"]',
                  
                                  fetch:  JSON.parse('{"fetch": true, "uid": [' + uid + ']}'), bodie: '{bodies: "", markSeen: false}', parse: true,
                  
                              }, async function (result) { if (!result) { log("No result found!"); return; }
                  
                              for (var i_index in result) { i = result[i_index]; var j_list = getAttr(i, 'body.attachments');
                  
                              for (var j_index in j_list) { j = j_list[j_index]; json = Buffer.from(getAttr(j, 'content'));;
                  
                              //log(getAttr(j, 'filename'));
                  
                              writeFile('0_userdata.0', '/Anrufe/'+ getAttr(j,'filename'), json, function (error) {
                  
                                  if(error) { log('Fehler beim Speichern von Datei ' + getAttr(json, 'filename') +'   Fehler:' + error, 'warn');
                  
                                  } else { log('Datei: ' + getAttr(j, 'filename') +' wurde gespeichert'); }
                  
                              });
                  
                              // Datei kopieren mit anderem Filenamen
                  
                                   setTimeout(function() {Datei_kopieren ("/opt/iobroker/iobroker-data/files/0_userdata.0/Anrufe/" + getAttr(j, 'filename'), "/opt/iobroker/iobroker-data/files/0_userdata.0/Anrufe/Anrufbeantworter.wav"); }, 3000);
                  
                              // Datei wieder löschen    
                  
                               setTimeout(function() {
                  
                                  fs.unlink ("/opt/iobroker/iobroker-data/files/0_userdata.0/Anrufe/" + getAttr(j, 'filename'), function (err) { if (err) throw err;
                  
                                        log('Datei: ' + getAttr(j, 'filename') + ' wurde gelöscht.'); });
                  
                           //        fs.unlink("/opt/iobroker/iobroker-data/files/0_userdata.0/Anrufe/Anrufbeantworter.wav", function (err) { if (err) throw err;
                  
                            //          log('Datei: Anrufbeantworter.wav wurde gelöscht.'); });
                  
                               }, 10000);
                  
                              // Datei per telegram versenden
                  
                              //     setTimeout(function() {
                  
                              //         vText = "Anruf von: " + Anruf_von + "\nDatum: " + Datum + "\nUhrzeit: " + Uhrzeit + "\nAufnahme: " + Laenge;
                  
                              //        log (vText);
                  
                                      //vText = "test";
                             //         sendTo('telegram.0', {user: vUser, text: '/opt/iobroker/iobroker-data/files/0_userdata.0/Anrufe/Anrufe/Anrufbeantworter.wav', caption: vText});
                  
                             //     }, 5000);
                  
                              } } });
                  
                      } else {
                  
                          log ("Anrufbeantworter ist im Text nicht enthalten; Script wird abgebrochen.");
                  
                      }
                  
                  }
                  
                   
                  
                  on({id: "imap.0.meine_mail_de.email.email_01.uid", change: "ne"}, function(obj) {     // uid von Email 1 hat sich geändert
                  
                      log("Auslöser Email imap hat sich geändert; UID= " + obj.state.val);
                  
                      weiter();
                  
                  }); 
                  
                   
                  
                  weiter();
                  
                   
                  

                  das spuckt mir aber die Fehlermeldungen aus:

                  
                  javascript.0
                  	2025-01-10 18:07:35.354	error	at process.processTimers (node:internal/timers:519:7)
                  javascript.0
                  	2025-01-10 18:07:35.354	error	at listOnTimeout (node:internal/timers:581:17)
                  javascript.0
                  	2025-01-10 18:07:35.354	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:3219:34)
                  javascript.0
                  	2025-01-10 18:07:35.354	error	at Object.<anonymous> (script.js.Test.Skript_1:66:20)
                  javascript.0
                  	2025-01-10 18:07:35.354	error	at ProtectFs.unlink (/opt/iobroker/node_modules/iobroker.javascript/lib/protectFs.js:78:9)
                  javascript.0
                  	2025-01-10 18:07:35.354	error	at checkProtected (/opt/iobroker/node_modules/iobroker.javascript/lib/protectFs.js:21:19)
                  javascript.0
                  	2025-01-10 18:07:35.354	error	Error in callback: Error: Permission denied
                  javascript.0
                  	2025-01-10 18:07:35.353	error	May not read /opt/iobroker/iobroker-data/files/0_userdata.0/Anrufe/10.01.25_14.49_Anruf.XXXXXXXXX.wav - use writeFile instead
                  javascript.0
                  	2025-01-10 18:07:28.354	error	at process.processTimers (node:internal/timers:519:7)
                  javascript.0
                  	2025-01-10 18:07:28.354	error	at listOnTimeout (node:internal/timers:581:17)
                  javascript.0
                  	2025-01-10 18:07:28.354	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:3219:34)
                  javascript.0
                  	2025-01-10 18:07:28.354	error	at Object.<anonymous> (script.js.Test.Skript_1:60:41)
                  javascript.0
                  	2025-01-10 18:07:28.354	error	Error in callback: ReferenceError: Datei_kopieren is not defined
                  
                  

                  In den Script habe ich halt nur die vorhandenen Einstellungen an meine eigenen angepasst.
                  Seit AVM irgendetwas am Codec der Aufnahmedatei geändert hat, kann ich diese nicht mehr mit Spexx in ein wav konvertieren und suche jetzt halt nach einer Alternative, die funktioniert.

                  L 1 Reply Last reply Reply Quote 0
                  • L
                    Lucky_ESA Developer Most Active @falke69 last edited by Lucky_ESA

                    @falke69 Ich verstehe das mit dem kopieren nicht aber egal. Als erstes bitte mal das hier entfernen Datei_kopieren damit die erste Fehlermeldung weg ist. Zum kopieren, schreiben oder löschen immer die Wrappers (Funktion von Java bzw. iobroker) nehmen und nicht fs!
                    Weiter oben ist doch ein Script...Ich schau mal ob das auch mit Blockly geht...Melde mich...

                    Hier mal ein Blockly als Bsp.
                    common.Skript_104.xml

                    Unter Aktion gibt es noch ein Blockly womit du die Datei einlesen kannst und dann per Telegram versenden.

                    Screenshot 2025-01-11 115818.png
                    Der Blockly Data hat dann das Attachment.

                    Gruß//Lucky

                    falke69 1 Reply Last reply Reply Quote 0
                    • falke69
                      falke69 @Lucky_ESA last edited by

                      @lucky_esa

                      Perfekt!
                      Funktioniert wunderbar.
                      Jetzt bekomme ich wieder meine Nachrichten von der Fritzbox per Telegram.

                      Ich wünsche Dir noch ein schönes Wochenende. 🙂

                      David G. 1 Reply Last reply Reply Quote 0
                      • D3ltoroxp
                        D3ltoroxp last edited by

                        Hallo zusammen,

                        funktioniert das auch mit einem outlook.office365.com ? Ich bekomme hier Login Fehler.

                        	Fehler bei Host xxxx@xxxx.de - Error: LOGIN failed. - _login.
                        

                        cc0504fb-29dd-445e-aabc-628b9c4fc80b-image.png

                        1ce89c64-9eb7-4dea-8a1e-93b7da0dbb5f-image.png

                        Hab ich hier was falsch eingestellt oder geht das nicht wegen dem OAuth2 ?

                        Ist allerdings nen Schulkonto für Teams. Würde hier gerne auf Nachrichten reagieren und mir Infos über Alexa ansagen lassen.

                        L 1 Reply Last reply Reply Quote 0
                        • L
                          Lucky_ESA Developer Most Active @D3ltoroxp last edited by

                          @d3ltoroxp

                          Das funktioniert nicht mit einem Schulkonto. Wenn der Admin des Schulkonto dich frei gibt, dann kannst du dir einen Token erstellen. Die Daten können dann hier eingetragen werden.

                          Screenshot 2025-01-24 174013.png

                          D3ltoroxp 1 Reply Last reply Reply Quote 0
                          • D3ltoroxp
                            D3ltoroxp @Lucky_ESA last edited by D3ltoroxp

                            @lucky_esa Wie bekommen das dann aber immer die normalen Mail Programme hin, wie Thunder, Better oder Outlook App ?
                            Was muss er da frei geben ? Ich kann ja spaßhalber mal anfragen ?

                            L 2 Replies Last reply Reply Quote 0
                            • L
                              Lucky_ESA Developer Most Active @D3ltoroxp last edited by

                              @d3ltoroxp sagte in Test Adapter ioBroker.imap latest/stable:

                              @lucky_esa Wie bekommen das dann aber immer die normalen Mail Programme hin, wie Thunder, Better oder Outlook App ?
                              Was muss er da frei geben ? Ich kann ja spaßhalber mal anfragen ?

                              Diese Programme verwenden eine UUID die wohl kostenpflicht ist. Damit geben Sie sich bei dem Konto zu erkennen. Schau bitte mal in meine Anleitung unter "OAuth2". Da ist beschrieben wie man an seine Daten kommt.

                              Gibt es auch in deutsch

                              Gruß//Lucky

                              I 1 Reply Last reply Reply Quote 0
                              • I
                                io2345 @Lucky_ESA last edited by io2345

                                @lucky_esa said in Test Adapter ioBroker.imap latest/stable:

                                @d3ltoroxp sagte in Test Adapter ioBroker.imap latest/stable:

                                ...Gibt es auch in deutsch

                                Gruß//Lucky

                                Hier ist der Artikel in Deutsch: link text

                                1 Reply Last reply Reply Quote 0
                                • David G.
                                  David G. last edited by David G.

                                  Gibt es eine Möglichkeit auf Anhänger zuzugreifen?

                                  Ich würde gerne automatisch PDFs ausdrucken die ich an eine bestimmte Mail sende.

                                  EDIT
                                  Geht scheinbar nicht. Hab mal einen Feature Request erstellt.
                                  https://github.com/Lucky-ESA/ioBroker.imap/issues/129

                                  ipod86 created this issue in Lucky-ESA/ioBroker.imap

                                  closed Feature Request: Download von Anhängen #129

                                  L 1 Reply Last reply Reply Quote 0
                                  • L
                                    Lucky_ESA Developer Most Active @David G. last edited by Lucky_ESA

                                    @david-g sagte in Test Adapter ioBroker.imap latest/stable:

                                    Gibt es eine Möglichkeit auf Anhänger zuzugreifen?

                                    Ich würde gerne automatisch PDFs ausdrucken die ich an eine bestimmte Mail sende.

                                    EDIT
                                    Geht scheinbar nicht. Hab mal einen Feature Request erstellt.
                                    https://github.com/Lucky-ESA/ioBroker.imap/issues/129

                                    Aber natürlich geht das. Wie das geht steht in der Anleitung unter Beispiele oder hier im Thread ca. 10 Post zurück. Auch mit Blockly Beispiel.

                                    Edit: Sind 8 Posts

                                    Gruß//Lucky

                                    1 Reply Last reply Reply Quote 0
                                    • David G.
                                      David G. @falke69 last edited by David G.

                                      @lucky_esa sagte in Test Adapter ioBroker.imap latest/stable:

                                      Aber natürlich geht das. Wie das geht steht in der Anleitung unter Beispiele oder hier im Thread ca. 10 Post zurück. Auch mit Blockly Beispiel.

                                      Ich hatte es über die Forumssuche probiert und dann grob die erste Hälfte vom Thread überflogen. Dachte nicht, dass so weit unten eine Lösung kommt....
                                      Asche auf mein Haupt.

                                      @falke69 sagte in Test Adapter ioBroker.imap latest/stable:

                                      @lucky_esa

                                      Perfekt!
                                      Funktioniert wunderbar.
                                      Jetzt bekomme ich wieder meine Nachrichten von der Fritzbox per Telegram.

                                      Ich wünsche Dir noch ein schönes Wochenende. 🙂

                                      Kannst du mir das Blockly mal zeigen?

                                      falke69 1 Reply Last reply Reply Quote 0
                                      • falke69
                                        falke69 @David G. last edited by

                                        @david-g

                                        ich habe das noch etwas nach meinen Bedürfnissen angepasst

                                        <xml xmlns="https://developers.google.com/blockly/xml">
                                          <variables>
                                            <variable id="z0O6x85%yoa7-}v~#.Bf">meta</variable>
                                            <variable id="s[uS~^6MKkVuzwj4r1=4">filename</variable>
                                            <variable id="+Tu=%xGC).)IE/9zIpah">i</variable>
                                            <variable id="jFVfezXGqV9MqVXz9=.m">result</variable>
                                            <variable id="{l3Cxl$Exrh(JtP4mb,_">j</variable>
                                          </variables>
                                          <block type="procedures_defcustomnoreturn" id="Nxa%U~h/LNlazXSdwCcy" x="-37" y="-862">
                                            <mutation statements="false">
                                              <arg name="meta" varid="z0O6x85%yoa7-}v~#.Bf"></arg>
                                              <arg name="filename" varid="s[uS~^6MKkVuzwj4r1=4"></arg>
                                            </mutation>
                                            <field name="NAME">deleteFile</field>
                                            <field name="SCRIPT">Y29uc29sZS5sb2coIlRFU1QiKTsNCmRlbEZpbGUobWV0YSwgZmlsZW5hbWUsIGZ1bmN0aW9uIChlcnJvcikgew0KICAgIGlmICghZXJyb3IpIHsNCiAvLyAgICAgICBjb25zb2xlLmxvZygnRGF0ZWkgJyArIGZpbGVuYW1lICsgJyBnZWzDtnNjaHQnKTsNCiAgICB9IGVsc2Ugew0KIC8vICAgICAgIGNvbnNvbGUubG9nKCdGZWhsZXIgYmVpbSBsw7ZzY2hlbjogJyArIGVycm9yKTsNCiAgICB9DQp9KTs=</field>
                                            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                          </block>
                                          <block type="on_ext" id="FI8H=9bXf-oF?79]E,G+" x="-37" y="-812">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                            <field name="CONDITION">ne</field>
                                            <field name="ACK_CONDITION"></field>
                                            <value name="OID0">
                                              <shadow type="field_oid" id="zY)BkjkQ85tW{|i#*v-e">
                                                <field name="oid">0_userdata.0.Telefon.Anrufbeantworter.Wir.Nachricht_vorhanden</field>
                                              </shadow>
                                            </value>
                                            <statement name="STATEMENT">
                                              <block type="controls_if" id="5zdRAx,OtqY4a|6D+ib9">
                                                <value name="IF0">
                                                  <block type="logic_compare" id="RUxMpUZ_q||I-Ek?q-0E">
                                                    <field name="OP">EQ</field>
                                                    <value name="A">
                                                      <block type="get_value" id="ixzX]j?n_fyrcqIoCb#N">
                                                        <field name="ATTR">val</field>
                                                        <field name="OID">0_userdata.0.Telefon.Anrufbeantworter.Wir.Nachricht_vorhanden</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="logic_boolean" id="-f6rdwt8F,u+HlyIoDLh">
                                                        <field name="BOOL">TRUE</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <statement name="DO0">
                                                  <block type="imap_request" id="xQ)3}$)x;VR+7~XjRplw">
                                                    <field name="INSTANCE">.0</field>
                                                    <field name="IMAPNAME">rene@familie-herrn.de</field>
                                                    <field name="MAILPARSER">TRUE</field>
                                                    <field name="LOG"></field>
                                                    <value name="SEARCH">
                                                      <shadow type="text" id="!T]w@eqhQ9}^EV5w-Lb@">
                                                        <field name="TEXT">["ALL"]</field>
                                                      </shadow>
                                                    </value>
                                                    <value name="FETCH">
                                                      <shadow type="text" id="fI(^g5m;:g@I+2%Z,d?Y">
                                                        <field name="TEXT">{"fetch": false, "uid": [1780]}</field>
                                                      </shadow>
                                                    </value>
                                                    <value name="BODIES">
                                                      <shadow type="text" id="3(s4RwI(z[N|{OP7g@%L">
                                                        <field name="TEXT">{bodies: "", markSeen: false}</field>
                                                      </shadow>
                                                    </value>
                                                    <value name="MAX">
                                                      <shadow type="math_number" id="Av8.]xQus`A|:V`G]@0,">
                                                        <field name="NUM">1</field>
                                                      </shadow>
                                                    </value>
                                                    <statement name="STATEMENT">
                                                      <block type="controls_forEach" id=";5`S)VG*GMh(Xrc7hbc:">
                                                        <field name="VAR" id="+Tu=%xGC).)IE/9zIpah">i</field>
                                                        <value name="LIST">
                                                          <block type="variables_get" id="!W|@W97vZFm4[:1.X##+">
                                                            <field name="VAR" id="jFVfezXGqV9MqVXz9=.m">result</field>
                                                          </block>
                                                        </value>
                                                        <statement name="DO">
                                                          <block type="controls_forEach" id="Su`KfJr:^P,c:J)u**Ho">
                                                            <field name="VAR" id="{l3Cxl$Exrh(JtP4mb,_">j</field>
                                                            <value name="LIST">
                                                              <block type="get_attr" id="09_6JP~5I]x(eX)jP4UY">
                                                                <value name="PATH">
                                                                  <shadow type="text" id="mpeh{~Hx(V4_}iRulQ4q">
                                                                    <field name="TEXT">body.attachments</field>
                                                                  </shadow>
                                                                </value>
                                                                <value name="OBJECT">
                                                                  <shadow type="get_object" id="JN0k1$$B(}[z;mZ2f6Cy">
                                                                    <field name="OID">Object ID</field>
                                                                  </shadow>
                                                                  <block type="variables_get" id="%{HYF_q*Gci7qQZ5$tYX">
                                                                    <field name="VAR" id="+Tu=%xGC).)IE/9zIpah">i</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                            <statement name="DO">
                                                              <block type="file_write" id="h$277P5?poe51:5Zd:h|">
                                                                <value name="OID">
                                                                  <shadow type="field_oid_meta" id="69dxJ]n,Pi96lc[4?;Xx">
                                                                    <field name="oid">0_userdata.0</field>
                                                                  </shadow>
                                                                  <block type="field_oid_meta" id="2|EntCIt_@;Qk#c|,c{?">
                                                                    <field name="oid">0_userdata.0</field>
                                                                  </block>
                                                                </value>
                                                                <value name="FILE">
                                                                  <shadow type="text" id="-JCw*w*{KMGA(GRL*4hz">
                                                                    <field name="TEXT">message.wav</field>
                                                                  </shadow>
                                                                </value>
                                                                <value name="DATA">
                                                                  <block type="get_attr" id=")W+8NuW6rNE9yk_p!$r7">
                                                                    <value name="PATH">
                                                                      <shadow type="text" id="yDK`(Sby-62509_o{iQ7">
                                                                        <field name="TEXT">content</field>
                                                                      </shadow>
                                                                    </value>
                                                                    <value name="OBJECT">
                                                                      <shadow type="get_object" id="JN0k1$$B(}[z;mZ2f6Cy">
                                                                        <field name="OID">Object ID</field>
                                                                      </shadow>
                                                                      <block type="variables_get" id="%E!H$v~@+#4[t}o}sueY">
                                                                        <field name="VAR" id="{l3Cxl$Exrh(JtP4mb,_">j</field>
                                                                      </block>
                                                                    </value>
                                                                  </block>
                                                                </value>
                                                                <next>
                                                                  <block type="telegram" id="gVgR|GQGaSRB,IK)5+1(">
                                                                    <field name="INSTANCE"></field>
                                                                    <field name="LOG"></field>
                                                                    <field name="SILENT">FALSE</field>
                                                                    <field name="PARSEMODE">default</field>
                                                                    <field name="ESCAPING">FALSE</field>
                                                                    <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                                                                    <value name="MESSAGE">
                                                                      <shadow type="text" id="cDew.TH@B*rf[!BAfURr">
                                                                        <field name="TEXT">text</field>
                                                                      </shadow>
                                                                      <block type="text_join" id="4WJW){4Eq55)G,%-yju*">
                                                                        <mutation items="7"></mutation>
                                                                        <value name="ADD0">
                                                                          <block type="text" id="$J{_|i6@fZ?;vZz}+s[7">
                                                                            <field name="TEXT">Der Anrufer</field>
                                                                          </block>
                                                                        </value>
                                                                        <value name="ADD1">
                                                                          <block type="text_newline" id="^$/E=8;sgM#H%|kq|Pun">
                                                                            <field name="Type">\n</field>
                                                                          </block>
                                                                        </value>
                                                                        <value name="ADD2">
                                                                          <block type="get_value" id="z8$x0{=,bOapN=k[MwRP">
                                                                            <field name="ATTR">val</field>
                                                                            <field name="OID">tr-064.0.callmonitor.lastCall.callerName</field>
                                                                          </block>
                                                                        </value>
                                                                        <value name="ADD3">
                                                                          <block type="text_newline" id=":tSj{c3qsM}7=Pov1~Mc">
                                                                            <field name="Type">\n</field>
                                                                          </block>
                                                                        </value>
                                                                        <value name="ADD4">
                                                                          <block type="text" id="EBOT~bIL8%2a+~$DwS$O">
                                                                            <field name="TEXT"> hat eine Nachricht hinterlassen</field>
                                                                          </block>
                                                                        </value>
                                                                        <value name="ADD5">
                                                                          <block type="text_newline" id="19[D,:A4A^,f1JiFG?Jg">
                                                                            <field name="Type">\n</field>
                                                                          </block>
                                                                        </value>
                                                                        <value name="ADD6">
                                                                          <block type="text" id="x?J_D!#R8Wvtu{H^4(RH" disabled="true">
                                                                            <field name="TEXT">/opt/iobroker/iobroker-data/files/0_userdata.0/</field>
                                                                          </block>
                                                                        </value>
                                                                      </block>
                                                                    </value>
                                                                    <value name="USERNAME">
                                                                      <block type="text" id="4`AAPKNU?1@1+8L_:#^;">
                                                                        <field name="TEXT">falke69</field>
                                                                      </block>
                                                                    </value>
                                                                    <next>
                                                                      <block type="timeouts_wait" id="6r(V!)w]{@}~[)3qg+k@">
                                                                        <field name="DELAY">3000</field>
                                                                        <field name="UNIT">ms</field>
                                                                        <next>
                                                                          <block type="procedures_callcustomnoreturn" id="3C-Luk:GC8%HCs5)*3c.">
                                                                            <mutation name="deleteFile">
                                                                              <arg name="meta"></arg>
                                                                              <arg name="filename"></arg>
                                                                            </mutation>
                                                                            <value name="ARG0">
                                                                              <block type="field_oid_meta" id="U~U1,%5j=8j-fidf,]nn">
                                                                                <field name="oid">0_userdata.0</field>
                                                                              </block>
                                                                            </value>
                                                                            <value name="ARG1">
                                                                              <block type="text" id="Udfnz^/b!@YnG:o!~SgI">
                                                                                <field name="TEXT">message.wav</field>
                                                                              </block>
                                                                            </value>
                                                                            <next>
                                                                              <block type="timeouts_wait" id="uWrjEbeZ%j`C/6AvXgf~">
                                                                                <field name="DELAY">3000</field>
                                                                                <field name="UNIT">ms</field>
                                                                                <next>
                                                                                  <block type="control" id="ivo{.8g-#Q3+$FR^I@tl">
                                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                    <field name="OID">0_userdata.0.Telefon.Anrufbeantworter.Wir.Nachricht_vorhanden</field>
                                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                                    <value name="VALUE">
                                                                                      <block type="logic_boolean" id="@vx~C[!/c@RxgfZdsIX`">
                                                                                        <field name="BOOL">FALSE</field>
                                                                                      </block>
                                                                                    </value>
                                                                                    <next>
                                                                                      <block type="timeouts_wait" id="y}qC/,6@mLlz/61(-6`r" disabled="true">
                                                                                        <field name="DELAY">5</field>
                                                                                        <field name="UNIT">min</field>
                                                                                        <next>
                                                                                          <block type="comment" id="keX_mctxGqcY3wp!xYj3">
                                                                                            <field name="COMMENT">Nachricht auf AB löschen</field>
                                                                                            <next>
                                                                                              <block type="control" id="u3Nh8wW3;0qU_7T,S{RL">
                                                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                <field name="OID">0_userdata.0.Telefon.Anrufbeantworter.Nachricht_loeschen</field>
                                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                                <value name="VALUE">
                                                                                                  <block type="logic_boolean" id="0NvDQJ!u^FGR!vPT?%@t">
                                                                                                    <field name="BOOL">TRUE</field>
                                                                                                  </block>
                                                                                                </value>
                                                                                                <next>
                                                                                                  <block type="control" id="IRc5jojMEm%V}t])YK^l">
                                                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                    <field name="OID">0_userdata.0.Test.Json</field>
                                                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                                                    <value name="VALUE">
                                                                                                      <block type="text" id="P[?=qmX1hB=1z`C=KY?c">
                                                                                                        <field name="TEXT">{   "service": "urn:dslforum-org:service:X_AVM-DE_TAM:1",   "action": "DeleteMessage",   "params": {     "NewIndex ": "0"      "NewMessageIndex ": "0"   } }</field>
                                                                                                      </block>
                                                                                                    </value>
                                                                                                  </block>
                                                                                                </next>
                                                                                              </block>
                                                                                            </next>
                                                                                          </block>
                                                                                        </next>
                                                                                      </block>
                                                                                    </next>
                                                                                  </block>
                                                                                </next>
                                                                              </block>
                                                                            </next>
                                                                          </block>
                                                                        </next>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </statement>
                                                          </block>
                                                        </statement>
                                                      </block>
                                                    </statement>
                                                  </block>
                                                </statement>
                                              </block>
                                            </statement>
                                          </block>
                                        </xml>
                                        

                                        2025-02-11_174311.jpg

                                        1 Reply Last reply Reply Quote 0
                                        • David G.
                                          David G. last edited by

                                          @falke69

                                          Vielen Dank.
                                          Da sehe ich mal wie es umgesetzt ist.

                                          Ka ob es jetzt offtopic ist, ist jedoch ja im Zusammenhang mit dem Adapter.

                                          Ich müsste die Datei auf die Festplatte schreiben.
                                          Ich drucke das PDF über einen exec Baustein wo ich den absoluten Pfad angeben muss.

                                          falke69 L 2 Replies Last reply Reply Quote 0
                                          • falke69
                                            falke69 @David G. last edited by

                                            @david-g

                                            bei dem Drucken kann ich Dir leider nicht helfen.
                                            Du kannst Dir aber auch das Script von @lucky_esa anschauen.
                                            Ich brauchte halt nur einen Denkanstoß die Datei zu speichern und der Datei einen eindeutigen Namen zu vergeben.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            845
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            26
                                            406
                                            62617
                                            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