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

    Zitat von Sweeny Beitrag anzeigen
    1203v245grad

    ich habe einen Baustein für Tibber in der Entwicklung, Problem ist das sogenannte Escapen des Querys, bei mir und bei Dir. Ich hab die Entwicklung gestoppt, habs nicht hinbekommen. Eigentlich wollte ich erst mit der finalen API weitermachen, keine Ahnung, wann die kommt
    Danke für die schnelle Antwort! Das hätte ich nun wirklich nicht gedacht, dass es ein nicht lösbares Problem ist. Puh, das ist nicht so gut... An die Stelle wo jetzt ein Lingg und Janke KNX Zählerbaustein meinen Zähler des EVU ausliest, muss von Tibber ja der Pulse rauf. Katastrophe wenn dafür ein extra smart Meter rein müsste.

    Wie wird das bei FHEM und openHab? Da scheint es ja zu laufen.

    Herzlichen Dank, Martin.

    Kommentar


      1203v245grad

      Ich müsste mir das nächste Tage nochmals ansehen. Ich melde mich…

      Kommentar



        Zitat von stefanknx Beitrag anzeigen
        Das Senden von Befehlen funktioniert leider nicht. Ich bekomme immer folgenden Fehler zurück: {"code":400,"message":"Unable to process JSON"}
        Welche URL fragst du im Web-Request Baustein ab?

        Ich nutzte die mit der Location ID https://api.smart.gardena.dev/v1/locations/0e8f0....
        Dann als GET (nicht POST) und nur 2 Header: Header 1 der Token und Header 2 den X-Api-Key: 3688.... so läuft es bei mir ohne Probleme dank der Hilfe im Forum.

        2023-07-31 17_39_25-Window.png

        Kommentar


          Zitat von Alzi Beitrag anzeigen


          Welche URL fragst du im Web-Request Baustein ab?

          Ich nutzte die mit der Location ID https://api.smart.gardena.dev/v1/locations/0e8f0....
          Dann als GET (nicht POST) und nur 2 Header: Header 1 der Token und Header 2 den X-Api-Key: 3688.... so läuft es bei mir ohne Probleme dank der Hilfe im Forum.

          2023-07-31 17_39_25-Window.png
          Die Abfrage funktioniert bei mir auch ohne Probleme über folgende URL: https://api.amc.husqvarna.dev/v1/mowers

          In Husqvarna API Dokumentation steht, dass die Befehle über folgende URL mit der passenden Mower ID angesprochen werden: https://api.amc.husqvarna.dev/v1/mowers/${mowerId}/actions

          Ich habe mir schon überlegt, ob es daran liegen könnte, dass die Header im Web-Request-Baustein nach dem Body-Inhalt angehängt werden. Aber da kenne ich mich leider nicht aus:

          -w "%{http_code}"
          -X POST
          -d "{"data": {"type": "ParkUntilFurtherNotice"}}"
          -H "X-Api-Key: XXXXX"
          -H "Authorization: Bearer XXXXX"
          -H "Authorization-Provider: husqvarna"
          -H "Content-Type: application/vnd.api+json"
          -k "https://api.amc.husqvarna.dev/v1/mowers/XXXXX/actions"

          Es ist eigentlich alles enthalten, wie es in der Dokumentation gefordert wird:
          image.png

          Kommentar


            Zitat von Sweeny Beitrag anzeigen
            1203v245grad

            Ich müsste mir das nächste Tage nochmals ansehen. Ich melde mich…
            Super! Hilft vielleicht die Vorgehensweise über den internen Webserver der Bridge?

            Schau mal hier:

            https://www.loxforum.com/forum/faqs-...lokal-abfragen

            Kommentar


              Hallo Forum

              leider steh ich an
              Ich hätte gerne per Webrequest meine Externe Temperatur vom Shelly ausgelesen und als Dezimalwert für eine Logik verwendet.
              Soweit bekomme ich den Wert per Webreq. in meine X1 Logik, aber beim Parser fehlt mir das HowTO für den "Code"
              Wie bekomme ich aus den simplen 3 "Angaben" mein Temperatur (2.Wert)
              Danke

              image.png

              Kommentar


                Der Input ist ein String, weder XML noch JSON.
                Zur Verarbeitung ist da eher der LBS Formelberechnung geeignet.
                Dafür gibt es eine ausführliche Hilfe; hilfreich ist die Funktion
                {text:S}.Split(';')
                die den Eingabetext anhand der darin enthaltenen Trennzeichen in ein Feld von Texten zerlegt. Das zweimal hintereinander angewendet sollte zum Ziel führen.​

                Kommentar


                  Für mich sieht der Input schon nach JSON aus. Als Pfad /root/tC funktioniert:

                  grafik.png
                  Zuletzt geändert von hyman; 01.12.2023, 08:44.

                  Kommentar


                    Gewaltig Danke.... ich bin ja der Held, hab die "Formel" in den Input geschrieben --- somit---- den Baustein falsch verstanden !

                    Sorry und DANKE

                    Kommentar


                      Habs gelöst, das Token musste in den Header... eigentlich stehts ja da....


                      Hallo zusammen,

                      Kann mir jemand helfen?

                      Wie gebe ich folgende Webrequest (put) im Logikbaustein des Gira X1 ein?

                      ich behme schwer an, dass sich hier Profis tummeln;-)

                      Code:
                      curl -X PUT -d EM_USOC=20 --header "Auth-Token: XXXX-YYYY-ZZZZ" http://192.168.X.XXX:XX/api/v2/configurations
                      Im Baustein muss ich folgendes aufsplitten:

                      URL: http://SYSTEM-IP/api/v2/configurations​ (meine ip ergänzt)

                      Methode: PUT

                      Authorization: Bearer Token

                      Token: Mein Token (mein Token eingetragen)

                      Content-Type: application/json

                      Body: {"EM_USOC": "5"}

                      Was muss ich ändern, dass es funktioniert?
                      Zuletzt geändert von Ramon Buff; 08.01.2024, 17:18.

                      Kommentar


                        Hallo zusammen.

                        Zuerst einmal Danke für die sehr hilfreichen Bausteine. Der Webserver meiner Heizung verlangt (leider) nach einer Digest Authentication. Gibt es schon eine Möglichkeit Webrequests mit Digest Authentication auszuführen? Oder ist das mit dem X1 generell nicht möglich?

                        Kommentar


                          Schau mal nach dem Thread der sich mit der Müllbenachrichtigung befasst. Da ist gezeigt, wie man einem Server mit Challenge-/Response-Schema Daten entlockt. Vielleicht hilft es zumindest als Anregung ...

                          Kommentar


                            Danke schon einmal für die Infos. Damit könnte man vermutlich eine funktionierende Version hinbekommen. Ich habe mich gefragt, ob ich es nicht indirekt auch über den S1 hinbekommen kann. In der Fernzugriffs-API wird etwas darüber geschrieben https://partner.gira.de/attachment/G...1655100971.pdf

                            Ich bin auch schon soweit gekommen, das die Seite einmal angezeigt wird, aber ich scheitere dann an dem Punkt, wo der Part "?sdaAKey=AbCdEfG12345XyZ" angegeben werden muss. Im Browser kann ich mich dann anmelden, aber wie setzt sich dieser Key zusammen?

                            Außerdem kann der X1 ja seit 2021 mit IP-Kameras mit Digest-Auth auch kommunizieren, deshalb hoffe ich auf eine etwas elegantere Lösung.

                            Kommentar


                              Zitat von hyman Beitrag anzeigen
                              weil "0" und "1" keine gültigen XML-Keys
                              Verstehe ich es richtig, dass es nicht nur um "0" und "1" geht, sondern um alle Zahlen?

                              Kommentar


                                Ja, klar. XML-Keys dürfen zwar Zahlen enthalten, müssen aber mit einem Buchstaben anfangen. Genauer siehe hier.

                                JSON ist da flexibler. Da der XML-/JSON-Parser aber intern alles in XML macht, hilft uns das nicht ...

                                Kommentar

                                Lädt...
                                X