Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. [gelöst]nodered mail empfangen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst]nodered mail empfangen

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @mickym last edited by

      @mickym

      das ändert nix - es wird kein json erzeugt und es immer noch nur die letze mail

      Image 094.png

      irgendwie fehlt da was, was die einzelnen mails sammelt und dann erst in den dp schreibt

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @liv-in-sky last edited by mickym

        @liv-in-sky Was machst du in der Change node? Du hast doch die Debug Node direkt mit der switch Node verbunden und gesagt da ist alles drin. Wenn Du mit dem zufrieden bist - dann schmeiss doch die Change Node weg. Die macht irgendwas kaputt. Ich seh halt nicht was. 😉

        Entweder ist in der Debug Node alles drin oder nur jeweils eine einzelne Nachricht. Sehe ja das Debug Fenster nicht, aber gehe nun davin aus. 😉 Wenn Du die in einem Array gesammelt haben willst dann musst halt noch eine JOIN Node vorher sammeln. Dann am besten ein Zeitlimit erstellen - da Du ja nicht weisst wieviele Nachrichten.

        6b4e55bc-aad0-4bf5-bf1b-d905fe279259-image.png

        liv-in-sky 2 Replies Last reply Reply Quote 1
        • liv-in-sky
          liv-in-sky @mickym last edited by

          @mickym die change node brauche ich, da sonst nur der email-text kommt

          Image 095.png

          ohne kommt halt der text der letzten mail - ich brauche aber das subject der mails - json wird auch nicht erzeugt

          der output im debug sieht so aus - man sieht alle mails - letztlich wird sehr sehr schnell jedes mails-subject in den dp geschrieben - und so bleibt das letzte übrig:

          Image 096.png

          Image 097.png

          mickym 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @mickym last edited by

            @mickym sagte in nodered mail empfangen:

            JOIN Node vorher

            jetzt sieht es besser aus - habe ein array - leider noch nicht perfekt, da im subject immer ein komma ist - das heißt ich kann das nicht verarbeiten in javascript - aber das komma kann ich ersetzen

            die json node macht übrigens garnix -

            Image 098.png

            1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @liv-in-sky last edited by mickym

              @liv-in-sky Nein - ich verstehe zwar was Du willst - da die iobroker-Out Node nur eine payload verarbeitet. Aber mach halt mal eine E-Mail - die vom Inhalt unkritisch ist auf - und zwar komplett. - Wenn Du das topic drin haben willst - und die originale payload den mail text?? Ich habs gerade nicht im Kopf.

              Dann machst Du erst mal folgendes und änderst erst mal die Change Node wie folgt

              eec4c72d-2808-4d61-9b14-ba6aad6cf3f6-image.png

              Dann die Nachrichten via JOIN sammeln und konvertieren und schreiben.

              ac02cc98-6feb-4488-8094-579d9a5b6e9d-image.png

              Wenn du das topic zuerst in den Eigenschaften haben willst - musst die Change Node leicht abändern:

              5c0c01cf-2560-4a89-ad78-06dbba25bf30-image.png

              Kommas spielen keine Rolle:

              09a2f7c8-7e40-4f0a-962b-9b28a47d63bf-image.png

              EDIT:

              Hier zum Import:

              [
                 {
                     "id": "bc0a996e6d52e555",
                     "type": "join",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "mode": "custom",
                     "build": "array",
                     "property": "payload",
                     "propertyType": "msg",
                     "key": "topic",
                     "joiner": "\\n",
                     "joinerType": "str",
                     "accumulate": false,
                     "timeout": "2",
                     "count": "",
                     "reduceRight": false,
                     "reduceExp": "",
                     "reduceInit": "",
                     "reduceInitType": "",
                     "reduceFixup": "",
                     "x": 490,
                     "y": 2980,
                     "wires": [
                         [
                             "843cf6dfa5be2318",
                             "ef8dd5a29a584cf5"
                         ]
                     ]
                 },
                 {
                     "id": "76cad86e32344135",
                     "type": "change",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "rules": [
                         {
                             "t": "move",
                             "p": "payload",
                             "pt": "msg",
                             "to": "text",
                             "tot": "msg"
                         },
                         {
                             "t": "move",
                             "p": "topic",
                             "pt": "msg",
                             "to": "payload.topic",
                             "tot": "msg"
                         },
                         {
                             "t": "move",
                             "p": "text",
                             "pt": "msg",
                             "to": "payload.text",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 310,
                     "y": 2980,
                     "wires": [
                         [
                             "bc0a996e6d52e555"
                         ]
                     ]
                 },
                 {
                     "id": "843cf6dfa5be2318",
                     "type": "json",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "property": "payload",
                     "action": "",
                     "pretty": false,
                     "x": 670,
                     "y": 2980,
                     "wires": [
                         [
                             "7dd8e8c7e6a67a86"
                         ]
                     ]
                 }
              ]
              

              ... musst also nur noch Deine Switch Node vorne und die iobroker-OUT Node hinten dran klemmen. Und natürlich wird nur die payload von der JSON Node bearbeitet. 😉

              1f61a85a-fa0a-44a1-a05a-cf3985b9332f-image.png

              Die iobroker-OUT Node schreibt NUR die payload weg - alles andere wird ignoriert - Ich hoffe Du hast den Datenpunkt wohin es geschrieben werden soll - in der iobroker-OUT Node definiert. In JS auf der anderen Seite einfach wieder mit JSON.parse - das Objekt rekonstruieren. 😉

              liv-in-sky 1 Reply Last reply Reply Quote 1
              • liv-in-sky
                liv-in-sky @mickym last edited by

                @mickym tausend dank - wußte doch, dass du da der richtige bist

                jetzt passt der output

                Image 099.png

                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @liv-in-sky last edited by

                  @liv-in-sky Ja und wenns mal mehr sind - halt in der JOIN Node die Sekunden erhöhen. Man kann das zwar auch mit einem trigger machen - aber warum soll man alles unnötig komplizieren, da Du ja NodeRed sonst nicht weiter einsetzt. 😉

                  liv-in-sky 3 Replies Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @mickym last edited by

                    @mickym

                    habe 10 sekunden eingegeben - dass reicht locker und das ganze ist nicht zeit-abhängig

                    leider funktionieren die mail-listener nodes nicht mehr (für javascript) seit dem neuen node update und ich finde es einfacher, mails mit nodered zu lesen - nachdem ich jetzt weiß, wie es funktioniert

                    nochmals danke

                    1 Reply Last reply Reply Quote 1
                    • liv-in-sky
                      liv-in-sky @mickym last edited by

                      @mickym

                      ich nochmal - ich bräuchte das ganze in anderer reihenfolge - im moment ist das aktuelle mail an letzter stelle - ich würde das ganze gerne in einem inventwo json widget anzeigen und die neuste mai oben haben . macht man da eine function mit z.b array.reverse() oder hast du eine andere idee ?

                      1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @mickym last edited by

                        @mickym

                        ich habe es so gemacht - oder gibt es dafür eine einstellung oder node ?

                        Image 103.png

                        mickym 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @liv-in-sky last edited by mickym

                          @liv-in-sky Nein - das passt schon - ansonsten würde man es mit einer Change-Node und JSONATA machen - aber kommt aufs Gleiche raus:

                          0c2d5b87-2412-4036-8050-ce0564d17499-image.png

                          Ach noch eine Ergänzung - da ja lieber JS machst, kannst Du natürlich auch alles in JS in function Nodes codieren - dann brauchst Du gar keine Nodes mehr bzw. nur noch Ein- und Ausgabe. 😉 - Geht in meinen Augen zwar der Sinn von der grafischen Darstellung verloren, aber für jemand dem das Codieren mehr liegt hättest Du den ganzen Flow auch in eine Function Node packen können. 😉

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

                            Ich hänge mich hier mal mit an, @liv-in-sky hat mir das gezeigt. Ich möchte auch gern auf Mails reagieren und zwar die von meinen Kids, wenn sie über Teams Nachrichten bekommen. Ich möchte nicht immer die Accounts switchen um zu schauen obs da was neues gibt. Daher würde ich da gern was auf der VIS machen und Benachrichtigt werden, wenn einer von Ihnen was neues im Account hat.

                            Müsste ich hiernach filtern ?

                            e8a01b65-7887-445d-b424-bcb72833d43f-grafik.png

                            So steht das immer im Topic / Betreff drin, also Teams und noch ein Standard Text dazu.

                            EDIT:

                            Sieht schon mal nicht schlecht aus.
                            22456dfa-4d2d-49fa-a940-2580eadac328-grafik.png

                            liv-in-sky 1 Reply Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @D3ltoroxp last edited by liv-in-sky

                              @d3ltoroxp

                              mach ich auch so - imsubject steht immer ein bestimmtes wort - danach filtere ich und bekome aus der mailbox nur diese subjects mit diesem wort

                              ein wenig komplizierter wird es , wenn in der mailbox mehrere solcher mails sind - dann muss man das ganze in einem javascript/blockly weiterverarbeiten, damit man nur eine nachricht empfängt, wenn es eine neue mail ist! man muss also die schon gelesenen mails in einer kleinen datenbank (json) mitverwalten um einen vergleich zu haben - wenn es immer nur eine mail in der mailbox gibt, wird das einfacher

                              oder evtl kann man das auch über einen datumsvergleich regeln

                              mickym D3ltoroxp 2 Replies Last reply Reply Quote 1
                              • mickym
                                mickym Most Active @liv-in-sky last edited by mickym

                                gelöscht

                                liv-in-sky 1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @mickym last edited by

                                  @mickym

                                  das ist mir klar - aber ich markiere manchmal alte mails als ungelesen um diese im postfach leicht zu finden - daher nicht so schnell urteilen 😞 ich habe mir schon was dabei gedacht

                                  mickym 1 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @liv-in-sky last edited by mickym

                                    gelöscht

                                    liv-in-sky 1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @mickym last edited by

                                      @mickym

                                      dann übernimm du hier - dann brauchen wir auch nicht rum zu diskutierne

                                      mickym 1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active @liv-in-sky last edited by mickym

                                        gelöscht

                                        1 Reply Last reply Reply Quote 0
                                        • D3ltoroxp
                                          D3ltoroxp @liv-in-sky last edited by

                                          @liv-in-sky ach so, wenn ich jetzt 2 Mails drin habe, mit dem Namen, reagiert er jedes mal darauf und schreibt das in den DP ?

                                          liv-in-sky 1 Reply Last reply Reply Quote 0
                                          • liv-in-sky
                                            liv-in-sky @D3ltoroxp last edited by liv-in-sky

                                            @d3ltoroxp

                                            wenn du das setting der mail node öffnest, siehst du was er abfragen soll - z.b nur ungelesene oder alle
                                            ferner kannst du bestimmen, ob er ungelesene nach dem download als gelesen markieren soll

                                            da es sich aber nicht um deine mailbox handelt, weiß ich nicht, welche möglichkeiten du dann hast

                                            wenn du z.b nur ungelesene einlesen willst , holt er alle ungelesenen und markiert sie als gelesen - erst später sortierst du aus, was du lesen willst - in der orginal-mailbox jedoch sind dann alle gelesenen mails plötzlich ungelesen - das sollte so wohl nicht sein
                                            liest du alle mail aus, kann es sein, dass du gelesene und ungelesene mails bekommst und nach dem filtern sind die dann da - oder du bekommst ungelöschte gelesene mails und dann willst du eigentlich keine benachrichtigung !

                                            das ist das eigentliche problem - das muss man sich irgendwo merken (evtl. anhand des datums), ob du schon benachrichtigt worden bist

                                            war das verständlich ?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            811
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            56
                                            2367
                                            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