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.
    • Negalein
      Negalein Global Moderator @mickym last edited by

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

      Das glaube ich nicht, aber das sind jedenfalls die einzigen Stellen, wo Du ein Passwort mitgibst.

      hab jetzt ein neues PWD ohne # erstellt.

      Es funktioniert wieder! 🙂

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

        @negalein Ja dann hat das nichts mit der Inject NOde zu tun, sondern dass Du in die URL wo Du das Passwort ggf. mitgibst, man das Zeichen erst hätte umwandeln müssen. Eine URL kennt auch keine Umlaute oder sonstige Sonderzeichen, sondern die muss man dann codieren.

        Und für das nächste Mal weisst Du Bescheid und wie gut, dass Du im Debug - gesehen hast, dass ein Passwortwechsel fällig war.

        Wenn Du also ein # das nächste Mal in einer URL eingeben willst, dann musst Du das wie folgt codieren:
        8f697ea5-b1a3-4eac-a221-22fd7187323f-image.png

        siehe; https://de.wikipedia.org/wiki/URL-Encoding

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

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

          sondern dass Du in die URL wo Du das Passwort ggf. mitgibst, man das Zeichen erst hätte umwandeln müssen

          ah, also aus xxxxxx#xxxx muss ich xxxxxx%23xxxx machen

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

            @negalein genau 👍

            Rene55 1 Reply Last reply Reply Quote 1
            • Rene55
              Rene55 @mickym last edited by

              @mickym Gut zu wissen! Wie muss ich das denn machen, wenn ich ein '%' kaschieren muss. Etwa '%%25' ?

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

                @rene55 Nein einfach nur %25 - du kannst das auch über JSONATA umwandeln lassen.

                7ad418f5-a48f-4e0e-947e-425473dca1c9-image.png

                Das Gleiche gilt auch für Umlaute, die müssen auch codiert werden. Die JSONATA Funktion heißt: encodeUrlComponent.

                Aus

                #Pass%Wörter
                

                wird dann

                %23Pass%25W%C3%B6rter
                
                Rene55 1 Reply Last reply Reply Quote 0
                • Rene55
                  Rene55 @mickym last edited by

                  @mickym Danke. Ich hatte angenommen, dass das '%' schon ein besonderes Zeichen wäre. Und JSONATA muss ich mir auch noch ansehen.

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

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

                    @mickym Danke. Ich hatte angenommen, dass das '%' schon ein besonderes Zeichen wäre. Und JSONATA muss ich mir auch noch ansehen.

                    Ein Kurzanleitung bekommst Du zu den Befehlen - direkt im JSONATA Editor

                    2e0fe352-abf6-4eb6-b855-ed4388bfd7cf-image.png

                    Ansonsten verweis ich auf die Dokumentation und vor allem dem Exerciser. Diese Bibliothek ist so mächtig - sodass ich quasi fast kein JS mehr benötige und alles viel weniger zu codieren ist.

                    A 1 Reply Last reply Reply Quote 2
                    • A
                      Alberte 0 @mickym last edited by

                      @mickym
                      Auch wenn das schon ein paar Monate her ist häng ich mich auch mal als Node Neuling dran.

                      Ich hab dann einmal versucht ein von mir gesetzten Geofence abzufragen. Das funktioniert auch soweit. in die variable 0_userdata.0.PAJ.Radiusin mit 1 oder 0.
                      Jetzt wollte ich damit mein Garagentor steuern mit heimkommen geht auf, wegfahren geht zu.
                      Von der Logik her OK aber ich denke das PAJ nicht unbedingt begeistert ist wenn ich alle 15 Sekunden die API nutze ?.
                      Gibt es bei Node Red nicht auch eine Push funktion wie bei der Handy App ?

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

                        @alberte-0 sagte in PAJ GPS mit Node-Red abfragen:

                        Gibt es bei Node Red nicht auch eine Push funktion wie bei der Handy App ?

                        Nein NodeRed ist ein allgemeines Tool und es gibt diverse Nodes die GPS Tracking anbieten. Aber sobald Du eine API über HTTP nutzt, musst Du pullen und es gibt keine Push Mechanismus.

                        Deswegen nutzen die Hersteller eigene Protokolle oder wenn Du Glück hast nutzen sie nicht HTTP, sondern mqtt oder Websocket - das sind Protokolle die Pushen können.

                        In diesem Fall musst Du selbst über die Notification Data prüfen

                        4c4fe8eb-ee3b-4edd-82ce-d76dd88aa908-image.png

                        ob Benachrichtigungen da sind.

                        Das Ganze hat erstmal mit NodeRed oder einem anderen System zu tun.

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

                          Wenn Du auf Deinem Handy Geofence zum Beispiel benutzt, dann trackt das Handy ja die Position. Über die Geofence App kann man dann einen Webserver kontaktieren - So mache ich das über NodeRed oder der iobroker mit seinem Adapter.

                          https://www.paj-gps.de/das-finder-portal/

                          Die wollen ja Geld damit verdienen. Was Du mal in dem Portal schauen kannst, ob man da Geofence Ereignisse über einen HTTP URL eintragen kannst. Dann wirst Du über das Portal in NodeRed oder iobroker benachrichtigt.

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            Alberte 0 @mickym last edited by

                            @mickym
                            Steh wohl auf dem Schlauch Zahlen muss ich ja ohnehin ich bekomme die Daten ja auch.
                            Habe den Flow den ihr gebaut habt etwas gekürzt.

                            a95147ee-45f7-46e8-bf51-7e2223b59d63-grafik.png

                            der letzte http request https://connect.paj-gps.de/api/v1/notifications?alertType=3&isRead=0 enthält alle geofenceaktionen und der switch
                            236be361-8b6d-4dfb-8465-3bc105201ac2-grafik.png
                            die letzte Geofence Aktion 1 für Daheim 0 für Abwesend.
                            Wie trigger ich denn am besten die Abfrage ?

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

                              @alberte-0 sagte in PAJ GPS mit Node-Red abfragen:

                              Wie trigger ich denn am besten die Abfrage ?

                              Ich weiß nicht ob ich helfen kann. Triggern tust du vorne mit der Inject Node oder mit über die iobroker-In Node.

                              a389f974-2770-4f84-95c7-70b336aeb296-image.png

                              Der Flow geht immer von links nach rechts - wie Du auch lesen würdest.

                              Wenn man sich nicht immer anmelden will, dann kann man ggf. auch das Renew Token nehmen, die msg.auth im Kontext als Variable zwischenspeichern und die Abfragen direkt triggern. Ich tu mich da nur schwer, weil ich keinen Account habe und auch kein Gerät. - Aber für den Anfang scheint das ja mit der erneuten Anmeldung zu funktionieren.

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

                                Soweit ich mich erinnere nutzt der Flow doch diese Schnittstelle:
                                https://connect.paj-gps.de/api/documentation

                                Wenn ich mir dann den Response anschaue:
                                418894e2-878d-40dd-b54b-fdd9e6dc70b5-image.png

                                Dann schaut die payload als Antwort doch so aus:

                                {
                                  "0": {
                                    "id": 2,
                                    "iddevice": 1,
                                    "name": null,
                                    "icon": "icon-info",
                                    "bezeichnung": "Stromunterbrechnungs-Alarm",
                                    "meldung": null,
                                    "meldungtyp": 6,
                                    "dateunix": 1212121,
                                    "lat": 0,
                                    "lng": 0,
                                    "isread": 0,
                                    "imei": null,
                                    "speed": null,
                                    "speederlaubt": null,
                                    "radiusin": 0,
                                    "radiusout": 0,
                                    "zuendon": 0,
                                    "zuendoff": 0,
                                    "email": null,
                                    "push": 0
                                  },
                                  "success": {
                                    "id": 1,
                                    "iddevice": 1,
                                    "name": null,
                                    "icon": "icon-bullhorn2",
                                    "bezeichnung": "Radiusalarm",
                                    "meldung": "Ihr FINDER hat den festgelegten Radius befahren.",
                                    "meldungtyp": 3,
                                    "dateunix": 12121212,
                                    "lat": 12.12,
                                    "lng": 12.12,
                                    "isread": 0,
                                    "imei": "12121212",
                                    "speed": 0,
                                    "speederlaubt": null,
                                    "radiusin": 1,
                                    "radiusout": 0,
                                    "zuendon": 0,
                                    "zuendoff": 0,
                                    "email": null,
                                    "push": 0
                                  }
                                }
                                

                                Das ist keine Switch Node sondern eine ChangeNode.

                                3a658fd8-6e8f-46d8-b36c-cc363476a799-image.png

                                Und das ist verkehrt.

                                Man geht einfach mit der Maus nebeen den Wert, den man haben will und kopiert den Pfad.

                                copy path.gif

                                Wenn ich also radiusin haben will - öffne ich das Objekt und kopiere den Pfad von radiusin.

                                e370a132-9386-47c1-b658-fd2e91d9f126-image.png

                                Diesen Pfad kopiere ich dann da rein:

                                584e136e-70a6-41be-9ced-7315bb902947-image.png

                                und schon habe ich die selektierte Eigenschaft. Also nichts mit 0 und Klammer.

                                A D 2 Replies Last reply Reply Quote 0
                                • A
                                  Alberte 0 @mickym last edited by

                                  @mickym
                                  JA es ist ein switch Node aber wie Trigger ich denn den Flow das er 1 mal / Minute abfrägt ?

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

                                    @alberte-0 Du setzt das Wiederholungsinterval der Inject Node - wo Du Dein Anmeldedaten eingegeben hast von 10 Minuten auf 1 Minute. Oder drückst manuell drauf.

                                    Die hatte ich Dir doch markiert. Wie gesagt manuell triggern zum testen oder das Intervall ändern, wie oft die Inject Node triggert.

                                    161a9e4a-6f3b-4c2d-a693-dadc08d0962a-image.png

                                    A 1 Reply Last reply Reply Quote 0
                                    • D
                                      docsnyder7 @mickym last edited by

                                      @mickym
                                      nicht vergessen... die API Beschreibung ist nicht mehr korrekt... Radiusin ist Alarm 10 und Radiusout die 11

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

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

                                        @mickym
                                        nicht vergessen... die API Beschreibung ist nicht mehr korrekt... Radiusin ist Alarm 10 und Radiusout die 11

                                        Ja danke - inhaltlich kann ich eh nichts dazu sagen, da ich diese Geräte ja nicht besitze. Wenn ich bei den Daten helfen soll, dann bitte über die Schaltfläche "Wert kopieren" aus dem Debugfenster hier in CodeTags stellen, dann kann ich das in eine InjectNode übernehmen und somit das Ergebnis der Abfrage sumulieren.

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          Alberte 0 @mickym last edited by

                                          @mickym
                                          Super Danke gefunden und um 3% erleuchtet 🙂
                                          21c57edc-1457-4a8e-ad73-cdd41b3611e9-grafik.png
                                          Bei mir heist der wirklich payload.success[0].radiusin da es das erste object im array ist.
                                          Letzte Frage: Beim inject node kann ich auf 1 Minute runtergehen. Wie mache ich es damit er nicht die ganze Nacht abfragt sondern nur von 06.00 -01.00 ?

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

                                            @alberte-0 sagte in PAJ GPS mit Node-Red abfragen:

                                            06.00 -01.00

                                            Ja gibt zwar komfortable Nodes - aber man kann das auch mit einer Standard-Switch Node machen und als Filter nutzen:

                                            Klemm einfach diese Node hinter Deine Inject Node, in dem Du sie importierst:

                                            [
                                               {
                                                   "id": "5a6a1bfa0b6a5ffd",
                                                   "type": "switch",
                                                   "z": "7e6af0015415146d",
                                                   "name": "Filter ",
                                                   "property": "$moment().isBetween({\"h\":1,\"m\":0},{\"h\":6,\"m\":0})",
                                                   "propertyType": "jsonata",
                                                   "rules": [
                                                       {
                                                           "t": "false"
                                                       }
                                                   ],
                                                   "checkall": "true",
                                                   "repair": false,
                                                   "outputs": 1,
                                                   "x": 1870,
                                                   "y": 4900,
                                                   "wires": [
                                                       [
                                                           "9238cfda.c4784"
                                                       ]
                                                   ]
                                               }
                                            ]
                                            
                                            

                                            oder abschreibst:

                                            febece1b-196e-4835-ba7a-c48db3c1f511-image.png

                                            die JSONATA Zeile lautet:

                                            $moment().isBetween({"h":1,"m":0},{"h":6,"m":0})
                                            

                                            Der Filter bedeutet also, wenn die Uhrzeit nicht zwischen 1:00 und 6:00 Uhr ist - also somit den Tageswechsel einschließt von 6:00 bis 1:00 Uhr.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            462
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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