Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [gelöst]Script per Schedule neustarten

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    538

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    622

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

[gelöst]Script per Schedule neustarten

Geplant Angeheftet Gesperrt Verschoben JavaScript
5 Beiträge 2 Kommentatoren 144 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    marsmännchen
    schrieb am zuletzt editiert von marsmännchen
    #1

    Hallo zusammen,
    ich habe das Script für eine Emailabfrage gefunden.
    Dadurch lasse ich mir die neuste Email anzeigen.
    Eigentlich recht simpel.
    Leider passiert es immer das er nach kurzer Zeit (2Std. oder so) "imapDisconnected" schreibt.
    Könnte mir vielleicht jemand einen Weg erläutern, oder einen Befehl/Funktion sagen welcher bei "imapDisconnected" das Skript neu Startet?

    // Quelle Original: https://github.com/chirag04/mail-listener2
    // Quelle Forum: https://forum.iobroker.net/topic/18501/emails-empfangen
     
    createState("IMAP.EmailSubject");
    createState("IMAP.Email_Eingang"); 	//dieser Datenpunkt wird erzeugt
    createState("IMAP.EmailText");		//dieser Datenpunkt enthält den email-Text
     
        var MailListener = require("mail-listener2-updated");
        var mailListener = new MailListener({
          username: "xxxxxxx@gmail.com",    // HIER Email Adresse eintragen
          password: "12345",	      // HIER Passwort eintragen	
          host: "imap.gmail.com",
          port: 993, // imap port
          tls: true,
          connTimeout: 10000, // Default by node-imap
          authTimeout: 5000, // Default by node-imap,
          debug: null, // Or your custom function with only one incoming argument. Default: null
          tlsOptions: { rejectUnauthorized: false },
          mailbox: "INBOX", // HIER Postfach eingeben z.B. INBOX 
          searchFilter: ["UNSEEN"], // the search filter being used after an IDLE notification has been retrieved
          markSeen: true, // all fetched email willbe marked as seen and not fetched next time
          fetchUnreadOnStart: true, // use it only if you want to get all unread email on lib start. Default is `false`,
          mailParserOptions: {streamAttachments: false}, // options to be passed to mailParser lib.
          attachments: false, // download attachments as they are encountered to the project directory
          attachmentOptions: { directory: "attachments/" } // specify a download directory for attachments
        });
     
        mailListener.start();
        mailListener.on("server:connected", function(){console.log("------- imapConnected");});
        mailListener.on("server:disconnected", function(){console.log("------- imapDisconnected");});
        mailListener.on("error", function(err){console.log(err);});
        mailListener.on("mail", function(mail, seqno, attributes){
            //log(mail.from[0].address);
            //log(mail.from[0].name);
            log(mail.subject);
            //log( mail.text);
         setState("IMAP.Email_Eingang",mail.from[0].address);  	//setze Datenpunkt mit Email-Absender (als Trigger nutzbar)
         setState("IMAP.EmailText",mail.text);                   //setze Datenpunkt mit kompletten Email-Inhalt
         setState("IMAP.EmailSubject",mail.subject);			//Betreff
        });
        // mailListener.on("attachment", function(attachment){console.log(attachment.path);}); //wenn Anhänge verarbeitet werden sollen einkommentieren
    
    

    Oder vielleicht hat jemand einen Eintrag im Forum entdeckt der das selbe Problem beschreibt. Ich bis jetzt noch nicht.
    MfG
    Patrick

    Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
    Wago PFC200 mit Dali Lichtsteuerung.

    liv-in-skyL 1 Antwort Letzte Antwort
    0
    • M marsmännchen

      Hallo zusammen,
      ich habe das Script für eine Emailabfrage gefunden.
      Dadurch lasse ich mir die neuste Email anzeigen.
      Eigentlich recht simpel.
      Leider passiert es immer das er nach kurzer Zeit (2Std. oder so) "imapDisconnected" schreibt.
      Könnte mir vielleicht jemand einen Weg erläutern, oder einen Befehl/Funktion sagen welcher bei "imapDisconnected" das Skript neu Startet?

      // Quelle Original: https://github.com/chirag04/mail-listener2
      // Quelle Forum: https://forum.iobroker.net/topic/18501/emails-empfangen
       
      createState("IMAP.EmailSubject");
      createState("IMAP.Email_Eingang"); 	//dieser Datenpunkt wird erzeugt
      createState("IMAP.EmailText");		//dieser Datenpunkt enthält den email-Text
       
          var MailListener = require("mail-listener2-updated");
          var mailListener = new MailListener({
            username: "xxxxxxx@gmail.com",    // HIER Email Adresse eintragen
            password: "12345",	      // HIER Passwort eintragen	
            host: "imap.gmail.com",
            port: 993, // imap port
            tls: true,
            connTimeout: 10000, // Default by node-imap
            authTimeout: 5000, // Default by node-imap,
            debug: null, // Or your custom function with only one incoming argument. Default: null
            tlsOptions: { rejectUnauthorized: false },
            mailbox: "INBOX", // HIER Postfach eingeben z.B. INBOX 
            searchFilter: ["UNSEEN"], // the search filter being used after an IDLE notification has been retrieved
            markSeen: true, // all fetched email willbe marked as seen and not fetched next time
            fetchUnreadOnStart: true, // use it only if you want to get all unread email on lib start. Default is `false`,
            mailParserOptions: {streamAttachments: false}, // options to be passed to mailParser lib.
            attachments: false, // download attachments as they are encountered to the project directory
            attachmentOptions: { directory: "attachments/" } // specify a download directory for attachments
          });
       
          mailListener.start();
          mailListener.on("server:connected", function(){console.log("------- imapConnected");});
          mailListener.on("server:disconnected", function(){console.log("------- imapDisconnected");});
          mailListener.on("error", function(err){console.log(err);});
          mailListener.on("mail", function(mail, seqno, attributes){
              //log(mail.from[0].address);
              //log(mail.from[0].name);
              log(mail.subject);
              //log( mail.text);
           setState("IMAP.Email_Eingang",mail.from[0].address);  	//setze Datenpunkt mit Email-Absender (als Trigger nutzbar)
           setState("IMAP.EmailText",mail.text);                   //setze Datenpunkt mit kompletten Email-Inhalt
           setState("IMAP.EmailSubject",mail.subject);			//Betreff
          });
          // mailListener.on("attachment", function(attachment){console.log(attachment.path);}); //wenn Anhänge verarbeitet werden sollen einkommentieren
      
      

      Oder vielleicht hat jemand einen Eintrag im Forum entdeckt der das selbe Problem beschreibt. Ich bis jetzt noch nicht.
      MfG
      Patrick

      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von
      #2

      @marsmännchen

      ich habe das mail holen als function, die alle x-minuten aufgeruft wird - nachdem die function die mails geholt hat, wird ein mailListener.stop(); ausgeführt

      in diesem script kannst du das sehen https://forum.iobroker.net/post/484416

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      M 1 Antwort Letzte Antwort
      0
      • liv-in-skyL liv-in-sky

        @marsmännchen

        ich habe das mail holen als function, die alle x-minuten aufgeruft wird - nachdem die function die mails geholt hat, wird ein mailListener.stop(); ausgeführt

        in diesem script kannst du das sehen https://forum.iobroker.net/post/484416

        M Offline
        M Offline
        marsmännchen
        schrieb am zuletzt editiert von
        #3

        @liv-in-sky danke, ist das diese "async function getMail()" Funktion?

        Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
        Wago PFC200 mit Dali Lichtsteuerung.

        liv-in-skyL 1 Antwort Letzte Antwort
        0
        • M marsmännchen

          @liv-in-sky danke, ist das diese "async function getMail()" Funktion?

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #4

          @marsmännchen ja genau - ganz unten im script

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          M 1 Antwort Letzte Antwort
          1
          • liv-in-skyL liv-in-sky

            @marsmännchen ja genau - ganz unten im script

            M Offline
            M Offline
            marsmännchen
            schrieb am zuletzt editiert von
            #5

            @liv-in-sky Ohje, na vielen Dank für den Tipp.:+1:

            Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
            Wago PFC200 mit Dali Lichtsteuerung.

            1 Antwort Letzte Antwort
            0
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            900

            Online

            32.6k

            Benutzer

            81.9k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Home
            • Aktuell
            • Tags
            • Ungelesen 0
            • Kategorien
            • Unreplied
            • Beliebt
            • GitHub
            • Docu
            • Hilfe