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 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
              • mickym
                mickym Most Active @Negalein last edited by mickym

                @negalein Gut dann sollte also wie unten in meinem Screenshot gepostet - bei Fehler das Nachrichtenobjekt in der Debug Node mit Namen error und bei erfolgreicher Anmeldung in der Debug Node mit Namen success rauskommen, wie hier abgebildet.

                844479e8-8b0c-4252-b208-dca73b85f05f-image.png

                Schaut das bei Dir genauso aus?

                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:

                  Schaut das bei Dir genauso aus?

                  Nein, kommt immer in der Node Payload raus.

                  2bf6eb38-ca15-48c3-a745-1f1100b36f0c-image.png

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

                    @negalein Da kommt es auch raus, kannst Du einfach diese Debug Node deaktivieren, in dem Du die Schaltfläche drückst?

                    db150d81-60a5-40ba-8aad-8311471a84df-image.png

                    Das Nachrichtenobjekt wird immer von einer Node zur Nächsten weitergegeben. Wenn es hinten nicht ankommt, dann verschluckt eine Node das Nachrichtenobjekt und dann muss man den Fehler suchen.

                    Wenn ich also alle Debug Nodes vorher deaktiviere, dann seh ich das Nachrichtenobjekt nur noch in einer der letzten beiden Nodes:

                    4c9ee44a-cca1-4a24-a128-a7a1b587ed39-image.png

                    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:

                      Wenn es hinten nicht ankommt, dann verschluckt eine Node das Nachrichtenobjekt und dann muss man den Fehler suchen.

                      Hab jetzt die Nodes gesamtes Nachrichtenobjekt & Payload deaktiviert.

                      90b0bf1c-c728-46cc-9109-3136d6557cef-image.png

                      Da kommt hinten nichts an.

                      3cde9726-4de8-4a06-b0cf-a592011f41bb-image.png

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

                        @negalein Ja aus Fehlern lernt man,

                        ea11eb70-48a1-4ba1-b4cc-337b8b4a01ad-image.png

                        Du hast den Schlüssel falsch geschrieben. 😉 - Am Besten auch den Namen der Debug Node korrigieren. 😉

                        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:

                          Ja aus Fehlern lernt man,

                          definitiv 🙂

                          was ein vergessenes Zeichen nur ausmacht 😉

                          a11bc008-8eca-44db-b38b-9e60e5a24934-image.png

                          bdbad130-bf15-4ebc-96ae-d4feaad26a23-image.png

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

                            @negalein Super aber wir kommen weiter. Nun werden wir also mal an dem Success Ast weitermachen und wir brauchen ja das Token für die Authentifizierung. Also kopieren wir mal den Pfad zum Token aus dem Nachrichtenobjekt raus. Das ist die Schaltfläche davor.
                            Also mit der Maus - auf die Nachrichteneigenschaft des Tokens gehen und den Pfad rauskopieren und hier wieder in CodeTags einstellen bitte:

                            97bd18d8-2386-4876-894a-450b569c626e-image.png

                            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:

                              und hier wieder in CodeTags einstellen bitte:

                              payload.success.token
                              
                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @Negalein last edited by mickym

                                @negalein Sehr gut - wie werden diesen Pfad gleich brauchen. Wir werden jetzt in den Flow eine neue Nachrichteneigenschaft einführen.

                                Nun noch etwas Theorie:

                                https://swagger.io/docs/specification/authentication/bearer-authentication/

                                d7826828-767d-4ce0-994f-24443331832c-image.png

                                Hier siehst, dass Du bei zukünftigen http Aufrufen im Header in einer Eigenschaft Authiorization, den String "Bearer" und das Token mitgeben müssen.

                                Dazu werden wir mit einer ChangeNode eine Eigenschaft auth erstellen, die den String "Bearer " und aus der Nachricht das Token extrahieren:

                                b50505e6-9a90-4abd-94ce-779530df1e86-image.png

                                Achte darauf als Datentyp - JSONATA zu verwenden.

                                Anschließend hängst wieder eine Debug Node an, nennst diese auth und lässt Dir die Nachrichteneigenschaften auth ausgeben.

                                360c3f0f-d402-4e89-881c-2774c1d6d918-image.png

                                Die Nachrichteneigenschaft auth, sollte dann einen String ausgeben mit "Bearer ....." und Deinem Token.

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

                                  @mickym

                                  48d3a074-f623-4c2d-8dae-f473aafe2a4d-image.png

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

                                    @negalein Sehr gut 👍 - und diese Node hängst Du nun auch an den success Ausgang also an den untern Ausgang der switch Node und dann die entsprechenden Debug Node ausgeben.

                                    8ebf6042-602c-4e89-b04c-00507655514c-image.png

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

                                      @mickym

                                      1a1cea24-79ec-4509-ad2f-2b72ddca6cd9-image.png
                                      6f76c137-4e85-443a-aaf4-f260f01d7060-image.png

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

                                        @negalein Wieder hervorragend - so diese Token musst Du also wie gesagt immer in den Authorization-Header mitgeben.

                                        Nun willst Du ja Daten abrufen.

                                        4688c2f2-7468-40de-9de0-cf181348fa30-image.png

                                        Ist denn diese ID immer fix oder musst Du diese durch weitere Aufrufe ermitteln?

                                        Hiermit kannst Du ja alle IDs abfragen?

                                        6afa3b86-045d-4594-811b-8efb7a19fa95-image.png

                                        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:

                                          Ist denn diese ID immer fix oder musst Du diese durch weitere Aufrufe ermitteln?

                                          ist bei verschiedenen Tokens immer gleich geblieben.

                                          88739051-7347-43e1-bdc9-315d20a2c64f-image.png

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

                                            @negalein Gut ansonsten kannst Du die ja speichern und dann weiterverarbeiten. Dann rufst Du jetzt die Daten über eine weitere HTTP-Request Node ab und gibst nun aber den Authorisation Header mit.

                                            Also nehmen ich mal als ID: 1234. 😉

                                            16a0b155-7273-436b-98be-f11eba19a56f-image.png

                                            Ich gehe also mal von diesem GET Aufruf aus. 😉

                                            Als Ergebnis kommt dann so was raus:

                                            {
                                              "0": {
                                                "id": 2,
                                                "iddevice": 2,
                                                "imei": null,
                                                "name": null,
                                                "iconname": "paj_iconset_auto",
                                                "cmd": "P001",
                                                "dateunix": 1583531519,
                                                "datum": null,
                                                "uhrzeit": null,
                                                "lat": 2.2,
                                                "lat_symbol": null,
                                                "lng": 2.2,
                                                "lng_symbol": null,
                                                "speed": 79,
                                                "direction": 269,
                                                "mcc": null,
                                                "mnc": null,
                                                "ta": null,
                                                "num": null,
                                                "lac": null,
                                                "cid": null,
                                                "rxlev": null,
                                                "battery": 0,
                                                "alarmcode": null,
                                                "datastatus": null,
                                                "acc": null,
                                                "door": null,
                                                "obd": 0,
                                                "dtc": 0,
                                                "dtc_code": null,
                                                "rohdaten": "imei:2,001,2,,F,2.000,A,2.2,N,2.0009,E,42.52,268.69,,0,,0.00%,,;"
                                              },
                                              "success": {
                                                "id": 1,
                                                "iddevice": 1,
                                                "imei": null,
                                                "name": null,
                                                "iconname": "paj_iconset_auto",
                                                "cmd": "P001",
                                                "dateunix": 1583531491,
                                                "datum": null,
                                                "uhrzeit": null,
                                                "lat": 1.1,
                                                "lat_symbol": null,
                                                "lng": 1.1,
                                                "lng_symbol": null,
                                                "speed": 88,
                                                "direction": 305,
                                                "mcc": null,
                                                "mnc": null,
                                                "ta": null,
                                                "num": null,
                                                "lac": null,
                                                "cid": null,
                                                "rxlev": null,
                                                "battery": 0,
                                                "alarmcode": null,
                                                "datastatus": null,
                                                "acc": null,
                                                "door": null,
                                                "obd": 0,
                                                "dtc": 0,
                                                "dtc_code": null,
                                                "rohdaten": "imei:1,001,1,,F,215131.000,A,1.1,N,1.1,E,47.42,304.95,,0,,0.00%,,;"
                                              }
                                            }
                                            

                                            Also hinter die ChangeNode nun einen HTTP-Request Node mit der URL.

                                            Das Ergebnis lassen wir uns dann in einer Debug Node Trackdata ausgeben:

                                            892d4ea7-3550-4e4c-8ce8-69261ca6e345-image.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            839
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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