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

    Lieber Horst hyman ,

    herzlichen Dank! Funktioniert einwandfrei!

    Liebe Grüße, Martin

    Kommentar


      Liebe KNX Experten,

      Bitte entschuldigt vorab die unbeholfene Frage.

      Ich verwende einige Gardena Smart Sensoren, die mit der Gardena Smart Cloud verbunden sind, um die Bodenfeuchtigkeit zu messen. Die Bewässerung des Gartens wird über das Gira X1 gesteuert. Um die Bewässerung nicht nur zu gleichen Zeiten ein- und abzuschalten würde ich gerne Bodenfeuchtigkeitswerte in das X1 bekommen. Könnt ihr mir bitte helfen?


      Laut Anleitung (https://developer.husqvarnagroup.cloud/docs/get-started) habe ich den

      Application Key: 3688104YYYYYYYYYYYY und das Application Secret: 50xxxxxx erhalten.

      Nun soll ich mit folgendem Befehl den Access Token erhalten.

      curl -X POST -d "grant_type=client_credentials&client_id=36881XXX& client_secret=500898YYYY" https://api.authentication.husqvarna...1/oauth2/token

      FRAGE: Wie kann ich diesen Befehl Webservice im X1 ausführen?
      Ich habe den Befehl als ein POST in das WEBREQEST Modul gepackt. Leider ohne Erfolg.


      Schreibe ich den selben Befehl in die Windows Eingabeaufforderung erhalte ich wenigstes einen Wert zurück:
      {"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6Ik pXV CIsImtpZCI6IjVlZDU2ZDUzLTEyNWYtNDExZi04ZTFlLTNlNDR kMGVkOGJmOCJ9.eyJqdGkiOiJhMjE3M2EwOC1lN2UyLTQ5NDct OTZjYS0xNTUxNDVlM2EwYmYiLCJpc3MiOiJodXNxdmFybmEiLC Jyb2xlcyI6W10sImdyb3VwcyI6WyJkZXZlbG9wZXItcG9ydGFs IiwiZ2FyZGVuYS1teWFjY291bnQiLCJnYXJkZW5wbGFubmVyIi wic21hcnRnYXJkZW4iXSwic2NvcGVzIjpbImlhbTpyZWFkIiwi c2ctaW50ZWdyYXRpb24tYXBpOnJlYWQiLCJzZy1pbnRlZ3JhdG lvbi1hcGk6d3JpdGUiXSwic2NvcGUiOiJpYW06cmVhZCBzZy1p bnRlZ3JhdGlvbi1hcGk6cmVhZCBzZy1pbnRlZ3JhdGlvbi1hcG k6d3JpdGUiLCJjbGllbnRfaWQiOiIzNjg4MTA0ZS03ODMxLTQx YzAtODQyZC0wNzA4NjIzOWM3MWIiLCJ1c2VyIjp7ImZpcnN0X2 5hbWUiOiJBbGV4YW5kZXIiLCJsYXN0X25hbWUiOiJaaW1tZXJt YW5uIiwiY3VzdG9tX2F0dHJpYnV0ZXMiOnsiZ2FyZGVucGxhbm 5lcl9hY2NlcHRlZF90ZXJtcyI6IjIwMjAtMDgtMjQgMTA6MDU6 MDUifSwiY3VzdG9tZXJfaWQiOiIifSwiaWF0IjoxNjg3MDc0NT A5LCJleHAiOjE2ODcxNjA5MDksInN1YiI6IjhhOWIzMzE2LTM0 MzgtNDljNS05MjA4LTdkYWIxMTljNzhkNiJ9.H3ExP2j-HQ4dfgHpAHAv2LBnDc3naxwluDne18bOknYKpxu5fGxpPPrBAl DeeXURgeWNnV_5lylVGwnByVcb3XPL7YII61GKEnd_x4IWCtap apGx9-1SpYHBm-M-uohrucba4q8ZkiHV3OE7VBeJaiRKHje9ZM3a0Q02v95iieYec9 KLOi-QrGDX6gPT1ZGsgwqCce3ob4hx3D9TE3oHoDYSr075ftSCX5ZPx HugCxuN5B0crHuJz8Gve3kuZ_5UpyeJ9RBJtlvlX41Md_-1sSYoipTP63Tl5yYS3-e8meMw-ZV6aIhXdNxf9gB1Sg7lp4LYU5oKsLfTpva7XYYQi_zux2d0RZx JH6RFTV4hgbt-u86G07JNkcB6-thn79rZwqX37NxKQvSyey1aAu57XTJz6jz_1MRgqKivYh_f5ZD c06qHYwdxpcYwnLD-rap5zVA6PDdUPy69UsvpI-Wg1NEa7p74Bfg8LT3nQyqNAZWcBSNcZArp_47BanSh9pOL","s cope":"iam:read sg-integration-api:read sg-integration-api:write","expires_in":86399,"provider":"husqvarn a","user_id":"8XXXXXX-7dab119c78d6","token_type":"Bearer"}

      Ich nehme also an, der Befehl funktioniert. Aber wie mach ich das im X1?
      Über jeden hilfreichen Tipp und Kommentar würde ich mich sehr freuen.


      Vielen Dank und Grüße,
      Alex

      Zuletzt geändert von Alzi; 18.06.2023, 17:10.

      Kommentar


        Ich würd ja nicht mein privates Application Secret​ hier veröffentlichen -- wie die Bezeichnung schon nahe legt, sollte die geheim bleiben ...

        Kommentar


          Alzi
          Versuch es mal mit dem Request-Baustein von https://www.smarthome-appstore.de

          Verwende da mal die Parameter, die du oben in “” gesetzt hat, allerdings ohne “”

          Kommentar


            Zitat von Sweeny Beitrag anzeigen
            Alzi
            Versuch es mal mit dem Request-Baustein von https://www.smarthome-appstore.de
            Verwende da mal die Parameter, die du oben in “” gesetzt hat, allerdings ohne “”
            Danke Danke - es hat funktioniert :-)

            Ich erhalte im Feld Antwort des Web-Request Bausteins einen Wert.
            Mit 3 Stunden Trial und Error habe ich mit dem Baustein XML/JASON-Parser als Pfad 1: /root/access_token den Token isolieren können :-)

            Jetzt komme ich aber nicht mehr weiter. Laut Gardena Anleitung soll ich nun sowohl den Access Token (habe ich jetzt als variablen Datenpunkt als Text) als auch den App Key (habe ich auch als variablen Dantenpunkt als Text) beides bei der Abfrage zusammen eingeben:

            2023-06-19 22_51_14-Window.png


            In dem Web Request Baustein habe ich aber nur ein Token Feld :-(
            Könnte mir jemand bitte einen Tipp geben wie ich beide Parameter abfrage?

            Es kostet euch nur 10 Sekunden die Antworten zu schreiben die wahrscheinlich 90% hier im Forum kennen.
            Ich gehöre leider zu den wenigen die die Antwort nicht wissen. Sonst würde ich nicht fragen :-)
            Daher die freundliche Bitte um Hilfe falls jemand helfen möchte.


            2023-06-19 22_55_59-Window.png
            Zuletzt geändert von Alzi; 19.06.2023, 22:01.

            Kommentar


              Hallo Leute

              Passt nicht ganz zu disem Post aber doch irgendwie.
              Bin schon lange im Bus Knx Geschäft tätig.
              Arbeite aber einer Elekrofirma was alles anbietet.
              Dadurch leidet natürlich auch die Qualität.
              keine Ahnung wie ihr eine zB. Vissu am Hs verrechnt anbietet?
              geht ja von bis?
              Hab bisher 5 HS und mittlerweile 10 X1 am laufen.
              Aber wie bietet ihr das an oder was wird verrechnet?

              Christan

              Kommentar


                Zitat von ro_ewr Beitrag anzeigen
                Passt nicht ganz zu disem Post aber doch irgendwie.
                Nein, es passt wirklich gar nicht.

                Wenn Du das ernsthaft fragen/diskutieren möchtest, eröffne bitte einen neuen Thread. Das ist im übrigen kostenlos und tut nicht weh.
                Gruß Bernhard

                Kommentar




                  Alzi

                  Schau mal, ob du alles über die Header machen kannst. Im Gardena-Code-Beispiel werden die Parameter mit H übermittelt, also per Header. Müsste also passen.
                  Laut Baustein-Dokumentation geht das auch:
                  • Bis zu 10 eigener Header, die dem WebRequest angefügt werden sollen (jeder Header kann als Parameter oder als Eingang befüllt werden)
                  Token lässt du dann frei. “-H” brauchst du dann nicht einzugeben, dass macht der Baustein.
                  Zuletzt geändert von Sweeny; 20.06.2023, 05:55.

                  Kommentar


                    Steht ja auch eigentlich alles bereits da... Im Screenshot hat er halt 0 eigene Header. Und da die Frage aufkommen wird: ja, es gibt auch eine passendes X1 Logik, um Strings miteinander zu verknüpfen (da die Header ja statischen Text + dynamische API Keys sind).

                    /Edit: Baustein ist bswp. dieser https://www.smarthome-appstore.de/pr...austeine-text/ oder https://knx-user-forum.de/forum/%C3%...istik-und-mehr
                    Zuletzt geändert von matthiaz; 20.06.2023, 07:19.

                    Kommentar


                      Zitat von Sweeny Beitrag anzeigen
                      Im Gardena-Code-Beispiel werden die Parameter mit H übermittelt, also per Header. Müsste also passen.
                      Danke Sweeny - es hat funktioniert :-)

                      Zitat von matthiaz Beitrag anzeigen
                      ja, es gibt auch eine passendes X1 Logik, um Strings miteinander zu verknüpfen
                      Danke matthiaz - damit konnte ich den Token mit dem Befehl als Header zusammen bauen :-)

                      Ich bekomme jetzt bei dem Befehl unten folgendes zurück. Ich sehe in diesem langen Text meine drei Sensoren versteckt. Es kommen also die Werte raus *freu*. Jedoch habe ich selbst mit einigem Versuchen nicht rausbekommen wie ich jetzt den Wert in der Mitte der Antwort auslesen kann.

                      Das müsste die letzte Frage sein:
                      Könntet ihr mir bitte sagen was die Pfadstruktur für das XML/JASON-Parser Modul sein muss um soilHumidity den Wert 10 auszulesen?

                      1000 Dank :-)

                      {"data":{"id":"0e8f0215-4b28-479e-aa47-4e11ffee4b06","type":"LOCATION","relationships":{" devices":{"data":[{"id":"377ee006-14e4-41fb-91f5-103c6ad5e0da","type":"DEVICE"},{"id":"3aa950cb-c8c8-4e24-8921-be8a33cbfa29","type":"DEVICE"},{"id":"8276d514-2447-4dca-a055-baffa6d37648","type":"DEVICE"},{"id":"e50c9bad-bbcf-4496-a6c1-8968d9f48c68","type":"DEVICE"}]}},"attributes":{"name":"GARDENA smart Garden"}},"included":[{"id":"377ee006-14e4-41fb-91f5-103c6ad5e0da","type":"DEVICE","relationships":{"lo cation":{"data":{"id":"0e8f0215-4b28-479e-aa47-4e11ffee4b06","type":"LOCATION"}},"services":{"dat a":[{"id":"377ee006-14e4-41fb-91f5-103c6ad5e0da","type":"SENSOR"},{"id":"377ee006-14e4-41fb-91f5-103c6ad5e0da","type":"COMMON"}]}}},{"id":"3aa950cb-c8c8-4e24-8921-be8a33cbfa29","type":"DEVICE","relationships":{"lo cation":{"data":{"id":"0e8f0215-4b28-479e-aa47-4e11ffee4b06","type":"LOCATION"}},"services":{"dat a":[{"id":"3aa950cb-c8c8-4e24-8921-be8a33cbfa29","type":"SENSOR"},{"id":"3aa950cb-c8c8-4e24-8921-be8a33cbfa29","type":"COMMON"}]}}},{"id":"8276d514-2447-4dca-a055-baffa6d37648","type":"DEVICE","relationships":{"lo cation":{"data":{"id":"0e8f0215-4b28-479e-aa47-4e11ffee4b06","type":"LOCATION"}},"services":{"dat a":[{"id":"8276d514-2447-4dca-a055-baffa6d37648","type":"SENSOR"},{"id":"8276d514-2447-4dca-a055-baffa6d37648","type":"COMMON"}]}}},{"id":"e50c9bad-bbcf-4496-a6c1-8968d9f48c68","type":"DEVICE","relationships":{"lo cation":{"data":{"id":"0e8f0215-4b28-479e-aa47-4e11ffee4b06","type":"LOCATION"}},"services":{"dat a":[{"id":"e50c9bad-bbcf-4496-a6c1-8968d9f48c68:cbtg","type":"MOWER"},{"id":"e50c9bad-bbcf-4496-a6c1-8968d9f48c68","type":"COMMON"}]}}},{"id":"377ee006-14e4-41fb-91f5-103c6ad5e0da","type":"SENSOR","relationships":{"de vice":{"data":{"id":"377ee006-14e4-41fb-91f5-103c6ad5e0da","type":"DEVICE"}}},"attributes":{"so ilHumidity":{"value":55,"timestamp":"2023-06-20T20:11:06.000+00:00"},"soilTemperature":{"value" :24,"timestamp":"2023-06-20T20:11:06.000+00:00"}}},{"id":"377ee006-14e4-41fb-91f5-103c6ad5e0da","type":"COMMON","relationships":{"de vice":{"data":{"id":"377ee006-14e4-41fb-91f5-103c6ad5e0da","type":"DEVICE"}}},"attributes":{"na me":{"value":"Feigen"},"batteryLevel":{"value":5 7, "timestamp":"2023-06-15T07:58:15.000+00:00"},"batteryState":{"value":"U NKNOWN","timestamp":"2023-06-15T07:58:15.000+00:00"},"rfLinkLevel":{"value":60, "timestamp":"2023-06-20T20:11:06.000+00:00"},"serial":{"value":"0013393 7"},"modelType":{"value":"GARDENA smart Sensor"},"rfLinkState":{"value":"ONLINE"}}},{"id": "3aa950cb-c8c8-4e24-8921-be8a33cbfa29","type":"SENSOR","relationships":{"de vice":{"data":{"id":"3aa950cb-c8c8-4e24-8921-be8a33cbfa29","type":"DEVICE"}}},"attributes":{"soilHumidity":{"value":10,"timestamp":"2023-06-20T20:56:04.000+00:00"},"soilTemperature":{"value" :23,"timestamp":"2023-06-20T20:56:04.000+00:00"}}},{"id":"3aa950cb-c8c8-4e24-8921-be8a33cbfa29","type":"COMMON","relationships":{"de vice":{"data":{"id":"3aa950cb-c8c8-4e24-8921-be8a33cbfa29","type":"DEVICE"}}},"attributes":{"na me":{"value":"Glanzmispel"},"batteryLevel":{"val ue ":21,"timestamp":"2023-06-16T21:56:00.000+00:00"},"batteryState":{"value":"L OW","timestamp":"2023-06-16T21:56:00.000+00:00"},"rfLinkLevel":{"value":70, "timestamp":"2023-06-20T20:56:04.000+00:00"},"serial":{"value":"0003992 4"},"modelType":{"value":"GARDENA smart Sensor"},"rfLinkState":{"value":"ONLINE"}}},{"id": "8276d514-2447-4dca-a055-baffa6d37648","type":"SENSOR","relationships":{"de vice":{"data":{"id":"8276d514-2447-4dca-a055-baffa6d37648","type":"DEVICE"}}},"attributes":{"so ilHumidity":{"value":45,"timestamp":"2023-06-20T20:01:24.000+00:00"},"soilTemperature":{"value" :26,"timestamp":"2023-06-20T20:01:24.000+00:00"}}},{"id":"8276d514-2447-4dca-a055-baffa6d37648","type":"COMMON","relationships":{"de vice":{"data":{"id":"8276d514-2447-4dca-a055-baffa6d37648","type":"DEVICE"}}},"attributes":{"na me":{"value":"Rasen"},"batteryLevel":{"value":92 ," timestamp":"2023-06-15T07:58:15.000+00:00"},"batteryState":{"value":"U NKNOWN","timestamp":"2023-06-15T07:58:15.000+00:00"},"rfLinkLevel":{"value":50, "timestamp":"2023-06-20T20:01:24.000+00:00"},"serial":{"value":"0009251 5"},"modelType":{"value":"GARDENA smart Sensor"},"rfLinkState":{"value":"ONLINE"}}},{"id": "e50c9bad-bbcf-4496-a6c1-8968d9f48c68:cbtg","type":"MOWER","relationships": {"device":{"data":{"id":"e50c9bad-bbcf-4496-a6c1-8968d9f48c68","type":"DEVICE"}}},"attributes":{"st ate":{"value":"WARNING","timestamp":"2023-06-20T15:21:53.000+00:00"},"activity":{"value":"NONE" ,"timestamp":"2023-06-20T15:21:53.000+00:00"},"lastErrorCode":{"value":" PARKED_DAILY_LIMIT_REACHED","timestamp":"2023-06-20T20:57:19.469+00:00"},"operatingHours":{"value": 705}}},{"id":"e50c9bad-bbcf-4496-a6c1-8968d9f48c68","type":"COMMON","relationships":{"de vice":{"data":{"id":"e50c9bad-bbcf-4496-a6c1-8968d9f48c68","type":"DEVICE"}}},"attributes":{"na me":{"value":"Konrad"},"batteryLevel":{"value":1 00 ,"timestamp":"2023-06-20T15:44:46.000+00:00"},"batteryState":{"value":"O K","timestamp":"2023-06-20T20:57:19.469+00:00"},"rfLinkLevel":{"value":90, "timestamp":"2023-06-20T20:32:40.000+00:00"},"serial":{"value":"2048823 92"},"modelType":{"value":"GARDENA smart Mower"},"rfLinkState":{"value":"ONLINE"}}}]}



                      2023-06-20 22_59_53-GARDENA smart system API - Husqvarna Group.png






                      Kommentar


                        Bediene Dich doch der online verfügbaren Tools wie hier und finde es selber heraus?

                        https://jsonformatter.org/json-parser

                        Das der Parser mit "root" beginnt weißt Du ja schon.

                        Kommentar


                          Zitat von matthiaz Beitrag anzeigen
                          https://jsonformatter.org/json-parser
                          Danke matthiaz - es funktioniert :-)

                          Kommentar


                            Liebe Communtiy,

                            ich versuche meinen Mähroboter über die Husqvarna Automower Connect API mit dem Gira X1 auszulesen und zu steuern.

                            Durch stilles Mitlesen habe ich das Auslesen mit folgender Logik hinbekommen. Vielen Dank hierfür!
                            image.png
                            Das Senden von Befehlen funktioniert leider nicht. Ich bekomme immer folgenden Fehler zurück: {"code":400,"message":"Unable to process JSON"}
                            image.png​​
                            Falls jemand das Problem auch hatte oder Hinweise und Tipps hat, wäre ich sehr dankbar.

                            Viele Grüße
                            Stefan
                            Angehängte Dateien

                            Kommentar


                              Moin,

                              kann mir vielleicht jemand auf die Sprünge helfen? Ich schaffe es leider nicht die Query konform in den Webrequest einzubinden. Ziel ist es die umfangreiche TIBBER Api zu nutzen um die Zählerwerte, Verbrauchsdaten und Niedrigpreise auszuwerten. Ich bekomme einfach keine Antwort.

                              Der in den Anhängen gezeigte Token ist ein Demo Token der Developer Seite von Tibber:

                              https://developer.tibber.com/explorer

                              Die Anfragen müssen doch in den Body, oder? Wahrscheinlich trage ich diese nicht im korrekten Format ein:

                              {viewer {homes {currentSubscription {priceInfo {current {total energy tax startsAt }}}}}}

                              Folgendes habe ich aus der Tibber Doku:
                              -d '{ "query": "{viewer {homes {currentSubscription {priceInfo {current {total energy tax startsAt }}}}}}" }' https://api.tibber.com/v1-beta/gql​


                              Herzlichen Dank, Martin.
                              Angehängte Dateien
                              Zuletzt geändert von 1203v245grad; 31.07.2023, 10:57.

                              Kommentar


                                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
                                Zuletzt geändert von Sweeny; 31.07.2023, 15:06.

                                Kommentar

                                Lädt...
                                X