Ankündigung

Einklappen
Keine Ankündigung bisher.

Webservices mit dem Gira X1 oder L1 abfragen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Hallo zusammen.
    Ich finde bereits eine Antwort
    Wie kann ich diesen Beitrag löschen?​
    Angehängte Dateien
    Zuletzt geändert von 0utf1t; 06.05.2024, 20:38.

    Kommentar


      Hallo zusammen.
      Schließlich brauche ich etwas Hilfe. Ich kann Sensoren und Ventile anschließen und Daten von ihnen lesen, habe aber Probleme beim Senden von Befehlen.

      Im Terminal funktioniert alles.
      curl -X PUT \
      https://api.smart.gardena.dev/v1/com...c2bf07551e86:1 \
      -d '{
      "data": {
      "type": "VALVE_CONTROL",
      "id": "request-4",
      "attributes": {
      "command": "START_SECONDS_TO_OVERRIDE",
      "seconds": 60}}}' \
      -H 'Authorization: Bearer x’x \
      -H 'X-Api-Key: xx’ \
      -H 'Content-Type: application/vnd.api+json'


      Aber in Webrequest erhalte ich eine Fehlermeldung. Mit den Daten (im Body) stimmt etwas nicht. Obwohl ich hier https://jsonformatter.org/# gesucht hab.
      {"data": {"type": "VALVE_CONTROL", "id": "request-4", "attributes": {"command": "START_SECONDS_TO_OVERRIDE", "seconds": 60}}}


      error - {"errors":[{"id":"10ea9d60-26c6-43e7-8bf5-6f22034430f4","status":"Bad Request","title":"Client error","detail":"[Bad Request] Json body application/json parsing error: Failed to decode:Unexpected character ('d' (code 100)): was expecting double-quote to start field name\n at [Source: (io.netty.buffer.ByteBufInputStream); line: 1, column: 3]"}]}

      Ich würde mich wirklich über etwas Hilfe freuen​

      Screenshot 2024-05-09 at 19.43.05.png

      Kommentar


        Hat jemand einen funktionierenden PUT-Befehl? Ich kann hier wirklich nicht erkennen, was das Problem ist. Dies sind Argumente, die aus der Simulation „Splendid Minds: Send Web request“ kopiert wurden.

        -w "%{http_code}" -X PUT -H "Content-Type:application/json" -d "{"data": {"type": "VALVE_CONTROL", "id": "request-4", " attributes": {"command": "START_SECONDS_TO_OVERRIDE", "seconds": 60}}}" -H "Authorization: Bearer xxx" -H "X-Api-Key: xxx" -k "https://api.smart .gardena.dev/v1/command/1dc3f90f-5c74-446b-9ec8-c2bf07551e86:1"

        Ich habe auch die JSON-Body-Eingabe überprüft > {"data": {"type": "VALVE_CONTROL", "id": "request-4", "attributes": {"command": "START_SECONDS_TO_OVERRIDE", "seconds": 60} }} < Und bei Stackoverfow.com gefragt und sie sagten, es sei nichts falsch daran. Gibt es möglicherweise spezielle Formatierungsanforderungen für „Splendid Minds: Send Web request“?
        Ich stecke hier wirklich fest.​

        Kommentar


          Hast Du auch den LBS von Splendid Minds verwendet? Dann über facebook direkt nachfragen. Kai liest hier nur selten bis gar nicht.

          Kommentar


            Entschuldigung, ich komme aus Lettland. Können Sie mir sagen, wofür LBS steht?
            Ich verwende dafür Gira X1 Splendid Minds: Web-Anfrage senden, wie in diesem Thema hier vorgeschlagen.
            Kai – welche Person meinst du? (Vielleicht kannst du mir per PM einen Link zu seinem Facebook-Profil schicken, damit ich ihn fragen kann?)​

            Kommentar


              LBS = Logik-Bau-Stein; so bezeichnet Gira die Bausteine auf den Logikblättern im X1.

              Dieses Thema hier beschreibt nicht die LBS von Splendid Minds, sondern andere, wie in #1 beschrieben.

              Kommentar


                Ich möchte mich bei knxPaul bedanken, denn sein Vorschlag hat mich dazu gebracht, eine Lösung für dieses Problem zu finden.

                Daher muss vor jedem '' im Body / verwendet werden. Dann funktioniert alles. Wer hätte das gedacht!!

                {"data": {"type": "VALVE_CONTROL", "id": "request-4", "attributes": {"command": "START_SECONDS_TO_OVERRIDE", "seconds": 60}}}
                Zuletzt geändert von 0utf1t; 10.05.2024, 17:09.

                Kommentar


                  Hallo zusammen.

                  Aus einem IFM IO-Link-Master-Modul kann ich verschiedene Daten von einzelnen Temperatur- und Drucktransmittern auslesen. Nach einiger Konfigurationsarbeit werden diese Daten auch zuverlässig auf dem Gira X1 über das Auslesen der API empfangen. Der Rückgabewert wird im hexadezimalen Format angegeben. Neben dem Temperaturwert enthält der Rückgabewert zusätzliche Informationen (→ IO Device Description (IODD) des Sensors). Der Temperaturwert wird in den Bits 2 bis 15 dargestellt.

                  Als Anhang habe ich ein Beispiel hinzugefügt, wie laut IFM der tatsächliche Temperaturwert aus den hexadezimalen Daten extrahiert werden kann. Ich müsste nicht nur den hexadezimalen Wert umwandeln, sondern auch einen Teil der Datenbits verschieben.

                  Hat jemand eine Idee, wie ich diese hexadezimalen Daten in ein brauchbares dezimales Format im Gira X1 umwandeln kann? Welche Vorgehensweise sollte ich am besten verfolgen, um dies zuverlässig zu konvertieren?

                  Mit freundlichen Grüßen, Hans


                  image.png
                  image.png​​

                  Kommentar


                    Wie immer mit dem Schweizer Messer (Formelberechnung).

                    Den passenden Ausdruck, um einen hexadezimalen Text in eine Zahl zu verwandeln findet man z. B. hier. Um die unteren beiden Bits zu ignorieren, teilt man die erhaltene Ganzahl einfach durch vier; dabei fallen die Nachkommastellen unter den Tisch. Erst danach teilt man nochmal durch 10.0, um aus der Ganzzahl in Zehntelgrad eine Fließkommazahl in Grad zu machen.
                    Zuletzt geändert von hyman; 19.05.2024, 08:00.

                    Kommentar


                      Hallo Hyman,

                      Vielen Dank für ihre Antwort. Nach einigem Suchen und Lesen der Dokumentation gelang es mir, dies so zum Laufen zu bringen, wie Sie es beschrieben haben. Ich habe keine Vorkenntnisse in Programmiersprachen und bin daher sehr froh, dass es geklappt hat.

                      Nochmals vielen Dank.

                      PS: Wie gut, dass dieser Baustein entwickelt wurde! Super!​

                      image.png

                      Kommentar


                        Hallo zusammen.
                        Habe den HTTP-REQUEST-Baustein von Fabian Fischer im Einsatz.
                        Seit Update auf GPA 5.1 habe ich das Problem, dass Requests zwar in der Simulation richtig umgesetzt werden, aber dann in der Anlage nicht funktionieren.
                        Könnte jemand schon etwas Ähnliches beobachten?

                        Konnte mein Problem jetz beheben indem ich den Splendid Minds Web Request Baustein verwende.

                        Liebe Grüße Georg

                        Kommentar


                          Zitat von knxPaul Beitrag anzeigen
                          Kai liest hier nur selten bis gar nicht
                          Das ist eines der Probleme. Aber selbst wenn er liest, dann schreibt er nur und antwortet nicht.

                          Kommentar


                            Ich lese die API von Solarprognose aus
                            Die Daten von "preferredNextApiRequestAt" kann ich erfolgreich auslesen. Aber die Daten von "data" haben eine leere Ausgabe
                            Explizit möchte ich die Daten von "20241021" (31.146) auslesen
                            Kann mir jemand mit dem XML/JSON-Parser behilflich sein?

                            Code:
                            {
                              "preferredNextApiRequestAt": {
                                "secondOfHour": 1441,
                                "epochTimeUtc": 1729495441
                              },
                              "status": 0,
                              "iLastPredictionGenerationEpochTime": 1729494715,
                              "weather_source_text": "Kurzfristig (3 Tage): Powered by <a href=\"https://www.weatherapi.com/\" title=\"Free Weather API\">WeatherAPI.com</a> und Langfristig (10 Tage): Powered by <a href=\"https://www.visualcrossing.com/weather-data\" target=\"_blank\">Visual Crossing Weather</a>",
                              "datalinename": "Germany > Mangelhausen",
                              "data": [
                                ["20241021", 31.146],
                                ["20241022", 11.62]
                              ]
                            }
                            ​
                            image.png

                            Kommentar


                              Konnte mein Problem mittlerweile selbst lösen.
                              Grund für die falschen Daten war, die falsche Angabe der JSON-Daten. Im Browser wurde "Item" dargestellt

                              Für alle, die evtl. ähnliche Probleme haben, hier meine Lösung:
                              image.png

                              Kommentar


                                Liebe Experten,

                                ich versuche mit dem XML/JSON-Parser Baustein in einem JSON Objekt Werte auszulesen. Ich komme leider nicht weiter und brauch eure Hilfe.

                                Unten ein Beispiel der Werte die ich verarbeiten möchte.

                                /root/data/id gibt mir die ID ganz oben zurück. Das funktioniert super :-)

                                Jetzt will ich aber in "include" zum Beispiel die ID aus dem zweiten Objekt auslesen (im Bild gelb markiert).
                                Wie komme ich in den zweiten Absatz, also der mit der Zahl 1?

                                /root/included/[1]/id geht nicht
                                /root/included/1/id geht nicht
                                /root/included/item[position()=1]/id geht auch nicht

                                Könntet ihr mir bitte einen Tip geben? Danke :-)


                                UPDATE: Ich habe den Ansatz von #Schoofsknaller probiert ... also Item[x]. Das hat funktioniert :-)
                                /root/included/item[1]/id geht :-) Frage beantwortet - Danke.



                                image.png
                                Zuletzt geändert von Alzi; 23.10.2024, 22:17.

                                Kommentar

                                Lädt...
                                X