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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Test Adapter ioBroker.imap latest/stable

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      Lucky_ESA Developer Most Active last edited by Lucky_ESA

      Aktuelle Test Version 0.3.0
      Veröffentlichungsdatum 26.02.2023
      Github Link https://github.com/Lucky-ESA/ioBroker.imap
      Status Nun als Stable 0.1.2 verfügbar

      Hallo zusammen,

      habe mal einen IMAP Adapter gschrieben. Es können beliebig viele IMAP Verbindungen anlegen und überwacht werden.
      Updates oder neue Mails werden automatisch erkannt und die Infos in den Datenpunkten geschrieben.

      Hier nun die Beschreibung:
      Einstellung Instanz

      • Aktiv: IMAP Verbindung aktivieren
      • Host: Bsp:. imap.gmail.com
      • Posteingang: Standard INBOX
      • Port: Standard ist 993
      • Benutzername: Dein Loginname
      • Passwort: Dein Passwort
      • max.: Maximale Anzahl an Mails die als Datenpunkte angelegt werden (max. 99)
      • max. HTML: Maximale Anzahl an Mails die als HTML ausgegeben werden (max. 99)
      • TLS: TLS Verschlüsselung. Sollte immer true haben
      • Flaggen: Hier sind die Flags
      • Symbol auswählen: Hier erst über "Symbole Erstellen" ein ICON hochladen. Wird als Folder ICON verwendet
      • Token: Bsp.: Für Outlook. Ob das funktioniert kann ich nicht sagen
      • tls-Option: Bsp.: {"rejectUnauthorized": false} oder leer lassen {}
      • Auto-TLS: Hier lesen

      Datenpunkte

      • imap.0.xx.email: Hier werden die Mails angelegt wie in der Instanz eigestellt wurde. Habt ihr nur 7 Mails und
        max. 10 eingetragen, bleiben die letzten 3 leer. Habt ihr 10 Mails und löscht 3, werden die letzten 3 Mails nicht geleert.
      • imap.0.xx.remote.html: Hier könnt ihr euren CSS-Style anpassen
      • imap.0.xx.remote.criteria: Neue Suchkreterium. Bleibt auch bei einem Neustart aktiv (auch als Blockly möglich)
      • imap.0.xx.remote.reload_emails: Änderungen in HTML werden erst bei einer Aktualisierung übernommen. Hiermit kannst du den Code sofort übernehmen.
      • imap.0.xx.remote.search_start: show_mails und criteria anwenden
      • imap.0.xx.remote.show_mails: Die Anzahl in der Instanz Konfig ändern (auch als Blockly möglich)
      • imap.0.xx.html: HTML Code für VIS
      • imap.0.xx.last_activity: Letzte Aktivität (Aktualisierung/Neue Post)
      • imap.0.xx.last_activity_json: Bsp.: {"flags": ["\Seen"]} für als gelesen markiert
        oder {"flags": []} für neue Post.
      • imap.0.xx.last_activity_timestamp: Letzte Aktivität als Timestamp
      • imap.0.xx.online: Mit IMAP verbunden = true
      • imap.0.xx.quality: Qualität der Datenpunkte (automatische Prüfung alle 24h)
      • imap.0.xx.total: Anzahl aller Mails in deiner Inbox.
      • imap.0.xx.remote.change_folder: Hier könnt ihr eure Folder auswählen. Es werden dann alle Daten mit dem Inhalt dieses Folder gefühlt (Mail01, json_table etc). Allerdings wird dann auch nur diese Auswahl überwacht.
      • imap.0.xx.active_inbox: Zeigt euch welcher Folder aktiv ist und überwacht wird
      • imap.0.xx.total_unread: Anzahl ungelesene Mails im aktiven Folder
      • imap.0.xx.total: Anzahl aller Mails im aktiven Folder

      Blocklys


      bild4.png
      Screenshot 2023-03-07 221651.png

      Der kleine Blockly steuert die o. g. Datenpunkte um die Suche zu ändern.
      Mit dem großen können eigene Anfragen erstellt werden und ihr erhaltet einen Array mit JSON Elemente. ACHTUNG! Es kommen echt viele Daten daher nicht immer mit "debug output" arbeiten. Was möglich ist könnt ihr hier nachlesen.
      Habe diesen Adapter für mich und meine Berdürfnisse geschrieben. Nun könnt ihr gerne Wünsche aussern die ich hinzufügen soll.

      Eine VIEW von @sigi234

      Gmail login

      outlook.office365.com 2Fach-Authentifizierung

      Bekannte Issues

      • Habe noch keine Idee die Mail Total zu aktualisieren - done
      • Es wird auch ein Update durchgeführt, wenn Mails ausserhalb der max. liegen. Ihr habt max. 20 eingetragen und die Mail 22 wird als gelesen markiert, dann wird trotzdem ein Update gefahren. - done

      Bitte den RAM Verbrauch kontrollieren. Bei 4 IMAP`s komme ich schon auf 120MB.

      Viel Spaß beim testen und ich hoffe auch gute Ideen die man auch umsetzen kann 🙂

      Gruß//Lucky

      M sigi234 D3ltoroxp David G. 20 Replies Last reply Reply Quote 4
      • L
        Lucky_ESA Developer Most Active last edited by Lucky_ESA

        Hallo zusammen,

        hier nun eine Erklärung wie ihr die u. a. Datenpunkte nutzen könnt.
        Diese Datenpunkte könnt ihr auch mit diesem Blockly setzen:
        Screenshot 2023-03-19 141442.png
        imap.0.xx.remote.show_mails: Maximal Ausgabe von Mails mit dem u. a. Kriterien. Diese Anzahl ist nicht bregrenzt und kann somit euren ibroker lahmlegen. 1000 Mails benötigt ca. 5 Minuten Ladezeit!

        Diese Änderung kann nur mit einem Restart oder neues setzen von den Einstellungen aus der Instanz Konfig rückgängig gemacht werden.

        imap.0.xx.remote.criteria:
        Alle Mails

        ["ALL"]
        

        Alle Mails mit dem Flag „ANSWERED“

        ["ANSWERED"]
        

        Alle Mails die den Flag „UNANSWERED“ nicht haben

        ["UNANSWERED"]
        

        Alle Mails mit dem Flag „DELETED“

        ["DELETED"]
        

        Alle Mails die den Flag „UNDELETED“ nicht haben

        ["UNDELETED"]
        

        Alle Mails mit dem Flag „DRAFT“

        ["DRAFT"]
        

        Alle Mails die den Flag „UNDRAFT“ nicht haben

        ["UNDRAFT"]
        

        Alle Mails mit dem Flag „FLAGGED“

        ["FLAGGED"]
        

        Alle Mails die den Flag „UNFLAGGED“ nicht haben

        ["UNFLAGGED"]
        

        Alle Mails mit dem Flag „RECENT“ und kein „SEEN“ Flag

        ["NEW"]
        

        Alle Mails die den Flag „RECENT“ nicht haben

        ["OLD"]
        

        Alle Mails mit dem Flag „SEEN“

        ["SEEN"]
        

        Alle Mails mit dem Flag „UNSEEN“

        ["UNSEEN"]
        

        Alle Mails mit dem Flag „RECENT“ -> Neue Mails und noch nicht gesehen

        ["RECENT"]
        

        Oder auch mehrere möglich:

        ["UNSEEN", "FLAGGED"]
        

        Alle Mails die am 01.03.2023 bis zum 13.03.2023 eingegangen sind. Das ALL kan mit den obrigen ersetzt werden

        ["ALL",["SINCE","Mar 01, 2023"],["BEFORE","Mar 13, 2023"]]
        

        Alle Mails mit dem Flag „SEEN“ die seit dem 01.06.2022 (auch mit Urzeit) empfangen wurden.

        ["ALL",["SINCE", "June 01, 2022"]]
        ["ALL",["SINCE", "Jun 01, 2022"]]
        ["ALL",["SINCE", '2022-06-01 23:59:00'] ]
        

        Alle Mails von github@luckyskills.de

        ["ALL", ["HEADER", "FROM", "github@luckyskills.de"]]
        

        Alle Mails von github@luckyskills.de seit dem 01.03.2023

        ["ALL", ["HEADER", "FROM", "github@luckyskills.de"], ["SINCE", "Mar 01, 2023"]]
        

        Mögliche Headers:
        SUBJECT
        FROM
        TO
        TEXT

        Weitere Beispiele folgen.

        Gruß//Lucky

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

          @lucky_esa
          Kleinigkeiten bei der HTML-Erstellung
          -> E-Mail nicht mit den richtigen Daten gefüllt.

          da12fea2-cebd-41d7-a366-c2ee5d32762c-image.png

          Ab der 2. Mail wird doppelt angezeigt.
          384d5c15-0133-4b11-b74f-660a028851e9-image.png

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

            @mcu Jetzt wird es schwierig...Was hast du für Einstellungen vorgenommen das es so bei dir aussieht. Wahrscheinlich benötigt ich ein Debug Log per Mail warum Daten bei dir doppelt kommen.


            Screenshot 2023-02-26 223446.png

            Bitte auf debug umstellen und nach ca. 30 Sekunden wieder auf Info umstellen.
            Das Logfile mit zusenden: github@luckyskills.de
            Auf keine Fall vergessen auf Info umzustellen. Es kommen echt viele Daten und dein Log kann schnell auf GB anwachsen. Habe zur Sicherheit die Daten der Anhänge aus dem Log genommen.

            Gruß//Lucky

            Gruß//Lucky

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

              @lucky_esa Liegt nicht an einem Konto, sondern daran, wenn man mehrere gmail-Konten nutzt.

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

                @mcu sagte in Test Adapter ioBroker.imap v0.0.1 GitHub:

                @lucky_esa Liegt nicht an einem Konto, sondern daran, wenn man mehrere gmail-Konten nutzt.

                Wie hast du mehere Konten in der Instanz Konfig angelegt? Da gibt es doch immer unterschiedliche Benutzernamen...
                Die eMail Adesse im Header musst du unter remote.html ändern.

                Gruß//Lucky

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

                  @lucky_esa

                  1. Wenn möglich bitte die E-Mail Adresse automatisch in remote.html setzen.

                  2. zurzeit keine doppelten Einträge in html
                    c694bdc8-30c0-42b3-b0bd-81d032b4ed34-image.png

                  3. Im HTML-Code sind 2 Dinge die für jarvis nicht passen .

                  class "container"
                  e5be647d-e148-4fb6-b955-21c1647ccef3-image.png

                  Style -> Tabelle wird falsch angezeigt

                  div.container {
                       align-items: center;
                       justify-content: center
                  }
                  

                  74deda5e-cd52-4df6-aa60-9435bc0cd030-image.png

                  Nehme ich die Klasse raus passt es

                  8e2ca622-9092-4280-9d2d-93832d0d542f-image.png

                  1. Einträge in remote.html werden nicht umgesetzt

                  586aefb5-5a30-46c7-8b47-10ee67ff8dea-image.png

                  <th style="text-align:center; width:auto">
                              &ensp;ID&ensp;
                              </th>
                              <th style="text-align:center; width:auto">
                              &ensp;Von&ensp;
                              </th>
                              <th style="text-align:center; width:auto">
                              &ensp;Betreff&ensp;
                              </th>
                              <th style="text-align:center; width:auto">
                              &ensp;Datum&ensp;
                              </th>
                              <th style="text-align:center; width:auto">
                              &ensp;Inhalt&ensp;
                              </th>
                              <th style="text-align:center; width:auto">
                              &ensp;Sequenznummer&ensp;
                              </th>
                              <th style="text-align:center; width:auto">
                              &ensp;Flaggen&ensp;
                              </th>
                  
                  1. Bitte auch ein json-DP mit den E-Maildaten
                  sigi234 L 2 Replies Last reply Reply Quote 0
                  • sigi234
                    sigi234 Forum Testing Most Active @Lucky_ESA last edited by

                    @lucky_esa

                    Was mache ich Falsch?

                    Fehler bei Host xxxxxxxxx_gmail_com - Error: Application-specific password required: https://support.google.com/accounts/answer/185833 (Failure) at Connection._resTagged (C:\ioBroker\node_modules\node-imap\lib\Connection.js:1272:13) at Parser.<anonymous> (C:\ioBroker\node_modules\node-imap\lib\Connection.js:190:12) at Parser.emit (node:events:513:28) at Parser._resTagged (C:\ioBroker\node_modules\node-imap\lib\Parser.js:169:12) at Parser._parse (C:\ioBroker\node_modules\node-imap\lib\Parser.js:135:18) at Parser._tryread (C:\ioBroker\node_modules\node-imap\lib\Parser.js:77:17) at TLSSocket.Parser._cbReadable (C:\ioBroker\node_modules\node-imap\lib\Parser.js:55:14) at TLSSocket.emit (node:events:513:28) at emitReadable_ (node:internal/streams/readable:578:12) at processTicksAndRejections (node:internal/process/task_queues:82:21) { type: 'no', textCode: 'ALERT', source: 'authentication' }.
                    
                    1 Reply Last reply Reply Quote 0
                    • sigi234
                      sigi234 Forum Testing Most Active @Lucky_ESA last edited by

                      @lucky_esa sagte in Test Adapter ioBroker.imap v0.0.1 GitHub:

                      Ich verwende das NPM Modul node-imap und es funktioniert noch. Habe allerdings auch ein aktuelles imapflow gefunden was ich parrallel teste.

                      Muss ich das node-imap in JS als zusätzliches Modul eintragen?

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

                        @sigi234 Gmail hat doch wie immer eine Extrawurst. Du musst nach dieser Anleitung dein PW generieren 🙂

                        sigi234 1 Reply Last reply Reply Quote 0
                        • sigi234
                          sigi234 Forum Testing Most Active @Lucky_ESA last edited by

                          @lucky_esa sagte in Test Adapter ioBroker.imap v0.0.1 GitHub:

                          @sigi234 Gmail hat doch wie immer eine Extrawurst. Du musst nach dieser Anleitung dein PW generieren 🙂

                          Funktioniert!

                          1 Reply Last reply Reply Quote 0
                          • sigi234
                            sigi234 Forum Testing Most Active @MCU last edited by

                            @mcu sagte in Test Adapter ioBroker.imap v0.0.1 GitHub:

                            Bitte auch ein json-DP mit den E-Maildaten

                            Ja, und bitte einen DP Json Table

                            1 Reply Last reply Reply Quote 0
                            • sigi234
                              sigi234 Forum Testing Most Active @Lucky_ESA last edited by

                              @lucky_esa

                              Hallo, sehe das nicht als error:

                              imap.0
                              2023-02-27 06:41:49.532	error	Fehler bei Host xxxxxxxxx_gmail_com - Mailbox is empty.
                              
                              L 1 Reply Last reply Reply Quote 0
                              • L
                                Lucky_ESA Developer Most Active @MCU last edited by

                                @mcu sagte in Test Adapter ioBroker.imap v0.0.1 GitHub:

                                @lucky_esa

                                1. Wenn möglich bitte die E-Mail Adresse automatisch in remote.html setzen.
                                  done
                                2. Im HTML-Code sind 2 Dinge die für jarvis nicht passen .
                                  Kannst du jetzt mit html.jarvis == true deaktivieren
                                3. Einträge in remote.html werden nicht umgesetzt
                                  done
                                4. Bitte auch ein json-DP mit den E-Maildaten
                                  done

                                Gruß//Lucky

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

                                  @sigi234 sagte in Test Adapter ioBroker.imap v0.0.1 GitHub:

                                  @lucky_esa

                                  Hallo, sehe das nicht als error:

                                  imap.0
                                  2023-02-27 06:41:49.532	error	Fehler bei Host xxxxxxxxx_gmail_com - Mailbox is empty.
                                  

                                  geändert in Info

                                  Gruß//Lucky

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

                                    Hallo zusammen,

                                    nun zu den JSON. Habe lange Zeit darüber nachgedacht diesen zur Verfügung zu stellen und hatte mich eigentlich dagegen entschieden. Warum? Es sind einfach zu viele Daten die in die DB von iobroker geschrieben werden.
                                    Habe jetzt mal 2 Alternativen implementiert.
                                    Zum testen gibt es den neuen Datenpunkt imap.0.xx.json in dem jetzt die Daten geschrieben werden. Ihr könnt euch da selber mal ein Bild von der enormen Datenmenge machen.
                                    Daher habe ich noch ein Blockly hinzugefügt. Hier könnt ihr den JSON holen oder alle Sequenz ID`s und diese weiter verarbeiten.
                                    Screenshot 2023-02-27 193802.png
                                    Was meint ihr?

                                    Gruß//Lucky

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

                                      @lucky_esa Bei html.jarvis ist anscheinend noch div.container im style drin. Also Problem noch vorhanden.

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

                                        @mcu sagte in Test Adapter ioBroker.imap v0.0.1 GitHub:

                                        @lucky_esa Bei html.jarvis ist anscheinend noch div.container im style drin. Also Problem noch vorhanden.

                                        Upps, Gedankenfehler. Mach bitte mal im Datenpunkt xxx.html aus

                                        div.container
                                        

                                        das hier:

                                        .container
                                        
                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          MCU @Lucky_ESA last edited by MCU

                                          @lucky_esa Dann gibt es noch ein Problem mit der Höhe ?
                                          0f68a687-0df6-449d-8341-5b1c714c0295-image.png

                                          JSON Aufbau müsste geändert werden, damit man es nutzen kann.

                                          [{"Received":"","from":"", "html":"","flag":""}]
                                          

                                          Das andere ist für Super-Experten?

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

                                            also muss dann alles raus? Verstehe das nicht wie jarvis das darstellt. Habe den HTML Code mit Validator geprüft und habe 0 Fehler...

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            824
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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