Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. (GELÖST) Syntax API REST Swagger via Curl etc.

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    (GELÖST) Syntax API REST Swagger via Curl etc.

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Moebi last edited by Moebi

      Ich stehe mit Swagger & der REST API ganz am Anfang.

      Aktuell hab ich ein Problem die Syntax zu verstehen und für mich nutzbar umzustellen.

      In der vom Anbieter bereitgestellten SWAGGER UI konnte ich mich zurechtfinden, aber in der praktischen Anwendung im IOBROKER checke ich nicht wie ich den Code nutzbar mache.

      Ich hatte gehofft ein einfaches (blockly)script mit dem API Aufruf laufen zu lassen, aber die Swagger UI gibt mir zwei Blöcke aus.

      curl -X 'GET' \
        'https://connect.paj-gps.de/api/trackerdata/012345/last_minutes?lastMinutes=30&gps=1&wifi=0' \
        -H 'accept: application/json' \
        -H 'Authorization: Bearer ICHbinEINTOKEN' \
        -H 'X-CSRF-TOKEN: '```
      

      und

      https://connect.paj-gps.de/api/trackerdata/012345/last_minutes?lastMinutes=30&gps=1&wifi=0
      

      Om oberen CodeBlock sind mehrere Zeilen, die bekomme ich nicht in einen Blockly hinein (oder doch?)

      Im unteren fehlen das TOKEN etc. somit ist die zeile auch nicht allein nutzbar.

      Als Body wird dann die Information geliefert, aber das kann ich zzt. nur auf der Anbieterseite im SWAGGER UI sehen.

      {
        "success": [
          {
            "id": "blablabla1234567890",
            "lat": 53.87654321,
            "lng": 10.123456,
            "direction": 36,
            "dateunix": 1674631777,
            "battery": 3,
            "speed": 0,
            "iddevice": 012345,
            "steps": 0,
            "heartbeat": 0,
            "accuracy": 0,
            "wifi": null,
            "note": null
          },
      

      Falls es interresiert:
      Ich habe einen GPS Sender in meinem PKW, den Standort möchte ich über VIS darstellen bzw die Koordinaten weiter verarbeiten

      Wie kann ich das CURL Commando in Blockly nutzen um den Body zurückzubekommen?

      haus-automatisierung 1 Reply Last reply Reply Quote 0
      • haus-automatisierung
        haus-automatisierung Developer Most Active @Moebi last edited by haus-automatisierung

        @moebi sagte in Syntax API REST Swagger via Curl etc.:

        Wie kann ich das CURL Commando in Blockly nutzen um den Body zurückzubekommen?

        Theoretisch könntest Du mit exec auch curl aufrufen. Aber das wäre ziemlich unnötig, weil JavaScript ja auch wunderbar HTTP-Requests senden kann. Wozu also curl nutzen.

        @moebi sagte in Syntax API REST Swagger via Curl etc.:

        Om oberen CodeBlock sind mehrere Zeilen

        Das ist nicht das Thema. Du könntest die Backslash in jeder Zeile entfernen und alles in eine Zeile schreiben (Bash Grundlagen anschauen). Aber: Blockly wird generell schwierig, weil der request Baustein keine eigenen HTTP-Header annehmen kann. Daher am besten JavaScript:

        Per Axios (das Paket wird mit dem JavaScript-Adapter mitinstalliert und kann daher direkt verwendet werden):

        const axios = require('axios').default;
        
        axios.get('https://connect.paj-gps.de/api/trackerdata/012345/last_minutes?lastMinutes=30&gps=1&wifi=0', {
            headers: {
               'Content-Type': 'application/json',
               'Authorization': 'Bearer ICHbinEINTOKEN'
           }
        }).then(response => {
            if (response.status === 200) {
                console.log(response.data);
            }
        }).catch(err => {
            console.error(err);
        });
        
        M P 2 Replies Last reply Reply Quote 0
        • M
          Moebi @haus-automatisierung last edited by

          @haus-automatisierung
          Juhuu, DANKE.

          Da hab ich die tatsächlich eine Lücke!
          Die Bash Grundlagen sind echt noch nicht verinnerlicht.
          (Ich gelobe Besserung ☺ )

          Mit

          }).then(response => {
              if (response.status === 200) {
                  console.log(response.data);
                  setState("0_userdata.0.gpsresponse",response.data)
              }
          

          habe ich nun meine Antwort im Datenpunkt.
          Von dort aus kann ich weiter puzzlen. TOP

          (Wie kann ich den Fall als GELÖST markieren? Urspüngliche Überschrift editieren?)

          M 1 Reply Last reply Reply Quote 0
          • M
            Moebi @Moebi last edited by

            @haus-automatisierung

            nur zum üben habe ich mir nun auch n curl script angelegt.

            paj script curl.JPG

            Danke für die Hilfe

            haus-automatisierung 1 Reply Last reply Reply Quote 0
            • haus-automatisierung
              haus-automatisierung Developer Most Active @Moebi last edited by

              @moebi sagte in (GELÖST) Syntax API REST Swagger via Curl etc.:

              nur zum üben habe ich mir nun auch n curl script angelegt.

              Top! Allerdings immer im Hinterkopf behalten, dass das sehr viel umständlicher ist und man mehr Abhängigkeiten hat (curl muss installiert sein) und exec erst in den Einstellungen der JavaScript-Instanz freigeschaltet werden muss.

              1 Reply Last reply Reply Quote 0
              • P
                Pischleuder @haus-automatisierung last edited by Pischleuder

                @Moebi

                @moebi sagte in Syntax API REST Swagger via Curl etc.:

                Wie kann ich das CURL Commando in Blockly nutzen um den Body zurückzubekommen?

                Theoretisch könntest Du mit exec auch curl aufrufen. Aber das wäre ziemlich unnötig, weil JavaScript ja auch wunderbar HTTP-Requests senden kann. Wozu also curl nutzen.

                @moebi sagte in Syntax API REST Swagger via Curl etc.:

                Om oberen CodeBlock sind mehrere Zeilen

                Das ist nicht das Thema. Du könntest die Backslash in jeder Zeile entfernen und alles in eine Zeile schreiben (Bash Grundlagen anschauen). Aber: Blockly wird generell schwierig, weil der request Baustein keine eigenen HTTP-Header annehmen kann. Daher am besten JavaScript:

                Per Axios (das Paket wird mit dem JavaScript-Adapter mitinstalliert und kann daher direkt verwendet werden):

                const axios = require('axios').default;
                
                axios.get('https://connect.paj-gps.de/api/trackerdata/012345/last_minutes?lastMinutes=30&gps=1&wifi=0', {
                    headers: {
                       'Content-Type': 'application/json',
                       'Authorization': 'Bearer ICHbinEINTOKEN'
                

                Hallo Moebi,

                zum Verständnis:

                • oben hinter Trackerdata kommt die Nummer des GPS-Trackers hinein, korrekt ?
                • hinter Authorization: was genau wird hier eingegeben ? Meine Zugangsdaten zum Finderportal funktionieren nicht

                Gruss

                M 1 Reply Last reply Reply Quote 0
                • M
                  Moebi @Pischleuder last edited by

                  @pischleuder die Zugangsdaten sind das Token welches du beginnst wenn du dich via API mit den Login Daten authentifiziert.

                  Also API token erstellen
                  Mit token über die API die gewünschten Daten abfragen.

                  Token ist nur begrenzt gültig

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  486
                  Online

                  31.7k
                  Users

                  79.8k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  724
                  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