Hallo zusammen,
ich habe da ein Problem mit HTTPMOD insofern, dass ich ein JSON String nicht wie erwartet mit extractAllJson auseinandergenommen bekomme (zumindest verstehe ich das so). Ich frage hier einen LinkTap G2-S nach seinem Wasserdurchfluss ab.Kann mir hier vielleicht jemand helfen bzw. mich in die richtige Richtung schubsen. Ich bekomme keinerlei Readings und dachte mit extractAllJson würde das automisch gehen.
der zurückgegebene httpbody sieht folgendermaßen aus
{"result":"ok","status":[{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":13,"M":7,"ss":59,"D":1,"S":0,"vol":0,"createdAt":"2022-09-07T11:08:01.135Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":13,"M":53,"ss":59,"D":1,"S":0,"vol":0,"createdAt":"2022-09-07T11:54:00.810Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":13,"M":56,"ss":14,"D":1,"S":0,"vol":0,"createdAt":"2022-09-07T11:56:15.795Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":16,"M":28,"ss":13,"D":0,"S":1,"vol":0,"createdAt":"2022-09-07T14:28:15.586Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":16,"M":28,"ss":16,"D":0,"S":1,"vol":0,"createdAt":"2022-09-07T14:28:17.849Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":16,"M":28,"ss":20,"D":0,"S":1,"vol":0,"createdAt":"2022-09-07T14:28:22.023Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220909,"H":13,"M":30,"ss":3,"D":1,"S":0,"vol":0,"createdAt":"2022-09-09T11:30:04.619Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220909,"H":13,"M":49,"ss":17,"D":1,"S":0,"vol":0,"createdAt":"2022-09-09T11:49:19.476Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220909,"H":13,"M":52,"ss":47,"D":2,"S":0,"vol":0,"createdAt":"2022-09-09T11:52:49.445Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220909,"H":15,"M":29,"ss":46,"D":1,"S":0,"vol":0,"createdAt":"2022-09-09T13:29:48.741Z","__v":0}]}
die Attribute sehen folgendermaßen aus:
enableControlSet 1
enforceGoodReadingNames 1
extractAllJSON 2
room HTTPMOD
set01Data { "username": "xxx", "apiKey": "xxx", "gatewayId": "xxx", "taplinkerId": "xxx" }
set01Name Wasserhistorie
set01URL https://www.link-tap.com/api/getWateringHistory
setHeader1 Content-Type: application/json
showBody 1
verbose 5
Ich bin dankbar für jede Hilfe
Gruß
Isno
was steht denn in fhem.log?
mit JsonMod statt HTTPMOD funktioniert das einwandfrei...
defmod test_json JsonMod file://tmp/test.json
attr test_json readingList complete()
setstate test_json 2022-09-12 11:52:37 .computedReadings status.3.ss,status.0.createdAt,status.4.D,status.7.Y,status.7.M,status.3.__v,status.8.S,status.8.macaddr,status.6.M,status.6.Y,status.3.H,status.3.vol,status.0.macaddr,status.0.S,status.7.vol,status.7.H,status.6.ss,status.7.__v,status.8.createdAt,status.3.M,status.3.Y,status.6.H,status.6.vol,status.7.ss,status.6.__v,result,status.2.macaddr,status.2.S,status.6.D,status.9.createdAt,status.5.createdAt,status.4.M,status.4.Y,status.7.D,status.1.createdAt,status.2.createdAt,status.3.D,status.4.ss,status.5.S,status.5.macaddr,status.9.S,status.9.macaddr,status.4.__v,status.4.H,status.1.S,status.1.macaddr,status.4.vol,status.1.Y,status.1.M,status.4.createdAt,status.2.ss,status.0.D,status.2.H,status.5.M,status.2.vol,status.5.Y,status.9.Y,status.9.M,status.2.__v,status.5.ss,status.1.__v,status.9.ss,status.1.vol,status.4.S,status.4.macaddr,status.1.H,status.5.__v,status.1.ss,status.9.__v,status.9.vol,status.9.H,status.2.M,status.5.H,status.8.D,status.2.Y,status.5.vol,status.5.D,status.8.H,status.8.vol,status.6.createdAt,status.9.D,status.3.macaddr,status.3.S,status.8.__v,status.1.D,status.7.createdAt,status.8.ss,status.0.Y,status.0.M,status.6.macaddr,status.6.S,status.8.M,status.3.createdAt,status.2.D,status.0.ss,status.8.Y,status.7.macaddr,status.7.S,status.0.vol,status.0.H,status.0.__v
setstate test_json 2022-09-12 11:52:37 result ok
setstate test_json 2022-09-12 11:52:37 status.0.D 1
setstate test_json 2022-09-12 11:52:37 status.0.H 13
setstate test_json 2022-09-12 11:52:37 status.0.M 7
setstate test_json 2022-09-12 11:52:37 status.0.S 0
setstate test_json 2022-09-12 11:52:37 status.0.Y 20220907
setstate test_json 2022-09-12 11:52:37 status.0.__v 0
setstate test_json 2022-09-12 11:52:37 status.0.createdAt 2022-09-07T11:08:01.135Z
setstate test_json 2022-09-12 11:52:37 status.0.macaddr 7Axxxxxx004B1200
setstate test_json 2022-09-12 11:52:37 status.0.ss 59
setstate test_json 2022-09-12 11:52:37 status.0.vol 0
setstate test_json 2022-09-12 11:52:37 status.1.D 1
setstate test_json 2022-09-12 11:52:37 status.1.H 13
setstate test_json 2022-09-12 11:52:37 status.1.M 53
setstate test_json 2022-09-12 11:52:37 status.1.S 0
setstate test_json 2022-09-12 11:52:37 status.1.Y 20220907
setstate test_json 2022-09-12 11:52:37 status.1.__v 0
setstate test_json 2022-09-12 11:52:37 status.1.createdAt 2022-09-07T11:54:00.810Z
setstate test_json 2022-09-12 11:52:37 status.1.macaddr 7Axxxxxx004B1200
setstate test_json 2022-09-12 11:52:37 status.1.ss 59
setstate test_json 2022-09-12 11:52:37 status.1.vol 0
setstate test_json 2022-09-12 11:52:37 status.2.D 1
setstate test_json 2022-09-12 11:52:37 status.2.H 13
setstate test_json 2022-09-12 11:52:37 status.2.M 56
setstate test_json 2022-09-12 11:52:37 status.2.S 0
setstate test_json 2022-09-12 11:52:37 status.2.Y 20220907
setstate test_json 2022-09-12 11:52:37 status.2.__v 0
setstate test_json 2022-09-12 11:52:37 status.2.createdAt 2022-09-07T11:56:15.795Z
setstate test_json 2022-09-12 11:52:37 status.2.macaddr 7Axxxxxx004B1200
setstate test_json 2022-09-12 11:52:37 status.2.ss 14
setstate test_json 2022-09-12 11:52:37 status.2.vol 0
setstate test_json 2022-09-12 11:52:37 status.3.D 0
setstate test_json 2022-09-12 11:52:37 status.3.H 16
setstate test_json 2022-09-12 11:52:37 status.3.M 28
setstate test_json 2022-09-12 11:52:37 status.3.S 1
setstate test_json 2022-09-12 11:52:37 status.3.Y 20220907
setstate test_json 2022-09-12 11:52:37 status.3.__v 0
setstate test_json 2022-09-12 11:52:37 status.3.createdAt 2022-09-07T14:28:15.586Z
setstate test_json 2022-09-12 11:52:37 status.3.macaddr 7Axxxxxx004B1200
setstate test_json 2022-09-12 11:52:37 status.3.ss 13
setstate test_json 2022-09-12 11:52:37 status.3.vol 0
setstate test_json 2022-09-12 11:52:37 status.4.D 0
setstate test_json 2022-09-12 11:52:37 status.4.H 16
setstate test_json 2022-09-12 11:52:37 status.4.M 28
setstate test_json 2022-09-12 11:52:37 status.4.S 1
setstate test_json 2022-09-12 11:52:37 status.4.Y 20220907
setstate test_json 2022-09-12 11:52:37 status.4.__v 0
setstate test_json 2022-09-12 11:52:37 status.4.createdAt 2022-09-07T14:28:17.849Z
setstate test_json 2022-09-12 11:52:37 status.4.macaddr 7Axxxxxx004B1200
setstate test_json 2022-09-12 11:52:37 status.4.ss 16
setstate test_json 2022-09-12 11:52:37 status.4.vol 0
setstate test_json 2022-09-12 11:52:37 status.5.D 0
setstate test_json 2022-09-12 11:52:37 status.5.H 16
setstate test_json 2022-09-12 11:52:37 status.5.M 28
setstate test_json 2022-09-12 11:52:37 status.5.S 1
setstate test_json 2022-09-12 11:52:37 status.5.Y 20220907
setstate test_json 2022-09-12 11:52:37 status.5.__v 0
setstate test_json 2022-09-12 11:52:37 status.5.createdAt 2022-09-07T14:28:22.023Z
setstate test_json 2022-09-12 11:52:37 status.5.macaddr 7Axxxxxx004B1200
setstate test_json 2022-09-12 11:52:37 status.5.ss 20
setstate test_json 2022-09-12 11:52:37 status.5.vol 0
setstate test_json 2022-09-12 11:52:37 status.6.D 1
setstate test_json 2022-09-12 11:52:37 status.6.H 13
setstate test_json 2022-09-12 11:52:37 status.6.M 30
setstate test_json 2022-09-12 11:52:37 status.6.S 0
setstate test_json 2022-09-12 11:52:37 status.6.Y 20220909
setstate test_json 2022-09-12 11:52:37 status.6.__v 0
setstate test_json 2022-09-12 11:52:37 status.6.createdAt 2022-09-09T11:30:04.619Z
setstate test_json 2022-09-12 11:52:37 status.6.macaddr 7Axxxxxx004B1200
setstate test_json 2022-09-12 11:52:37 status.6.ss 3
setstate test_json 2022-09-12 11:52:37 status.6.vol 0
setstate test_json 2022-09-12 11:52:37 status.7.D 1
setstate test_json 2022-09-12 11:52:37 status.7.H 13
setstate test_json 2022-09-12 11:52:37 status.7.M 49
setstate test_json 2022-09-12 11:52:37 status.7.S 0
setstate test_json 2022-09-12 11:52:37 status.7.Y 20220909
setstate test_json 2022-09-12 11:52:37 status.7.__v 0
setstate test_json 2022-09-12 11:52:37 status.7.createdAt 2022-09-09T11:49:19.476Z
setstate test_json 2022-09-12 11:52:37 status.7.macaddr 7Axxxxxx004B1200
setstate test_json 2022-09-12 11:52:37 status.7.ss 17
setstate test_json 2022-09-12 11:52:37 status.7.vol 0
setstate test_json 2022-09-12 11:52:37 status.8.D 2
setstate test_json 2022-09-12 11:52:37 status.8.H 13
setstate test_json 2022-09-12 11:52:37 status.8.M 52
setstate test_json 2022-09-12 11:52:37 status.8.S 0
setstate test_json 2022-09-12 11:52:37 status.8.Y 20220909
setstate test_json 2022-09-12 11:52:37 status.8.__v 0
setstate test_json 2022-09-12 11:52:37 status.8.createdAt 2022-09-09T11:52:49.445Z
setstate test_json 2022-09-12 11:52:37 status.8.macaddr 7Axxxxxx004B1200
setstate test_json 2022-09-12 11:52:37 status.8.ss 47
setstate test_json 2022-09-12 11:52:37 status.8.vol 0
setstate test_json 2022-09-12 11:52:37 status.9.D 1
setstate test_json 2022-09-12 11:52:37 status.9.H 15
setstate test_json 2022-09-12 11:52:37 status.9.M 29
setstate test_json 2022-09-12 11:52:37 status.9.S 0
setstate test_json 2022-09-12 11:52:37 status.9.Y 20220909
setstate test_json 2022-09-12 11:52:37 status.9.__v 0
setstate test_json 2022-09-12 11:52:37 status.9.createdAt 2022-09-09T13:29:48.741Z
setstate test_json 2022-09-12 11:52:37 status.9.macaddr 7Axxxxxx004B1200
setstate test_json 2022-09-12 11:52:37 status.9.ss 46
setstate test_json 2022-09-12 11:52:37 status.9.vol 0
Hallo Frank,
hier der Auszug aus der fhem.log
2022.09.12 12:50:28 5: def: set called with Wasserhistorie 1
2022.09.12 12:50:28 5: def: set found option Wasserhistorie in attribute set01Name
2022.09.12 12:50:28 4: def: set will now set Wasserhistorie -> 1
2022.09.12 12:50:28 5: def: AddToQueue adds type set01 to URL https://www.link-tap.com/api/getWateringHistory, data { "username": "xxx", "apiKey": "xxx", "gatewayId": "xxx", "taplinkerId": "xxx" }, header Content-Type: application/json, retry 0, initial queue len: 0
2022.09.12 12:50:28 5: def: HandleSendQueue called from AddToSendQueue, qlen = 1
2022.09.12 12:50:28 4: def: HandleSendQueue sends set01 with timeout 2 to https://www.link-tap.com/api/getWateringHistory,
data: { "username": "xxx", "apiKey": "xxx", "gatewayId": "xxx", "taplinkerId": "xxx" },
header: Content-Type: application/json
2022.09.12 12:50:29 5: def: ReadCallback called from __ANON__
2022.09.12 12:50:29 4: def: Read callback: request type was set01 retry 0,
header: HTTP/1.1 200 OK
Date: Mon, 12 Sep 2022 10:50:29 GMT
Content-Type: application/json; charset=utf-8
Connection: close
Set-Cookie: AWSALB=vVAYA/nGYwFlskc6xX13lNbJUXt3U1wGDVpfc2qKZoNjU28hgp6hsfxyAvmJbQnRa7C94UhFzB7ZLQhe*************************************; Expires=Mon, 19 Sep 2022 10:50:29 GMT; Path=/
Set-Cookie: AWSALBCORS=vVAYA/nGYwFlskc6xX13lNbJUXt3U1wGDVpfc2qKZoNjU28hgp6hsfxyAvmJbQnRa7C94UhFzB7ZLQhe*************************************; Expires=Mon, 19 Sep 2022 10:50:29 GMT; Path=/; SameSite=None; Secure
Access-Control-Allow-Origin: *
Vary: X-HTTP-Method-Override, Accept-Encoding
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Download-Options: noopen
ETag: W/"5cf-24hqL0h4QC+s9Szo1/l5WA"
Content-Encoding: gzip, body length 1487
2022.09.12 12:50:29 5: def: Read callback: body
{"result":"ok","status":[{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":13,"M":7,"ss":59,"D":1,"S":0,"vol":0,"createdAt":"2022-09-07T11:08:01.135Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":13,"M":53,"ss":59,"D":1,"S":0,"vol":0,"createdAt":"2022-09-07T11:54:00.810Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":13,"M":56,"ss":14,"D":1,"S":0,"vol":0,"createdAt":"2022-09-07T11:56:15.795Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":16,"M":28,"ss":13,"D":0,"S":1,"vol":0,"createdAt":"2022-09-07T14:28:15.586Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":16,"M":28,"ss":16,"D":0,"S":1,"vol":0,"createdAt":"2022-09-07T14:28:17.849Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":16,"M":28,"ss":20,"D":0,"S":1,"vol":0,"createdAt":"2022-09-07T14:28:22.023Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220909,"H":13,"M":30,"ss":3,"D":1,"S":0,"vol":0,"createdAt":"2022-09-09T11:30:04.619Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220909,"H":13,"M":49,"ss":17,"D":1,"S":0,"vol":0,"createdAt":"2022-09-09T11:49:19.476Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220909,"H":13,"M":52,"ss":47,"D":2,"S":0,"vol":0,"createdAt":"2022-09-09T11:52:49.445Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220909,"H":15,"M":29,"ss":46,"D":1,"S":0,"vol":0,"createdAt":"2022-09-09T13:29:48.741Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220912,"H":11,"M":41,"ss":27,"D":0,"S":1,"vol":0,"createdAt":"2022-09-12T09:41:39.668Z","__v":0}]}
2022.09.12 12:50:29 4: def: BodyDecode is not decoding the response body (charset utf-8, bodyDecode defaults to none)
2022.09.12 12:50:29 4: def: extracted JSON values to internal
2022.09.12 12:50:29 5: def: GetCookies is looking for Cookies
2022.09.12 12:50:29 4: def: GetCookies parsed Cookie: AWSALB Wert vVAYA/nGYwFlskc6xX13lNbJUXt3U1wGDVpfc2qKZoNjU28hgp6hsfxyAvmJbQnRa7C94UhFzB7ZLQhe************************************* Rest Expires=Mon, 19 Sep 2022 10:50:29 GMT; Path=/
2022.09.12 12:50:29 4: def: GetCookies parsed Cookie: AWSALBCORS Wert vVAYA/nGYwFlskc6xX13lNbJUXt3U1wGDVpfc2qKZoNjU28hgp6hsfxyAvmJbQnRa7C94UhFzB7ZLQhe************************************* Rest Expires=Mon, 19 Sep 2022 10:50:29 GMT; Path=/; SameSite=None; Secure
2022.09.12 12:50:29 5: def: ExtractSid called, context set, num 01
2022.09.12 12:50:29 4: def: checking for redirects, code=200, ignore=0
2022.09.12 12:50:29 4: def: no redirects to handle
2022.09.12 12:50:29 5: def: Read callback sets LAST_REQUEST to set01
2022.09.12 12:50:29 5: def: CheckAuth decided no authentication required
Gruß
Isno
Hallo betateilchen,
hab auch schon wegen JsonMod gelesen, bin aber nicht recht schlau daraus geworden.
Ich rufe ja via HTTPMOD und JSON Daten die API von LinkTap auf und bekomme JSON Werte als Body zurück. Kann ich diesen body an JsonMod weitergeben zum aufdröseln? Bei dir ist, so deute ich, ein File übergeben worden.
2022.09.12 12:50:29 4: def: BodyDecode is not decoding the response body (charset utf-8, bodyDecode defaults to none)
Setz doch mal das Attribut bodyDecode auf auto - vielleicht hilft das schon.
Zitat von: Isnogud0815 am 12 September 2022, 13:01:48
Ich rufe ja via HTTPMOD und JSON Daten die API von LinkTap auf und bekomme JSON Werte als Body zurück
Man kann auch Excel benutzen, um einen Brief zu schreiben...
Zitat von: Isnogud0815 am 12 September 2022, 13:01:48
Bei dir ist, so deute ich, ein File übergeben worden.
Ich habe lediglich den JSON Teil, den Du gepostet hattest, in eine Datei gesteckt, um zu testen.
Normalerweise ruft man mit JsonMod direkt eine URL auf.
Hallo betateilchen,
hab bodydecode gesetzt, leider ohne Erfolg. Im log diese Zeile zusätzlich
2022.09.12 13:10:14 4: def: BodyDecode is decoding the response body as utf-8 (charset header utf-8, bodyDecode set to auto)
Und sorry, wollte niemand zu nahe treten (habe aber auch schon User gesehen, die ihre Textdatei mit Powerpoint machen) :P
---------------
Im HTTPMOD habe ich 4 Werte gesetzt, die bei set def Wasserhistorie 1 übergeben werden (set01name, set01URL, set01Date und setHeader1. Das kann ich doch so bei JsonMod leider nicht, oder ?
extractAllJSON 2
setze das attr mal auf 1.
Zitat(get|set)[0-9]+ExtractAllJSON or extractAllJSON
if set to 1 it will create a reading for every JSON object. The reading names will be deducted from the JSON strings hierarchically concatenated by "_".
if set to 2 it will create attributes for naming and parsing the JSON objects to make it easier to rename or remove some of them.
Hallo frank,
extractAllJSON 1 bricht leider auch keinen Erfolg :-[
Zitat von: Isnogud0815 am 12 September 2022, 13:18:09Im HTTPMOD habe ich 3 Werte gesetzt, die bei set def Wasserhistorie 1 übergeben werden (set01name, set01URL, set01Date und setHeader1. Das kann ich doch so bei JsonMod leider nicht, oder ?
Imho kann JsonMod das nicht:
set01Data { "username": "xxx", "apiKey": "xxx", "gatewayId": "xxx", "taplinkerId": "xxx" }
Außer du kannst es irgendwo in der aufzurufenden URL packen.
JsonMod bietet noch das Attribut httpHeader an um header Informationen zu definieren - aber nicht so komfortabel wie im HTTPMOD. Ungefähr so imho:
Content-Type: application/json
Aber mal btt, der body kommt aber immernoch, oder? Nicht das du eine Zwangspause hast wegen zuvieler Verbindungen.
2022.09.12 12:50:29 5: def: Read callback: body
{"result":"ok","status":[{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":13,"M":7,"ss":59,"D":1,"S":0,"vol":0,"createdAt":"2022-09-07T11:08:01.135Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":13,"M":53,"ss":59,"D":1,"S":0,"vol":0,"createdAt":"2022-09-07T11:54:00.810Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":13,"M":56,"ss":14,"D":1,"S":0,"vol":0,"createdAt":"2022-09-07T11:56:15.795Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":16,"M":28,"ss":13,"D":0,"S":1,"vol":0,"createdAt":"2022-09-07T14:28:15.586Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":16,"M":28,"ss":16,"D":0,"S":1,"vol":0,"createdAt":"2022-09-07T14:28:17.849Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220907,"H":16,"M":28,"ss":20,"D":0,"S":1,"vol":0,"createdAt":"2022-09-07T14:28:22.023Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220909,"H":13,"M":30,"ss":3,"D":1,"S":0,"vol":0,"createdAt":"2022-09-09T11:30:04.619Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220909,"H":13,"M":49,"ss":17,"D":1,"S":0,"vol":0,"createdAt":"2022-09-09T11:49:19.476Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220909,"H":13,"M":52,"ss":47,"D":2,"S":0,"vol":0,"createdAt":"2022-09-09T11:52:49.445Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220909,"H":15,"M":29,"ss":46,"D":1,"S":0,"vol":0,"createdAt":"2022-09-09T13:29:48.741Z","__v":0},{"macaddr":"7Axxxxxx004B1200","Y":20220912,"H":11,"M":41,"ss":27,"D":0,"S":1,"vol":0,"createdAt":"2022-09-12T09:41:39.668Z","__v":0}]}
2022.09.12 12:50:29 4: def: BodyDecode is not decoding the response body (charset utf-8, bodyDecode defaults to none)
2022.09.12 12:50:29 4: def: extracted JSON values to internal
Hallo yersinia,
ja, der body kommt immer noch (Zwangspause 10 Minuten), aber dann würde im body die Fehlermeldung im JSON Format drinstehen
{"result":"error","message":"The minimum interval of calling this API is 10 minutes."}
Zitat von: Isnogud0815 am 12 September 2022, 13:25:32
Hallo frank,
extractAllJSON 1 bricht leider auch keinen Erfolg :-[
und
attr def set01ExtractAllJSON 1
Hallo frank,
leider nicht besser :-[
was sagt das log dazu
Hallo frank
2022.09.12 14:13:15 4: def: BodyDecode is decoding the response body as utf-8 (charset header utf-8, bodyDecode set to auto)
2022.09.12 14:13:15 4: def: extracted JSON values to internal
2022.09.12 14:13:15 5: def: GetCookies is looking for Cookies
2022.09.12 14:13:15 4: def: GetCookies parsed Cookie: AWSALB Wert V9njxxxxx/QG/m4brxxxxx Rest Expires=Mon, 19 Sep 2022 12:13:15 GMT; Path=/
2022.09.12 14:13:15 4: def: GetCookies parsed Cookie: AWSALBCORS Wert V9njxxxxx/QG/m4brxxxxx Rest Expires=Mon, 19 Sep 2022 12:13:15 GMT; Path=/; SameSite=None; Secure
2022.09.12 14:13:15 5: def: ExtractSid called, context set, num 01
2022.09.12 14:13:15 4: def: checking for redirects, code=200, ignore=0
2022.09.12 14:13:15 4: def: no redirects to handle
2022.09.12 14:13:15 5: def: Read callback sets LAST_REQUEST to set01
2022.09.12 14:13:15 5: def: CheckAuth decided no authentication required
das sieht ja immer noch so aus wie ganz am anfang.
der log eintrag direkt davor zeigt auch noch den body, oder?
2022.09.12 14:13:15 4: def: extracted JSON values to internal
sieht man eventuell etwas in einem "list def"?
ZitatenforceGoodReadingNames
makes sure that reading names are valid and especially that extractAllJSON creates valid reading names.
starting with featurelevel > 5.9 HTTPMOD uses this feature by default. So you don't need to set it to 1, but you can disable it by setting it to 0
schon mal ausgeschaltet?
Heureka - ich habs gefunden
bodyDecode auto
enableControlSet 1
enforceGoodReadingNames 1
extractAllJSON 1
get01Data { "username": "xxxxx" }
get01Header Content-Type: application/json
get01Name Wasserhistorie
get01URL https://www.link-tap.com/api/getWateringHistory
room HTTPMOD
set01ExtractAllJSON 1
showBody 1
showError 1
showMatched 1
verbose 5
Statt set01URL usw muss ich get01URL usw nehmen um das mit POST an den Server zu übertragen, danach kann er den zurückgelieferten body lesen und auswerten
(siehe https://forum.fhem.de/index.php?topic=100901.0 Kommentar von shrek71)
Trotzdem Dank an alle !!! Ihr seid super !!!
Hallo,
Danke für den Beitrag, der hat mir sehr weiter geholfen. Die Daten werden ja leider nicht besonders FHEM freundlich übertragen. Darf ich dich fragen, wie du diese aufbereitest?
READINGS:
2023-04-05 23:14:35 LAST_ERROR connect to https://www.link-tap.com:443 timed out
2023-04-08 03:15:43 LAST_REQUEST update
2023-04-08 03:15:43 MATCHED_READINGS
2023-04-08 03:15:43 UNMATCHED_READINGS
2023-03-31 13:49:30 message The minimum interval of calling this API is 10 minutes.
2023-04-07 19:33:09 result ok
2023-04-07 19:33:09 status_01_D 0
2023-04-07 19:33:09 status_01_H 18
2023-04-07 19:33:09 status_01_M 29
2023-04-07 19:33:09 status_01_S 2
2023-04-07 19:33:09 status_01_Y 20230328
2023-04-07 19:33:09 status_01___v 0
2023-04-07 19:33:09 status_01_createdAt 2023-03-28T16:29:57.627Z
2023-04-07 19:33:09 status_01_macaddr 6692D81D004B1200_1
2023-04-07 19:33:09 status_01_ss 57
2023-04-07 19:33:09 status_01_vol 0
2023-04-07 19:33:09 status_02_D 0
2023-04-07 19:33:09 status_02_H 18
2023-04-07 19:33:09 status_02_M 37
2023-04-07 19:33:09 status_02_S 5
2023-04-07 19:33:09 status_02_Y 20230328
2023-04-07 19:33:09 status_02___v 0
2023-04-07 19:33:09 status_02_createdAt 2023-03-28T16:37:46.504Z
2023-04-07 19:33:09 status_02_macaddr 6692D81D004B1200_1
2023-04-07 19:33:09 status_02_ss 46
2023-04-07 19:33:09 status_02_vol 0
2023-04-07 19:33:09 status_03_D 2
2023-04-07 19:33:09 status_03_H 18
2023-04-07 19:33:09 status_03_M 45
2023-04-07 19:33:09 status_03_S 31
2023-04-07 19:33:09 status_03_Y 20230328
2023-04-07 19:33:09 status_03___v 0
2023-04-07 19:33:09 status_03_createdAt 2023-03-28T16:45:39.481Z
2023-04-07 19:33:09 status_03_macaddr 6692D81D004B1200_1
2023-04-07 19:33:09 status_03_ss 39
2023-04-07 19:33:09 status_03_vol 0
2023-04-07 19:33:09 status_04_D 1
2023-04-07 19:33:09 status_04_H 19
2023-04-07 19:33:09 status_04_M 8
2023-04-07 19:33:09 status_04_S 0
2023-04-07 19:33:09 status_04_Y 20230328
2023-04-07 19:33:09 status_04___v 0
2023-04-07 19:33:09 status_04_createdAt 2023-03-28T17:08:54.037Z
2023-04-07 19:33:09 status_04_macaddr 6692D81D004B1200_1
2023-04-07 19:33:09 status_04_ss 53
2023-04-07 19:33:09 status_04_vol 0
Danke
VG
Marcus