Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Emails empfangen.

    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

    Emails empfangen.

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

      Muss das

      npm install mail-listener2

      in einem bestimmten Verzeichnis ausgeführt werden ?
      Ich bekomme so ein paar Warnungen 😰

      npm WARN deprecated mailparser@0.4.9: Mailparser versions older than v2.3.0 are deprecated
      npm WARN deprecated mimelib@0.3.1: This project is unmaintained
      npm WARN saveError ENOENT: no such file or directory, open '/home/bernd/package. json'
      npm notice created a lockfile as package-lock.json. You should commit this file.
      npm WARN enoent ENOENT: no such file or directory, open '/home/bernd/package.jso n'

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

        Ich habe den npm-Befehl in /opt/iobroker/ aufgerufen.
        Dann wurde das installiert.

        dann habe ich dieses Script im Javascript-Adapter eingefügt und aktiviert und es bleibt (meistens) permanent aktiv und fragt den Posteingang ab.

        // Quelle Original: https://github.com/chirag04/mail-listener2
        // Quelle Forum: https://forum.iobroker.net/topic/18501/emails-empfangen
        
        createState("IMAP.Email_Eingang"); 	//dieser Datenpunkt wird erzeugt
        createState("IMAP.EmailText");		//dieser Datenpunkt enthält den email-Text
        
            var MailListener = require("mail-listener2");
            var mailListener = new MailListener({
              username: "beispiel@gmail.com",    // HIER Email Adresse eintragen
              password: "password",	      // 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: "GPS-Tracker/Tracker1", // 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
            });
            // mailListener.on("attachment", function(attachment){console.log(attachment.path);}); //wenn Anhänge verarbeitet werden sollen einkommentieren
        

        Der Datenpunkt javascript.0.IMAP.Email_Eingang eignet sich dann gut als Trigger, um Emails von bestimmtem Absender in einem anderen Script weiter zu verarbeiten.

        1 Reply Last reply Reply Quote 0
        • umbm
          umbm @thiel_marvin last edited by umbm

          @thiel_marvin sagte in Emails empfangen.:

          Wenn man Mails triggern will, die immer ähnlich aufgebaut sind - Lassen sich verschiedenen "createState" so erstellen, dass nur ein bestimmter Teil der Mail-Nachricht damit gefüllt wird?

          Ich habe mir jetzt mal eine Lösung gebaut, bei der man über eine Funktion mit Parametern einen bestimmten Teilinhalt der empfangenen email herausfiltern kann und anschließend nach Bedarf weiterbearbeiten oder in einen Datenpunkt schreiben kann.

          Als Blockly sieht die Funktion so aus:

          Blockly_TextExtrakt.jpg

          Es sind 3 Parameter beim Aufruf der Funktion zu übergeben:

          1. QuellTXT: Datenpunkt oder Variable mit dem Text
          2. CutInStrg: Zeichenkette VOR dem gesuchten Textbereich
          3. CutOutStrg: Zeichenkette NACH dem gesuchten Textbereich

          Rückgabe des Ergebnisses erfolgt über die Variable TextExtrakt

          Hier der Code zum Import in Blockly: Blockly_TextExtrakt.txt

          Wer es als reines JavaScript haben möchte, kann sich den Quellcode leicht aus Blockly kopieren.
          Ich bevorzuge als "Syntaxlegastheniker" nun mal Blockly, weil es für mich einfacher zu handhaben ist.

          1 Reply Last reply Reply Quote 2
          • S
            skokarl last edited by

            Super. 👍

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

              habt ihr das auch gemacht ?
              Update ?

              mail-listener2-updated

              1 Reply Last reply Reply Quote 0
              • W
                webseb79 last edited by

                Hallo in die Runde,
                ich habe das Script aus diesem Thread eingerichtet und es funktioniert einwandfrei.
                Nun bin ich nicht der Javascript-Kenner um spezielle Dinge anzupassen.
                Ich bekomme in meinen Datenpunkten immer nur eine Mail angezeigt ( UNSEEN ) aber auch manchmal nicht immer die letzte im Postfach.
                Wie kann ich nun das Script anpassen um mehrere ungelesene Emails und gelesene Emails aus meinem Postfach mir anzeigen zu lassen?

                Danke

                Sebastian

                1 Reply Last reply Reply Quote 0
                • T
                  Tjaden last edited by

                  Hallo zusammen,

                  ich nutze das Skript erfolgreich, habe jedoch das Problem dass der Mailaccount nur alle 1-2 Wochen eine Mail erhält (geht um die Abfallabholung) und das Skript zwischendrin offenbar die Verbindung zum imap-Server verliert.

                  Gehe ich Recht in der Annahme, dass

                  connTimeout und authTimeout tatsächlich nur die Timeouts in ms zum Verbindungsaufbau, nicht für die Verbindung selbst enthalten?

                  Ha jemand eine Idee was ich einstellen muss damit die Verbindung wirklich dauerhaft gehalten wird?

                  Grüße

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

                    Ich überwache mit einem Script imap.status
                    Wenn das 0 ist, deaktiviere ich das Script in javascript.x.scriptEnabled und aktiviere es nach 10 Sekunden wieder.
                    Nach dem Neustart des Scripts läuft es dann wieder.
                    Klappt bisher zuverlässig.

                    // IMAP Status überwachen und ggf Neustart
                    on({id: "javascript.0.IMAP.Status", change: "ne"}, function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      if (obj.id == 0) {
                        setState("javascript.0.scriptEnabled.IMAP.TrackerV1", false);
                        setStateDelayed("javascript.0.scriptEnabled.IMAP.TrackerV1", true, 10000, false);
                      }
                    });
                    
                    1 Reply Last reply Reply Quote 1
                    • umbm
                      umbm last edited by umbm

                      Nachtrag:
                      Mit fällt gerade ein, dass ich den Datenpunkt in dem IMAP-Script erzeugen lasse (ab Zeile 31)
                      Dann kann es separat überwacht werden, wie oben beschrieben.

                      // Quelle Original: https://github.com/chirag04/mail-listener2
                      // Quelle Forum: https://forum.iobroker.net/topic/18501/emails-empfangen
                      
                      createState("IMAP.Email_Eingang");
                      createState("IMAP.EmailText");
                      createState("IMAP.Status");
                      
                          var MailListener = require("mail-listener2");
                          var mailListener = new MailListener({
                            username: "    ",    // hier Email Adresse eintragen
                            password: "    ",	      // hier Passwort eintragen	
                            host: "imap.gmail.com",  //Mailserver
                            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: "GPS-Tracker/WoMo-Tracker", // mailbox to monitor
                            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.warn("------- imapConnected");});
                          // IMAP-Status als Logausgabe und in Datenpunkt
                          mailListener.on("server:connected", function(){setState("IMAP.Status",1);});
                          mailListener.on("server:disconnected", function(){console.error("------- imapDisconnected");});
                          mailListener.on("server:disconnected", function(){setState("IMAP.Status",0);});
                          //
                          mailListener.on("error", function(err){console.error(err);}); // geändert auf Error im Log, 
                          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);
                              setState("IMAP.EmailText",mail.text);
                          });
                          // mailListener.on("attachment", function(attachment){console.log(attachment.path);});
                      
                      T 1 Reply Last reply Reply Quote 1
                      • T
                        Tjaden @umbm last edited by

                        @umbm Danke für den Workaround mit einem zweiten Script. Ich habe es gerade ergänzt und schaue mal, ob Donnerstag die Mail verarbeitet wird.

                        1 Reply Last reply Reply Quote 0
                        • L
                          lostall last edited by

                          Hallo Zusammen,
                          ich habe dieses Skript die ganze Zeit ohne Probleme verwendet. Durch einen Systemabsturz musste ich meinen Iobroker komplett neu aufsetzen. Ich habe ihn aus einem Backup wiederhergestellt.

                          Seitdem habe ich folgendes Problem:

                          2019-08-04 19:34:00.536 - error: javascript.0 script.js.common.Email.Email_empfangen2: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/mail-listener2'
                          2019-08-04 19:34:00.536 - error: javascript.0 at Object. (script.js.common.Email.Email_empfangen2:15:24)
                          2019-08-04 19:34:00.537 - error: javascript.0 Error in callback: TypeError: MailListener is not a constructor
                          2019-08-04 19:34:00.537 - error: javascript.0 at Object. (script.js.common.Email.Email_empfangen2:16:24)
                          
                          

                          Wie kann ich denn im "Ordner " node_modules was ergänzen ?
                          Mein System hat soweit die gleichen Parameter wie zuvor, da es aus einer BackupDatei erstellt wurde.

                          Auch ein NPM Install von mail-listener2 hat keine abhilfe geschaffen.

                          Wäre super, wenn jemand von euch eine Idee hat?!

                          Glasfaser 1 Reply Last reply Reply Quote 0
                          • Glasfaser
                            Glasfaser @lostall last edited by

                            @lostall

                            Auch hier eingetragen !?

                            11.JPG

                            L 1 Reply Last reply Reply Quote 0
                            • L
                              lostall @Glasfaser last edited by

                              @Glasfaser wow super !
                              jetzt klappt es.
                              Letztes Mal hatte ich dort nichts eintragen müssen.

                              Vielen Dank!! Happy

                              1 Reply Last reply Reply Quote 0
                              • M
                                mameier1234 last edited by mameier1234

                                Hallo,

                                ich bin gestern durch einen Zufall auf dieses Script aufmerksam geworden und habe es gleich mal ausprobiert...

                                Funktioniert !! (fast)

                                Ich würde damit gerne meine Poolwerte loggen. Ich nutze BlueConnect, da gibt es nur eine App, und wohl noch keine Api... Aber man kann sich eine Automatisierte Mail mit den Messwerten senden lassen..

                                Allerdings wird genau von dieser Mail nicht der Inhalt ausgelesen... Wenn ich die Mail einmal weiterleite, dann geht es ... Ich verstehe es einfach nicht..

                                Der Absender wird gesehen (die Mail also an sich ) aber der Inhalt bleibt beim Inhalt der letzten Mail.... Was könnte das sein ?

                                PS: Ich habe das Problem jetzt erstmal so gelöst, dass ich die Mails mit den Werten per IFTTT und O365 verschicke und dann hier abfrage... Dann mit dem Textextract Blockly mir die Werte in Datenpunkte schreibe ...

                                Perfekt !!
                                Danke für diesen Thread !

                                1 Reply Last reply Reply Quote 0
                                • P
                                  pix last edited by

                                  Hab ein ähnliches Problem. Muss die Mail immer zweimal senden, damit die Werte ankommen.

                                  Pix

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

                                    Lieber Leute,

                                    genau das habe ich gesucht. Ich werde mich bei Gelegenheit einmal da einlesen und probieren das auszulesen.

                                    Hintergrund: Unsere Telenot- Alarmanlage will nicht nach draußen funken bzw. von extern abgefragt werden (außer der App).

                                    Da mit kann ich dann den allgemeinen Alarmstatus (an/aus/intern an) abfragen und Automatisierungen anstoßen.

                                    Beispielsweise- Stromzufuhr Fernseher aus bei Scharf-Schalten des Alarms. Außerdem Markise einfahren und Rolläden runter.

                                    Nur so ein paar Gedanken. Da fehlt aber noch bisschen bei mir zu Hause, die ich vorher machen muss 😉

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

                                      GELÖST npm install mail-listener4 --save

                                      Hallo,

                                      ich habe das mail-listener2 skript auch laufen und durch "Subject" ergänzt. Wenn mir meine IPCam eine Email mit einem definierten Betreff schickt, soll ein Bild an Telegram gesendet werden.

                                      Wenn so eine Email OHNE Anhang eintrifft, wird durch das Blockly ein Bild der IPCam verschickt.
                                      Enthält diese Email mit dem Betreff aber einen Anhang, in dem Fall ein Bild von der IPCam, löst das Blockly nicht aus, es wird kein Bild per Telegram verschickt. Bei IMAP.Subject steht aber der richtige Betreff drinnen.

                                      Hat jemand eine Erklärung dafür ???

                                      capture_001_08112019_115736.jpg

                                      // Quelle Original: https://github.com/chirag04/mail-listener2
                                      // Quelle Forum: https://forum.iobroker.net/topic/18501/emails-empfangen
                                       
                                      createState("IMAP.Email_Eingang");
                                      createState("IMAP.EmailText");
                                      createState("IMAP.Status");
                                      createState("IMAP.Subject");
                                       
                                          var MailListener = require("mail-listener2");
                                          var mailListener = new MailListener({
                                            username: "xxx@gmail.com",    // hier Email Adresse eintragen
                                            password: "xxx",	      // hier Passwort eintragen	
                                            host: "imap.gmail.com",  //Mailserver
                                            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: "IPCam", // mailbox to monitor
                                            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: true}, // options to be passed to mailParser lib.
                                            attachments: true, // 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.warn("------- imapConnected");});
                                          // IMAP-Status als Logausgabe und in Datenpunkt
                                          mailListener.on("server:connected", function(){setState("IMAP.Status",1);});
                                          mailListener.on("server:disconnected", function(){console.error("------- imapDisconnected");});
                                          mailListener.on("server:disconnected", function(){setState("IMAP.Status",0);});
                                          //
                                          mailListener.on("error", function(err){console.error(err);}); // geändert auf Error im Log, 
                                          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);
                                              setState("IMAP.EmailText",mail.text);
                                              setState("IMAP.Subject",mail.subject);
                                          });
                                          mailListener.on("attachment", function(attachment){console.log(attachment.path);});
                                      
                                      
                                      javascript.0	2019-11-09 13:13:41.187	info	(180) Terminated (NO_ERROR): Without reason
                                      javascript.0	2019-11-09 13:13:41.185	info	(180) terminating
                                      javascript.0	2019-11-09 13:13:41.177	info	(180) script.js.email:
                                      javascript.0	2019-11-09 13:13:41.177	info	(180) script.js.email: AlarmIPCamHof
                                      javascript.0	2019-11-09 13:13:41.177	info	(180) script.js.email: Björn G
                                      javascript.0	2019-11-09 13:13:41.176	info	(180) script.js.email: gaumnitz@gmail.com
                                      javascript.0	2019-11-09 13:13:41.130	info	(180) Stop script script.js.IMAP_Verbindung
                                      javascript.0	2019-11-09 13:13:41.130	info	(180) Stop script script.js.MDIPCamHof
                                      javascript.0	2019-11-09 13:13:41.128	info	(180) Stop script script.js.alarm_Bild_Telegram
                                      javascript.0	2019-11-09 13:13:41.128	info	(180) Stop script script.js.email
                                      javascript.0	2019-11-09 13:13:41.126	info	(180) Stop script script.js.klingeltaster_Tor
                                      javascript.0	2019-11-09 13:13:41.124	info	(180) Stop script script.js.Türklingel
                                      javascript.0	2019-11-09 13:13:41.123	info	(180) Stop script script.js.4chTaste4
                                      javascript.0	2019-11-09 13:13:41.098	info	(180) Stop script script.js.VIS_Refresh
                                      javascript.0	2019-11-09 13:13:41.097	info	(180) Stop script script.js.Anrufliste
                                      javascript.0	2019-11-09 13:13:41.096	error	(180) TypeError: mime.extension is not a function at MailParser._generateFileName (C:\iobroker-data\SmartHome\node_modules\iobroker.javascript\node_modules\mail-listener2\node_modules\mailparser\l
                                      javascript.0	2019-11-09 13:13:41.095	error	(180) uncaught exception: mime.extension is not a function
                                      javascript.0	2019-11-09 13:13:06.421	info	(180) Stop script script.js.Bild_an_Telegram
                                      javascript.0	2019-11-09 13:12:57.415	info	(180) script.js.Bild_an_Telegram: Webcam Bild per telegram verschickt
                                      javascript.0	2019-11-09 13:12:55.414	info	(180) script.js.Bild_an_Telegram: Webcam Bild gespeichert
                                      javascript.0	2019-11-09 13:12:54.405	info	(180) script.js.Bild_an_Telegram: registered 0 subscriptions and 0 schedules
                                      javascript.0	2019-11-09 13:12:54.373	info	(180) Start javascript script.js.Bild_an_Telegram
                                      javascript.0	2019-11-09 13:12:54.331	info	(180) script.js.email:
                                      javascript.0	2019-11-09 13:12:54.330	info	(180) script.js.email: AlarmIPCamHof
                                      javascript.0	2019-11-09 13:12:54.330	info	(180) script.js.email: Björn G
                                      javascript.0	2019-11-09 13:12:54.329	info	(180) script.js.email: xxx@gmail.com
                                      javascript.0	2019-11-09 13:11:17.945	warn	(180) script.js.email: ------- imapConnected
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • K
                                        Knusterus last edited by Knusterus

                                        Hallo zusammen
                                        Ich verwende auch dieses Script und es funktioniert auch, aber es wird immer nur die letzte Mail dargestellt.
                                        Wie kann ich es lösen ,das mir abends wenn ich nach Hause komme, alle ungelesenen Mails angezeigt werden?
                                        Wichtig wäre noch das die Mails auf dem Server als ungelesen bleiben.
                                        Danke schon mal für eure Hilfe
                                        Volker

                                        1 Reply Last reply Reply Quote 0
                                        • bahnuhr
                                          bahnuhr Forum Testing Most Active last edited by

                                          Halllo,

                                          mein System läuft auf win10 mit win-installer von stabilo...

                                          Nun wollte ich auch den mail-listener installieren.

                                          Also cmd aufgerufen und
                                          npm install mail-listener2
                                          eingegeben.

                                          Dies führte dann zum Chaos !!!!!!!!!!!!!

                                          Es kamen Fehler (die auf Seite 2 von skoarl auch genannt wurden):
                                          npm WARN deprecated mailparser@0.4.9: Mailparser versions older than v2.3.0 are deprecated
                                          npm WARN deprecated mimelib@0.3.1: This project is unmaintained

                                          Dann kamen auch: remove ...
                                          Den Prozess habe ich dann abgebrochen.

                                          Es lief dann nichts mehr!
                                          iob dienst unter win lässt sich nicht mehr starten.
                                          iob lief gar nicht mehr.

                                          Musste dann alles deinstallieren, löschen, etc und alles neu aufbauen.

                                          Jetzt läuft es wieder.

                                          Dies nur so als Wanrung für andere, die dies probieren unter win.
                                          Ich weiß nicht woran es gelegen hat.

                                          Aber jetzt läuft wieder alles.

                                          mfg

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            M-A-X last edited by

                                            Hallo,
                                            Zur Einführung: ich versuche gerade meine Anwesenheitserkennung einzurichten, wobei ich gerne auf dem Weg nach Hause schon einen Trigger hätte (also bevor Bluetooth und WLAN sich connecten). Da die fertigen Lösungen alle Ihre Probleme haben, wollte ich vom Handy per "Tasker" eine Email an Iobroker schicken lassen, sobald ich in eine Zone einfahre / einlaufe.
                                            Ist dieser Adapter hier die einzige Möglichkeit im Iobroker Emails zu "lesen"? Ich frage, weil der Adapter nicht ohne Github Installation vorhanden ist trotz des Alters und der Adapter auch scheinbar nicht weiter entwickelt wird 🙂
                                            Grüße und Vielen Dank,
                                            Max

                                            bahnuhr 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

                                            489
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            31
                                            119
                                            18717
                                            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