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. PAJ GPS mit Node-Red abfragen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    PAJ GPS mit Node-Red abfragen

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @Negalein last edited by

      @negalein sagte in PAJ GPS mit Node-Red abfragen:

      müsste dann obiger Screenshot mit 2 Request nacheinander passen?

      Nein das passt noch lange nicht. Aber ich dachte, wir entwickeln das zusammen?

      Negalein 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active last edited by

        @Negalein Wenn Du soweit bist, dann melde Dich halt - sonst warte ich hier, wenn keine Rückmeldung kommt.

        1 Reply Last reply Reply Quote 0
        • Negalein
          Negalein Global Moderator @mickym last edited by

          @mickym sagte in PAJ GPS mit Node-Red abfragen:

          Hast Du mal meinen Flow importiert und verstanden wie ein Nachrichtenobjekt aufgebaut ist und welche Möglichkeiten Du hast, Eigenschaften des Nachrichtenobjektes im Debugfenster ausgeben zu lassen?

          Ja, die 3 grünen Nodes sind alles eigene Debugs.

          Und der blaue Timestamp ist das ausführbare Teil. Also der Start von Allem.

          Im Payload steht eine Nummer (wo kommt die her).
          Im Topic steht nichts.
          Und im Nachrichtenobjekt steht wieder die Nummer vom Payload.

          Also der Payload übergibt an das Nachrichtenobjekt.
          Und ich schätze im Topic wird mal das Ergebnis (zB GPS-Koordinaten) stehn.

          6.7.2024, 18:02:58node: payload
          msg.payload : number
          1720281778711
          6.7.2024, 18:02:58node: topic
          msg.topic : string[0]
          ""
          6.7.2024, 18:02:58node: gesamtes Nachrichtenobjekt
          msg : Object
          object
          _msgid: "8ec694ca908771a0"
          payload: 1720281778711
          topic: ""
          
          mickym 1 Reply Last reply Reply Quote 0
          • Negalein
            Negalein Global Moderator @mickym last edited by

            @mickym sagte in PAJ GPS mit Node-Red abfragen:

            Aber ich dachte, wir entwickeln das zusammen?

            war zu voreilig 😉

            1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @Negalein last edited by mickym

              @negalein sagte in PAJ GPS mit Node-Red abfragen:

              Und der blaue Timestamp ist das ausführbare Teil. Also der Start von Allem.

              Na sagen wir mal so. Der blaue Timestamp ist nicht der ausführbare Teil, sondern diese Node (wie jede andere Node) kann ein Nachrichtenobjekt erzeugen, dass dann an den Ausgang geschickt werden.

              Da wir in die payload einen timestamp gespeichert haben

              1b4b871f-c4ce-4d33-96b2-91cb780eedcf-image.png

              enthält die payload einer Zahl, die die aktuelle Zeit in ms seit dem 1.1.1970 also die Unix Zeit enthält.

              Die payload (Nutzdaten) kann alles sein.

              Das topic wird in der Regel verwendet, um zu beschreiben um was für Nutzdaten es sich handelt.
              Nehmen wir mal an Du hast eine Temperatur in einer Nachricht mit einer payload, zum Beispiel 25. Dann nützt Dir das sehr wenig, wenn Du mehrere Temperaturen hast, Dann nutzt man das topic um zum Beispiel zu beschreiben, um was für einen Wert es sich bei der payload 25 handelt. Also Temperatur-Wohnzimmer zum Beispiel.

              Nun erstell mal eine Inject Node, mit einem Nachrichtenobjekt, dass die Eigenschaften "eMail" und "password" hat. Wenn Du das hast, dann sag Bescheid. Der Datentyp ist natürlich in beiden Fällen ein String, also eine Zeichenkette.

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @mickym last edited by mickym

                @mickym sagte in PAJ GPS mit Node-Red abfragen:

                Nun erstell mal eine Inject Node, mit einem Nachrichtenobjekt, dass die Eigenschaften "eMail" und "password" hat. Wenn Du das hast, dann sag Bescheid. Der Datentyp ist natürlich in beiden Fällen ein String, also eine Zeichenkette.

                Bist Du soweit? - Also wenn ich mich falsch ausgedrückt habe, dann sag Bescheid.

                Die Aufgabe war eigentllich total easy:

                aeb37bfe-2f33-4e85-8007-75870a9ae8da-image.png

                Du kannst auch erst mal wie hier - Fakedaten eingeben. Es geht ja darum, Dir hier Zusammenhänge zu vermitteln.

                Negalein 1 Reply Last reply Reply Quote 0
                • Negalein
                  Negalein Global Moderator @mickym last edited by

                  @mickym sagte in PAJ GPS mit Node-Red abfragen:

                  Du kannst auch erst mal wie hier - Fakedaten eingeben.

                  hab mich am Anfang verklickt.
                  Aber schaut jetzt so aus 🙂

                  81cc5d86-436e-4151-bca9-d88eebdf0ef3-image.png

                  6.7.2024, 18:57:00node: debug 1
                  msg : Object
                  object
                  _msgid: "b147c438e5c144a0"
                  Mail: "hansi@seppi.de"
                  PWD: "irgendwas"
                  

                  PS: bin dann mal weg; bei uns kommt gerade das starke Gewitter an.

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Negalein last edited by mickym

                    @negalein ok -dann melde Dich mal zurück. Wenn Du da bist.

                    Für die Zukunft - um die Daten aus dem Debugfenster hier einzustellen, nutze nicht die Maus zum markieren der Daten - sondern geh mit der Maus neben den Wert im Debugfenster, den Du hier einstellen willst, kopieren ihn mit der Schaltfläche "Wert kopieren" in die Zwischenablage und stell ihn dann hier in CodeTags hier ein.

                    e1e5b702-39c4-47f4-b51b-03d099fb6bd1-image.png

                    {"_msgid":"a3c043dc39a1de4f","eMail":"mail@web.de","password":"meinPasswort"}
                    
                    Negalein 1 Reply Last reply Reply Quote 0
                    • Negalein
                      Negalein Global Moderator @mickym last edited by

                      @mickym sagte in PAJ GPS mit Node-Red abfragen:

                      melde Dich mal zurück.

                      im back 🕶

                      mit der Schaltfläche "Wert kopieren" in die Zwischenablage

                      👍

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @Negalein last edited by

                        @negalein Welcome back oder wb. 😉

                        Nun dann zieh mal ein HTTP Request Node rein und schau Dir mal den Hilfetext an. Nachdem Du ja die Eigenschaften Deines Nachrichtenobjektes etwas anders benannt hast, musst Du halt die Eigenschaft Deines Nachrichtenobjektes verwenden.

                        6ec88242-7b00-4e4d-af14-2c1bcc0040b0-image.png

                        Nachdem Du diese HTTP-Request Node an Deine Inject Node gesetzt hast, mit der URL Deines Logins mit den Platzhaltern für eMail und password, hängst Du ein Debug Node hinten dran und lässt Dir die payload, erst mal mit Dummy Login Daten ausgeben und postest mal das Ergebnis als Objekt in code tags - wie ich es eben mit "Wert kopieren" gezeigt habe.

                        Negalein 1 Reply Last reply Reply Quote 0
                        • Negalein
                          Negalein Global Moderator @mickym last edited by

                          @mickym sagte in PAJ GPS mit Node-Red abfragen:

                          mal mit Dummy Login Daten

                          zu spät gelesen 😉

                          ok, also mit {{{xxxx}}} nimmt er die Daten aus dem Inject.

                          Ausgabe erfolgreich

                          eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIzOCIsImp0aSI6IjkyMWU4MTQ3MmMxNzg5MzQ0OTM3MDE1ODcyZTEzMTMxMTE4YjUwMDM3ZGNmODc3OThiM2NmNDUxMmFjNWRiMDg2YTQ5N2FmNWI5MTRhZGJmIiwiaWF0IjoxNzIwMjk3NzExLjE3MTU0NywibmJmIjoxNzIwMjk3NzExLjE3MTU1LCJleHAiOjE3MjI4ODk3MTEuMTA5NTU2LCJzdWIiOiIyOTUyMzQ1Iiwic2NvcGVzIjpbXX0.NFTOlZG_h4WlFemD4pz3LD9nrvDAkjpkaPJzAlqT1bJDx5YOXz4DJzkL-EUU9hiqxl4sYukRro851oSwNE1dHztjgNVtPTXKb7h4SBD3MOYjz6OV8AByCPirpDzTg24QFQQRS9YzqKt9kfzHKSD2uQSZQfSqDWYzJ7HRjJMDXDtzMMgpz_9SadUdkgRFLlbELsIAF-XHIEPsaIYdxlPlAimodBaEWr_c3xQsHy1O9djtmXP0hYOCkjJ7ojWaGeJ56iRxLzIGhuOTv4Ro_CJ77yPiBHcc7jrYDoeAq1D2qrrqh_tUvCUSguOdxUYilGjaVv61WGlCxWHTtO3EPo1tn7WYYaRnWJHvAbEa7dUflP6E6QsSceLyO-xNwpbpw9gLOjdhn8IzcEEduDeGf8vhuXtIsL7cnlwQShht_5oOwkS3DKkoLrP8k2mPM-snAecUemSrgA4ZghXrvQsUDEV0p1QggkIQcdskyiKpzyLpwXTi5cbwFjfwo1IybnEnvinrp-D86TTudrOSgKPzeaq7MqfHab8jPwUVZjw4BOxnLYxTiBu2qr7qr3Xdo5lZJJEXPtF3Mw4hKy_PVWGTqqnj3RMQ0j7vQz4R7dXii2OhP8MZIrbhq4QOfIYuReiFZQiFKvNxgGdxKtRw6O9Us-yV0BAxZKiQXiZ3Fcg-cuOcuJo
                          
                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @Negalein last edited by

                            @negalein Nein ich will nicht das Token haben, sondern Du sollst mit Dummy Daten die payload ausgeben.

                            24dd1500-1542-46b4-a489-899bf6fa0b1d-image.png

                            Negalein 1 Reply Last reply Reply Quote 0
                            • Negalein
                              Negalein Global Moderator @mickym last edited by

                              @mickym

                              ah, damit ich seh, dass bei falschen Daten zB das retour kommt?

                              Email is not valid.
                              
                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @Negalein last edited by mickym

                                @negalein Ja aber das ist nicht das Objekt der payload. Kannst Du mal das ganze Objekt hier in code tags reinkopieren?

                                2505d395-01eb-434e-a16c-27b54a1e4b19-image.png

                                Das ganze Objekt sollte also wenn Du es mit Wert kopieren und hier in CodeTags kopierst auch wie ein Objekt aussehen. 😉

                                Falls das ALLERDINGS ein STRING ist, dann hast Du die HTTP-Request Node nicht richtig eingestellt.

                                Negalein 1 Reply Last reply Reply Quote 0
                                • Negalein
                                  Negalein Global Moderator @mickym last edited by

                                  @mickym sagte in PAJ GPS mit Node-Red abfragen:

                                  Kannst Du mal das ganze Objekt hier in code tags reinkopieren?

                                  {"error":{"emailError":"Email is not valid."}}
                                  

                                  so?

                                  377a2ce7-73a5-4f5e-b44a-9c0e5e604896-image.png

                                  mickym 1 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @Negalein last edited by mickym

                                    @negalein Sehr gut. 🙂

                                    Und wenn Du die richtigen Daten eingibst in die Inject Node, dann bekommst Du hoffentlich ein success Objekt. Nun werden wir den Flow verzweigen, in dem wir abfragen, ob Du ein Objekt mit der Eigenschaft success oder error zurückbekommst. Unten hast Du ja schon mal ein success Objekt kopiert.
                                    Also error:

                                    {"error":{"emailError":"Email is not valid."}}
                                    

                                    Also success:

                                    {
                                      "success": {
                                        "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIzOCIsImp0aSI6IjA0NDYzYjMzZGQ0NGM2OTExOTcyOWYwNzk1MGJiNjg2MWZjZWVjMmQwYzNiY2E5ZjQ3Y2U1MjM1YWIzNGM1YWQwOTM3MTNkYmIzODg2MGE5IiwiaWF0IjoxNzIwMjgwOTMwLjIyODE0MiwibmJmIjoxNzIwMjgwOTMwLjIyODE0NSwiZXhwIjoxNzIyODcyOTMwLjE5OTYzOCwic3ViIjoiMjk1MjM0NSIsInNjb3BlcyI6W119.f5oY-BKAoDaxyO-jskPIQdZe3Hy7fK_YRidCRRyKXSZ3TGS0iy5U_21wnkasgQVlTkMk-7Kxvk30CWZx6PdI3bAJypTmXsiQ7j6sLVCNdpjbY6uedCnDoXSP50W8sYLPZy8ws-Z_qXc3s3Ylld2TUeiH-9r-LYImFi1s2jO1Jrk9PSoQp2f7EVuvfZFDRV9izewU0GgsQ7QdT3h5xrxDYvI1vzOfJu8CnltKy20E-w2YBRKVUWVdAKQMyNhLNMJFNFWnJBH5maV5Y5dELoPgjAGwiVKYont0GYLUmsKdy4bFyEZFbguJbuyR4thNKEEzQpZx3hWDbe2_BSyCDSzltw0nywumVTHRYjsHutCL3AcwHxw5AY5WBziPa5mTrXwi4K1aaUPGP7ixmKT3kVR56c2_HHUKOsiFJaodjwG6SIpocMqJJxdIqGfuNAzztmtO4Ck5oMOMp67jP6wjsJJ9MQgxY-lrx5wgpzVJ8hgwsG7cLTKbjPqUKiVZfwUzigzwO3uPurZ7K0jUq1ifCzR1-iYml1CvKeZLYG0ZG5qPDBiPkwMFbpFHLnLsA2fjfU-G9h6klYJyxpC7w5jzrCJ_Iboqs-WVXU2wyUF_syZrPf4PQav3h86ClJInvh9EvREnFQ7Ndzks-QAis7cuFp3vB6XmAf4YVY-55kOrFVrN1Yc",
                                        "refresh_token": "def502002ce29ee67844eac2a70befa3a2964f1603076e414fd40a287246c0927f5044f7a7918c06b4d9a3a2296c84dde80810c7bf76afc5a5eb1a7684d949100709172c7b893f8dab518ab564f217a6e3df401f7d1b2e4c7343eb050bfb286f5f0b919f99250e8274f8d9bd5712075dde672b3566d7ad1cbffcf9486ba118532a66c4cf1bb68c4a08b69a05a447848502b51d8e5c65d7d9ff90bcd7af073f53fdc8fb665a7b5ad1776349ddeadf9ef6d7e954d77b44b411e228f1af8fd0ae3ac21de40f505146b7e77f2453346c14340fa895bb05db28bc7ab4514c2f6e24e84245dfdac6b577428259b233a23ab897a232dbc0262965287b9d4e10e5feab0fce5f85b2410b5d2b73b90fa68eda0c155e0107622b55a780d12a1e2533f9b07754d98972acf77c4dc94585b4f5b88b16cdad6fd3ac55c3029abece858f71605b6f0ca4c4793bdcfd87ad05e02d7317f21e84f2e4b1338b9069efdd8ad9aa704c2baf19e6b62d04bf",
                                        "expires_in": 2592000,
                                        "isAdmin": 0,
                                        "userID": 2952345,
                                        "routeIcon": "arrow",
                                        "Petsevices": 0
                                      }
                                    }
                                    
                                    

                                    Wir werden nun also filtern, dass wir einerseits ein zürückgegebenes Error Objekt anders behandeln als ein Success Objekt.
                                    Zum Filtern oder Aufspalten des Flows bedienen wir uns einer Switch Node - die jenachdem das Nachrichtenobjekt an unterschiedlichen Ausgängen ausgibt.

                                    9e4a9877-67b6-4f83-98c4-c7dd11027859-image.png

                                    Wir lassen uns also oben das Nachrichtenobjekt ausgeben, wenn die PAYLOAD ein error Objekt enthält, unten wenn es ein success Objekt enhält. Die Debug Node benennen wir dementsprechend einmal error, einmal sucess.

                                    763da266-f0e6-4512-be35-dfcba30df09f-image.png

                                    Die switch Node -die das Nachrichtenobjekt an die Ausgänge dirigiert wird wie folgt konfiguriert:

                                    efeb4f85-a50c-4ab4-a356-23c4f7ff93d1-image.png

                                    Es wird also die Nachrichteneigenschaft payload untersucht und geschaut, ob das Objekt ein success oder eine error Eigenschaft (bzw. Schlüssel) hat.

                                    Negalein mickym 2 Replies Last reply Reply Quote 0
                                    • Negalein
                                      Negalein Global Moderator @mickym last edited by

                                      @mickym sagte in PAJ GPS mit Node-Red abfragen:

                                      Wir lassen uns also oben das Nachrichtenobjekt ausgeben, wenn die PAYLOAD ein error Objekt enthält, unten wenn es ein success Objekt enhält. Die Debug Node benennen wir dementsprechend einmal error, einmal sucess.

                                      bei korrekten Daten:

                                      {"success":{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIzOCIsImp0aSI6Ijg1ZjBhMTM0ZGU2MWZkMGVjNjY2OTY5ZTEyNjgzZjM1MGFhOTlkZTFlOTQzMmY5NTc0OWM5NWU1OWVkNGYyMDkyNjJhMDQxZDFhOTQwNWRkIiwiaWF0IjoxNzIwMjk5Nzk5LjI4NjI2LCJuYmYiOjE3MjAyOTk3OTkuMjg2MjYyLCJleHAiOjE3MjI4OTE3OTkuMjI1NDIzLCJzdWIiOiIyOTUyMzQ1Iiwic2NvcGVzIjpbXX0.MxmKFobCwVg1mXjZr2Ef9KcQ24ySiM9ldcON7WuI5avsdXKliVdsdmem9fJMtdtv5ruyWZZFaqzsXwG9QhbpwbaycbSuL9GOfjmMtaInmBhULNtWo7F-7F-8k3lwYdabtcZ5n9ov2CFgE4JHPrHDevU6YfbyopHf-IxdQhtTM_mckVTVbJ37y9KxDlo5xYYU9KUvXn05nnYVJa3wubD4dITM5ILXBDtGVGszp5gtjsG7Bse39r_PPVBLfRS36ZUwDA2-VlYP8ItpC5jT5CjgtNN9K7GtrX1xffwS-K3mpYRKJsJwVOzPEp6KUA-VFIykZofwYlt7EXBLgjJfKH5g_Iona2DmQ04Fs9TytU9becauNzLXRzmoqp8Ac-seFIBh4r5UV7AeZKNkK5uHwWNLsSIUJ28UutOYiyN7EsvVvk4fzKynjVHQbSEtcqXYsS5OtfAm_eYZxV-yHQzRT3u1Al79gWZqSrTtcmWHhHOjnXbOcgPH7RA6VddI_8fVRAvGhXemdS5gZnPJ-hVKfDje7g0m9Yvx9yWbwGZsX3r1DBbxZOv_nrOkIyeeIwqNreRxDCAmG4mV-VwjrDdZqqDRW6FrHnn2DHLWpTUcFTOzW9dAOUxuYOtu0rteckw8NOqj07_wiT6YBA7VuWrILB-AOhaeM9tKNrmt-9OYodOtPjM","refresh_token":"def502007fdbf85380c4495c55abba0541ba92bb7fd20723a67e0b2bb34b4c43917310ba3689ba513b281acd109275993b25975e24f2fd0ab19dc2eb4e1311e380a4db3b41570efedd0c9376e563a8f9f54e5feea7c16d33e7e83fb106dc1e22dbed4b3f9c2ad79d602927f6b0ff5d397c31d886681332ee1b514d2de055b7bc28924af7c7198812a5823e44a5eed640d810db9f5199181e3c51ddcbc03b072f77c1f73e261b09dc7eeead1897e894784ccec710bdf2949093296abff49dbf6b4856bbfb9499a8c8166a0e1750f166c5db857a14211d02bcc45dadff9ca89d94f51c646487d3ac833e78b42d089244bca90bc7df755ef2ec1c3f8c93053144971b592e68a7c49d09e48b660e6432d4c4c8e310b0d12fdfe7a9dcee8422968affeab586953ffb7e9b77fc77d41603f8a6d9d8735d9c9b2b5920b7b0b52a77067ff98a14da129dc9b73e7de7dbdce12eb9e800feb7886b7fadb596c7c9d985cfa2f9a9a1fd85f1839f","expires_in":2592000,"isAdmin":0,"userID":1234567,"routeIcon":"arrow","Petsevices":0}}
                                      

                                      bei falschen Daten:

                                      {"error":{"emailError":"Email is not valid."}}
                                      
                                      mickym 1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active @mickym last edited by

                                        Wenn Du fertig bist, dann bestätige, dass das Nachrichtenobjekt einmal in der Debug Node mit dem Namen error rauskommt, wenn Du fehlerhafte Daten eingegeben hast und einmal in der Debug Node mit dem Namen success wenn Du korrekte Daten eingegeben hast.
                                        463f444f-9271-4b83-a045-d636d7b7f8fe-image.png

                                        1 Reply Last reply Reply Quote 0
                                        • mickym
                                          mickym Most Active @Negalein last edited by mickym

                                          @negalein Gut und die kommen auch - wie oben unterstrichen in unterschiedlichen Debug Nodes raus?

                                          Also die switch Node hast Du eingebaut - so wie in meinem Flow zu sehen.

                                          Negalein 1 Reply Last reply Reply Quote 0
                                          • Negalein
                                            Negalein Global Moderator @mickym last edited by Negalein

                                            @mickym sagte in PAJ GPS mit Node-Red abfragen:

                                            wie oben unterstrichen in unterschiedlichen Debug Nodes raus?

                                            gerade gesehn, dass die in payload rauskommen.

                                            a8d676ca-f2a6-45d4-b25a-5313fc76d83a-image.png

                                            40a8755d-f1d2-4f8f-92b5-8a67ceb22001-image.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            697
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            153
                                            7899
                                            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