Ankündigung
Einklappen
Keine Ankündigung bisher.
Webservices mit dem Gira X1 oder L1 abfragen
Einklappen
X
-
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
-
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 “”
- Likes 1
Kommentar
-
Zitat von Sweeny Beitrag anzeigenAlzi
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 “”
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.pngZuletzt geändert von Alzi; 19.06.2023, 22:01.
- Likes 1
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 anzeigenPasst nicht ganz zu disem Post aber doch irgendwie.
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)
Zuletzt geändert von Sweeny; 20.06.2023, 05:55.
- Likes 1
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-mehrZuletzt geändert von matthiaz; 20.06.2023, 07:19.
- Likes 1
Kommentar
-
Zitat von Sweeny Beitrag anzeigenIm Gardena-Code-Beispiel werden die Parameter mit H übermittelt, also per Header. Müsste also passen.
Zitat von matthiaz Beitrag anzeigenja, es gibt auch eine passendes X1 Logik, um Strings miteinander zu verknüpfen
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
- Likes 1
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 anzeigenhttps://jsonformatter.org/json-parser
- Likes 2
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
StefanAngehä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.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 kommtZuletzt geändert von Sweeny; 31.07.2023, 15:06.
Kommentar
Kommentar