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

                                          @d3ltoroxp

                                          aber du könntest auch den text holen und dir zusenden - sollte möglich sein

                                          wenn du als gelesen markierst, werden alle neuen mail als gelesen markiert, nicht nur die, die du über nodered weiterleitest - die node liest und markiert als gelesen - die ganze mailbox - danch werden erst die mit dem richtigen subject gefiltert

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

                                            @liv-in-sky said in [gelöst]nodered mail empfangen:

                                            aber du könntest auch den text holen und dir zusenden - sollte möglich sein

                                            Leider nicht, ich bekomme nur die Mail, das Person xy etwas in der Gruppe yz was geschrieben hat, mehr aber auch nicht.

                                            Wenn alle Mails als gelesen markiert werden ist nicht weiter schlimm, es kommen dort nur Mails vom MS Teams Account. Dann wäre das doch egal, es kommt eine neue rein, er markiert sie als gelesen und gibt mir dann Bescheid.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            842
                                            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