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.
    • 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
                                          • D3ltoroxp
                                            D3ltoroxp @liv-in-sky last edited by

                                            @liv-in-sky Joa hoff ich mal.

                                            Also das schon mein Konto, ich hab das auch bei mir im Mail Client mit eingerichtet. Dann lass ich das als gelesen markieren und fertig. Was dann genau in Teams geschrieben wurde, muss ich dann in Teams anschauen. Aber dann weiß ich wenigstens auf welchem Account. Das ist der Hauptgrund, damit ich nicht immer täglich hin und her switchen muss, gibts was neues oder nicht.

                                            liv-in-sky 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            737
                                            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