FHEM Forum

FHEM => Sonstiges => Thema gestartet von: shrek71 am 27 Mai 2019, 11:14:11

Titel: [Gelöst]HTTPMOD extract der JSON Daten nach Post-Request
Beitrag von: shrek71 am 27 Mai 2019, 11:14:11
Hallo an Alle,
wurde vermutlich mal mehrfach hier im Forum angesprochen. Leider finde ich nix da, wohl vor lauter Bäumen den Wald nicht mehr.

Ich möchte den Status einer Kamera mittels HTTPMOD verändern. Das glaubt auch soweit gut. Nun möchte ich allerdings gerne auf den Response. im httpBody reagieren. Deshalb versuche ich mit reading01JSON oder reading01Regex den "code" zu ermitteln und
in eine ReadingName "KamerCode" schreiben. Nur leider funktioniert das nicht. Auch das Attribut extractALLJSON geht nicht :-(

Weiß im Moment nicht mehr weiter :-(


Gruß,
Sascha


defmod SteuerungKamera1Ein HTTPMOD http://192.168.178.53/cgi-bin/api.cgi?cmd=SetAlarm&token=2faexxxx&user=xxx&password=xxxx 0
attr SteuerungKamera1Ein userattr reading01Name reading01Regex requestData set01Data set01Header set01Name
attr SteuerungKamera1Ein extractAllJSON 2
attr SteuerungKamera1Ein reading01Name KameraCode
attr SteuerungKamera1Ein reading01Regex .*code.*
attr SteuerungKamera1Ein set01Data [{"cmd":"SetAlarm","action":0,"param":{"Alarm":{"action":{"audio":0,"mail":1,"push":1,"recChannel":[0,1]},"channel":0,"enable":1,"schedule":{"table":"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"},"scope":{"cols":80,"rows":60,"table":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111000000000000000000000000000000000000000000000000000000000111111111111111111111110000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111000000000000000000000000000000000000000111111111111111111111111111111111111111110000000000000000000000000000000000000001111111111111111111111111111111111111111100000000000000000000000000000000000000011111111111111111111111111111111111111111000000000000000000000000000000000000000111111111111111111111111111111111111111100000000000000000000000000000000000000001111111111111111111111111111111111111111000000000000000000000000000000000000000011111111111111111111111111111111111111110000000000000000000000000000000000000000111111111111111111111111111111111111111100000000000000000000000000000100000000001111111111111111111111111111111111111111110000000000000000000000000001000000000000111111111111111111111111111111111111111111111111111110000000000000010000000000000011111111111111111111111111111111111111111111111111100000000000000100000000000000111111111111111111111111111111111111111111111111111000000000000001000000000000000011111111111111111111111111111111111111111111111110000000000000010000000000000000111111111111111111111111111111111111111111111111100000000000000100000000000000000011111111111111111111111111111111111111111111111000000000000001000001111100000000001111111111111111111111111110001111111111111110000000000000010000011111000000000001111111111111111111111111100011111111111111111000000000000111111111110000000000011111111111111111111111111000111111111111111111000000000001111111111100000000000001111111111111111111111111111111111111111111111111111111111111111111000000000000001111111111111111111111111111111111111111111111111111111111111111110000000000000001111111111111111111111111111111111111111111111111111111111111111100000000000000000111111111111111111111111111111111111111111111111111111111111111000000000000000001111111111111111111111111111111111111111111111111111111111111110000000000000000011110111111111111111111111111111111111111111111111111111111111100000000000000000000001111111111111111111111111111111111111111111111111111111111000000000000000000000011111111111111111111111111111111111111111111111111111111110000000000000000000000011111111111111111111111111111111111111111111111111111111100000000000000000000000000111111111111111111111111111111111111111111111111111111000000000000000000000000001111111111111111111111111111111111111111111111111111110000000000000000000000000011111111111111111111111111111111111111111111111111111100000000000000000000000000000111111111111111111111111111111111111111111111111111000000000000000000000000000001111111111111111111111111111111111111111111111111110000000000000000000000000000011111111111111111111111111111111111111111111111111100000000000000000000000000001111111111111111111111111111111111111111111111111111"},"sens":[{"beginHour":0,"beginMin":0,"endHour":7,"endMin":0,"id":0,"sensitivity":26},{"beginHour":7,"beginMin":0,"endHour":16,"endMin":0,"id":1,"sensitivity":21},{"beginHour":16,"beginMin":0,"endHour":21,"endMin":0,"id":2,"sensitivity":21},{"beginHour":21,"beginMin":0,"endHour":23,"endMin":59,"id":3,"sensitivity":25}],"type":"md"}}}]
attr SteuerungKamera1Ein set01Header Content-Type: application/json
attr SteuerungKamera1Ein set01Name KameraEinschalten
attr SteuerungKamera1Ein timeout 5
attr SteuerungKamera1Ein verbose 5


Aufgerufen mit "set SteuerungKamera1Ein 01"


Antwort im log:


2019.05.27 10:55:25 5: SteuerungKamera1Ein: HandleSendQueue called, qlen = 1
2019.05.27 10:55:25 4: SteuerungKamera1Ein: HandleSendQueue sends request type set01 to URL http://192.168.178.53/cgi-bin/api.cgi?cmd=SetAlarm&token=2faecxxxx&user=xxxx&password=xxxxx,
data: [{"cmd":"SetAlarm","action":0,"param":{"Alarm":{"action":{"audio":0,"mail":1,"push":1,"recChannel":[0,1]},"channel":0,"enable":1,"schedule":{"table":"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"},"scope":{"cols":80,"rows":60,"table":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111000000000000000000000000000000000000000000000000000000000111111111111111111111110000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111000000000000000000000000000000000000000111111111111111111111111111111111111111110000000000000000000000000000000000000001111111111111111111111111111111111111111100000000000000000000000000000000000000011111111111111111111111111111111111111111000000000000000000000000000000000000000111111111111111111111111111111111111111100000000000000000000000000000000000000001111111111111111111111111111111111111111000000000000000000000000000000000000000011111111111111111111111111111111111111110000000000000000000000000000000000000000111111111111111111111111111111111111111100000000000000000000000000000100000000001111111111111111111111111111111111111111110000000000000000000000000001000000000000111111111111111111111111111111111111111111111111111110000000000000010000000000000011111111111111111111111111111111111111111111111111100000000000000100000000000000111111111111111111111111111111111111111111111111111000000000000001000000000000000011111111111111111111111111111111111111111111111110000000000000010000000000000000111111111111111111111111111111111111111111111111100000000000000100000000000000000011111111111111111111111111111111111111111111111000000000000001000001111100000000001111111111111111111111111110001111111111111110000000000000010000011111000000000001111111111111111111111111100011111111111111111000000000000111111111110000000000011111111111111111111111111000111111111111111111000000000001111111111100000000000001111111111111111111111111111111111111111111111111111111111111111111000000000000001111111111111111111111111111111111111111111111111111111111111111110000000000000001111111111111111111111111111111111111111111111111111111111111111100000000000000000111111111111111111111111111111111111111111111111111111111111111000000000000000001111111111111111111111111111111111111111111111111111111111111110000000000000000011110111111111111111111111111111111111111111111111111111111111100000000000000000000001111111111111111111111111111111111111111111111111111111111000000000000000000000011111111111111111111111111111111111111111111111111111111110000000000000000000000011111111111111111111111111111111111111111111111111111111100000000000000000000000000111111111111111111111111111111111111111111111111111111000000000000000000000000001111111111111111111111111111111111111111111111111111110000000000000000000000000011111111111111111111111111111111111111111111111111111100000000000000000000000000000111111111111111111111111111111111111111111111111111000000000000000000000000000001111111111111111111111111111111111111111111111111110000000000000000000000000000011111111111111111111111111111111111111111111111111100000000000000000000000000001111111111111111111111111111111111111111111111111111"},"sens":[{"beginHour":0,"beginMin":0,"endHour":7,"endMin":0,"id":0,"sensitivity":26},{"beginHour":7,"beginMin":0,"endHour":16,"endMin":0,"id":1,"sensitivity":21},{"beginHour":16,"beginMin":0,"endHour":21,"endMin":0,"id":2,"sensitivity":21},{"beginHour":21,"beginMin":0,"endHour":23,"endMin":59,"id":3,"sensitivity":25}],"type":"md"}}}],
header: Content-Type: application/json
timeout 5
2019.05.27 10:55:25 5: HttpUtils url=http://192.168.178.53/cgi-bin/api.cgi?cmd=SetAlarm&token=2faecxxxxx&user=xxxxx&password=xxxxxxxx
2019.05.27 10:55:25 4: IP: 192.168.178.53 -> 192.168.178.53
2019.05.27 10:55:25 5: HttpUtils request header:
POST /cgi-bin/api.cgi?cmd=SetAlarm&token=2faec8b482417b9&user=admin&password=dani2011 HTTP/1.0
Host: 192.168.178.53
User-Agent: fhem
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 5496

2019.05.27 10:55:28 4: http://192.168.178.53/cgi-bin/api.cgi?cmd=SetAlarm&token=2faec8b482417b9&user=admin&password=dani2011: HTTP response code 200
2019.05.27 10:55:28 5: HttpUtils http://192.168.178.53/cgi-bin/api.cgi?cmd=SetAlarm&token=2faec8bxxx&user=xxx&password=xxxx: Got data, length: 109
2019.05.27 10:55:28 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Mon, 27 May 2019 08:54:33 GMT
Content-Type: text/html
Connection: close
2019.05.27 10:55:28 4: SteuerungKamera1Ein: Read callback: request type was set01 retry 0,
Body: [
   {
      "cmd" : "SetAlarm",
      "code" : 0,
      "value" : {
         "rspCode" : 200
      }
   }
]

2019.05.27 10:55:28 5: SteuerungKamera1Ein: JSON Flatter called : prefix , ref is ARRAY(0x555d46cc1198)
2019.05.27 10:55:28 5: SteuerungKamera1Ein: JSON Flatter doing recursion because value is a HASH
2019.05.27 10:55:28 5: SteuerungKamera1Ein: JSON Flatter called : prefix 01_, ref is HASH(0x555d45b2e950)
2019.05.27 10:55:28 5: SteuerungKamera1Ein: JSON Flatter doing recursion because value is a HASH
2019.05.27 10:55:28 5: SteuerungKamera1Ein: JSON Flatter called : prefix 01_value_, ref is HASH(0x555d46072188)
2019.05.27 10:55:28 5: SteuerungKamera1Ein: JSON Flatter sets 01_value_rspCode to 200
2019.05.27 10:55:28 5: SteuerungKamera1Ein: JSON Flatter sets 01_cmd to SetAlarm
2019.05.27 10:55:28 5: SteuerungKamera1Ein: JSON Flatter sets 01_code to 0
2019.05.27 10:55:28 4: SteuerungKamera1Ein: extracted JSON values to internal
2019.05.27 10:55:28 5: SteuerungKamera1Ein: ExtractSid called, context set, num 01


Internals:




Internals:
   BUSY       0
   CFGFN     
   CHANGED   
   DEF        http://192.168.178.53/cgi-bin/api.cgi?cmd=SetAlarm&token=x&user=xxxx&password=x 0
   FUUID      5ceba273-f33f-6784-798d-d6a87cff0da8ae65
   Interval   0
   JSONEnabled 1
   LASTSEND   1558947325.44911
   MainURL    http://192.168.178.53/cgi-bin/api.cgi?cmd=SetAlarm&token=x&user=xxxx&password=x
   ModuleVersion 3.5.9 - 13.2.2019
   NAME       SteuerungKamera1Ein
   NOTIFYDEV  global
   NR         529
   NTFY_ORDER 50-SteuerungKamera1Ein
   STATE      ???
   TRIGGERTIME 0
   TRIGGERTIME_FMT
   TYPE       HTTPMOD
   addr       http://192.168.178.53:80
   auth       0
   code       200
   compress   1
   conn       
   data       [{"cmd":"SetAlarm","action":0,"param":{"Alarm":{"action":{"audio":0,"mail":1,"push":1,"recChannel":[0,1]},"channel":0,"enable":1,"schedule":{"table":"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"},"scope":{"cols":80,"rows":60,"table":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111000000000000000000000000000000000000000000000000000000000111111111111111111111110000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111000000000000000000000000000000000000000111111111111111111111111111111111111111110000000000000000000000000000000000000001111111111111111111111111111111111111111100000000000000000000000000000000000000011111111111111111111111111111111111111111000000000000000000000000000000000000000111111111111111111111111111111111111111100000000000000000000000000000000000000001111111111111111111111111111111111111111000000000000000000000000000000000000000011111111111111111111111111111111111111110000000000000000000000000000000000000000111111111111111111111111111111111111111100000000000000000000000000000100000000001111111111111111111111111111111111111111110000000000000000000000000001000000000000111111111111111111111111111111111111111111111111111110000000000000010000000000000011111111111111111111111111111111111111111111111111100000000000000100000000000000111111111111111111111111111111111111111111111111111000000000000001000000000000000011111111111111111111111111111111111111111111111110000000000000010000000000000000111111111111111111111111111111111111111111111111100000000000000100000000000000000011111111111111111111111111111111111111111111111000000000000001000001111100000000001111111111111111111111111110001111111111111110000000000000010000011111000000000001111111111111111111111111100011111111111111111000000000000111111111110000000000011111111111111111111111111000111111111111111111000000000001111111111100000000000001111111111111111111111111111111111111111111111111111111111111111111000000000000001111111111111111111111111111111111111111111111111111111111111111110000000000000001111111111111111111111111111111111111111111111111111111111111111100000000000000000111111111111111111111111111111111111111111111111111111111111111000000000000000001111111111111111111111111111111111111111111111111111111111111110000000000000000011110111111111111111111111111111111111111111111111111111111111100000000000000000000001111111111111111111111111111111111111111111111111111111111000000000000000000000011111111111111111111111111111111111111111111111111111111110000000000000000000000011111111111111111111111111111111111111111111111111111111100000000000000000000000000111111111111111111111111111111111111111111111111111111000000000000000000000000001111111111111111111111111111111111111111111111111111110000000000000000000000000011111111111111111111111111111111111111111111111111111100000000000000000000000000000111111111111111111111111111111111111111111111111111000000000000000000000000000001111111111111111111111111111111111111111111111111110000000000000000000000000000011111111111111111111111111111111111111111111111111100000000000000000000000000001111111111111111111111111111111111111111111111111111"},"sens":[{"beginHour":0,"beginMin":0,"endHour":7,"endMin":0,"id":0,"sensitivity":26},{"beginHour":7,"beginMin":0,"endHour":16,"endMin":0,"id":1,"sensitivity":21},{"beginHour":16,"beginMin":0,"endHour":21,"endMin":0,"id":2,"sensitivity":21},{"beginHour":21,"beginMin":0,"endHour":23,"endMin":59,"id":3,"sensitivity":25}],"type":"md"}}}]
   displayurl http://192.168.178.53/cgi-bin/api.cgi?cmd=SetAlarm&token=x&user=xxxx&password=x
   header     Content-Type: application/json
   host       192.168.178.53
   httpheader HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Mon, 27 May 2019 08:54:33 GMT
Content-Type: text/html
Connection: close
   httpversion 1.0
   hu_blocking 0
   hu_filecount 2
   hu_port    80
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /cgi-bin/api.cgi?cmd=SetAlarm&token=x&user=xxxx&password=x
   protocol   http
   redirects  0
   timeout    5
   url        http://192.168.178.53/cgi-bin/api.cgi?cmd=SetAlarm&token=x&user=xxxx&password=x
   value      01
   QUEUE:
   READINGS:
   REQUEST:
     data       [{"cmd":"SetAlarm","action":0,"param":{"Alarm":{"action":{"audio":0,"mail":1,"push":1,"recChannel":[0,1]},"channel":0,"enable":1,"schedule":{"table":"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"},"scope":{"cols":80,"rows":60,"table":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111000000000000000000000000000000000000000000000000000000000111111111111111111111110000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111000000000000000000000000000000000000000111111111111111111111111111111111111111110000000000000000000000000000000000000001111111111111111111111111111111111111111100000000000000000000000000000000000000011111111111111111111111111111111111111111000000000000000000000000000000000000000111111111111111111111111111111111111111100000000000000000000000000000000000000001111111111111111111111111111111111111111000000000000000000000000000000000000000011111111111111111111111111111111111111110000000000000000000000000000000000000000111111111111111111111111111111111111111100000000000000000000000000000100000000001111111111111111111111111111111111111111110000000000000000000000000001000000000000111111111111111111111111111111111111111111111111111110000000000000010000000000000011111111111111111111111111111111111111111111111111100000000000000100000000000000111111111111111111111111111111111111111111111111111000000000000001000000000000000011111111111111111111111111111111111111111111111110000000000000010000000000000000111111111111111111111111111111111111111111111111100000000000000100000000000000000011111111111111111111111111111111111111111111111000000000000001000001111100000000001111111111111111111111111110001111111111111110000000000000010000011111000000000001111111111111111111111111100011111111111111111000000000000111111111110000000000011111111111111111111111111000111111111111111111000000000001111111111100000000000001111111111111111111111111111111111111111111111111111111111111111111000000000000001111111111111111111111111111111111111111111111111111111111111111110000000000000001111111111111111111111111111111111111111111111111111111111111111100000000000000000111111111111111111111111111111111111111111111111111111111111111000000000000000001111111111111111111111111111111111111111111111111111111111111110000000000000000011110111111111111111111111111111111111111111111111111111111111100000000000000000000001111111111111111111111111111111111111111111111111111111111000000000000000000000011111111111111111111111111111111111111111111111111111111110000000000000000000000011111111111111111111111111111111111111111111111111111111100000000000000000000000000111111111111111111111111111111111111111111111111111111000000000000000000000000001111111111111111111111111111111111111111111111111111110000000000000000000000000011111111111111111111111111111111111111111111111111111100000000000000000000000000000111111111111111111111111111111111111111111111111111000000000000000000000000000001111111111111111111111111111111111111111111111111110000000000000000000000000000011111111111111111111111111111111111111111111111111100000000000000000000000000001111111111111111111111111111111111111111111111111111"},"sens":[{"beginHour":0,"beginMin":0,"endHour":7,"endMin":0,"id":0,"sensitivity":26},{"beginHour":7,"beginMin":0,"endHour":16,"endMin":0,"id":1,"sensitivity":21},{"beginHour":16,"beginMin":0,"endHour":21,"endMin":0,"id":2,"sensitivity":21},{"beginHour":21,"beginMin":0,"endHour":23,"endMin":59,"id":3,"sensitivity":25}],"type":"md"}}}]
     header     Content-Type: application/json
     ignoreredirects 0
     retryCount 0
     type       set01
     url        http://192.168.178.53/cgi-bin/api.cgi?cmd=SetAlarm&token=2faec8b4xxxx&user=xxxxxxx&password=x
     value      01
   sslargs:
Attributes:
   extractAllJSON 2
   reading01Name KameraCode
   reading01Regex .*code.*
   set01Data  [{"cmd":"SetAlarm","action":0,"param":{"Alarm":{"action":{"audio":0,"mail":1,"push":1,"recChannel":[0,1]},"channel":0,"enable":1,"schedule":{"table":"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"},"scope":{"cols":80,"rows":60,"table":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111000000000000000000000000000000000000000000000000000000000111111111111111111111110000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111000000000000000000000000000000000000000111111111111111111111111111111111111111110000000000000000000000000000000000000001111111111111111111111111111111111111111100000000000000000000000000000000000000011111111111111111111111111111111111111111000000000000000000000000000000000000000111111111111111111111111111111111111111100000000000000000000000000000000000000001111111111111111111111111111111111111111000000000000000000000000000000000000000011111111111111111111111111111111111111110000000000000000000000000000000000000000111111111111111111111111111111111111111100000000000000000000000000000100000000001111111111111111111111111111111111111111110000000000000000000000000001000000000000111111111111111111111111111111111111111111111111111110000000000000010000000000000011111111111111111111111111111111111111111111111111100000000000000100000000000000111111111111111111111111111111111111111111111111111000000000000001000000000000000011111111111111111111111111111111111111111111111110000000000000010000000000000000111111111111111111111111111111111111111111111111100000000000000100000000000000000011111111111111111111111111111111111111111111111000000000000001000001111100000000001111111111111111111111111110001111111111111110000000000000010000011111000000000001111111111111111111111111100011111111111111111000000000000111111111110000000000011111111111111111111111111000111111111111111111000000000001111111111100000000000001111111111111111111111111111111111111111111111111111111111111111111000000000000001111111111111111111111111111111111111111111111111111111111111111110000000000000001111111111111111111111111111111111111111111111111111111111111111100000000000000000111111111111111111111111111111111111111111111111111111111111111000000000000000001111111111111111111111111111111111111111111111111111111111111110000000000000000011110111111111111111111111111111111111111111111111111111111111100000000000000000000001111111111111111111111111111111111111111111111111111111111000000000000000000000011111111111111111111111111111111111111111111111111111111110000000000000000000000011111111111111111111111111111111111111111111111111111111100000000000000000000000000111111111111111111111111111111111111111111111111111111000000000000000000000000001111111111111111111111111111111111111111111111111111110000000000000000000000000011111111111111111111111111111111111111111111111111111100000000000000000000000000000111111111111111111111111111111111111111111111111111000000000000000000000000000001111111111111111111111111111111111111111111111111110000000000000000000000000000011111111111111111111111111111111111111111111111111100000000000000000000000000001111111111111111111111111111111111111111111111111111"},"sens":[{"beginHour":0,"beginMin":0,"endHour":7,"endMin":0,"id":0,"sensitivity":26},{"beginHour":7,"beginMin":0,"endHour":16,"endMin":0,"id":1,"sensitivity":21},{"beginHour":16,"beginMin":0,"endHour":21,"endMin":0,"id":2,"sensitivity":21},{"beginHour":21,"beginMin":0,"endHour":23,"endMin":59,"id":3,"sensitivity":25}],"type":"md"}}}]
   set01Header Content-Type: application/json
   set01Name  KameraEinschalten
   timeout    5
   userattr   reading01Name reading01Regex requestData set01Data set01Header set01Name
   verbose    5
Titel: Antw:HTTPMOD extract der JSON Daten nach Post-Request
Beitrag von: amenomade am 27 Mai 2019, 14:43:25
Versuch mal entweder die Attribute reading01.... zu löschen, oder extractAllJSON auf 1 zu setzen, und zeige bitte wieder die Log
Titel: Antw:HTTPMOD extract der JSON Daten nach Post-Request
Beitrag von: shrek71 am 27 Mai 2019, 16:14:36
Hallo habe mal alle Attribute außer extractAllJSON gelöscht.

Anbei die Log

2019.05.27 16:08:07 5: Kamerasteuerung: UpdateHintList called
2019.05.27 16:08:07 5: Kamerasteuerung: UpdateHintList: setlist = AlarmAusKamera2 AlarmEinKamera3 AlarmAusKamera3 AlarmEinKamera1 AlarmEinKamera2 AlarmAusKamera1
2019.05.27 16:08:07 5: Kamerasteuerung: UpdateHintList: getlist =
2019.05.27 16:08:21 5: Kamerasteuerung: set called with AlarmAusKamera1 1
2019.05.27 16:08:21 5: Kamerasteuerung: set found option AlarmAusKamera1 in attribute set2Name
2019.05.27 16:08:21 4: Kamerasteuerung: set will now set AlarmAusKamera1 -> 1
2019.05.27 16:08:21 4: Kamerasteuerung: AddToQueue adds set2, initial queue len: 0
2019.05.27 16:08:21 5: Kamerasteuerung: AddToQueue adds type set2 to URL http://192.168.178.53/cgi-bin/api.cgi?cmd=SetAlarm&token=xxxxxxx&user=xxxxxxx&password=xxxxxxx, data [{"cmd":"SetAlarm","action":0,"param":{"Alarm":{"action":{"audio":0,"mail":1,"push":1,"recChannel":[0,1]},"channel":0,"enable":0,"schedule":{"table":"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"},"scope":{"cols":80,"rows":60,"table":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111000000000000000000000000000000000000000000000000000000000111111111111111111111110000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111000000000000000000000000000000000000000111111111111111111111111111111111111111110000000000000000000000000000000000000001111111111111111111111111111111111111111100000000000000000000000000000000000000011111111111111111111111111111111111111111000000000000000000000000000000000000000111111111111111111111111111111111111111100000000000000000000000000000000000000001111111111111111111111111111111111111111000000000000000000000000000000000000000011111111111111111111111111111111111111110000000000000000000000000000000000000000111111111111111111111111111111111111111100000000000000000000000000000100000000001111111111111111111111111111111111111111110000000000000000000000000001000000000000111111111111111111111111111111111111111111111111111110000000000000010000000000000011111111111111111111111111111111111111111111111111100000000000000100000000000000111111111111111111111111111111111111111111111111111000000000000001000000000000000011111111111111111111111111111111111111111111111110000000000000010000000000000000111111111111111111111111111111111111111111111111100000000000000100000000000000000011111111111111111111111111111111111111111111111000000000000001000001111100000000001111111111111111111111111110001111111111111110000000000000010000011111000000000001111111111111111111111111100011111111111111111000000000000111111111110000000000011111111111111111111111111000111111111111111111000000000001111111111100000000000001111111111111111111111111111111111111111111111111111111111111111111000000000000001111111111111111111111111111111111111111111111111111111111111111110000000000000001111111111111111111111111111111111111111111111111111111111111111100000000000000000111111111111111111111111111111111111111111111111111111111111111000000000000000001111111111111111111111111111111111111111111111111111111111111110000000000000000011110111111111111111111111111111111111111111111111111111111111100000000000000000000001111111111111111111111111111111111111111111111111111111111000000000000000000000011111111111111111111111111111111111111111111111111111111110000000000000000000000011111111111111111111111111111111111111111111111111111111100000000000000000000000000111111111111111111111111111111111111111111111111111111000000000000000000000000001111111111111111111111111111111111111111111111111111110000000000000000000000000011111111111111111111111111111111111111111111111111111100000000000000000000000000000111111111111111111111111111111111111111111111111111000000000000000000000000000001111111111111111111111111111111111111111111111111110000000000000000000000000000011111111111111111111111111111111111111111111111111100000000000000000000000000001111111111111111111111111111111111111111111111111111"},"sens":[{"beginHour":0,"beginMin":0,"endHour":7,"endMin":0,"id":0,"sensitivity":26},{"beginHour":7,"beginMin":0,"endHour":16,"endMin":0,"id":1,"sensitivity":21},{"beginHour":16,"beginMin":0,"endHour":21,"endMin":0,"id":2,"sensitivity":21},{"beginHour":21,"beginMin":0,"endHour":23,"endMin":59,"id":3,"sensitivity":25}],"type":"md"}}}], header Content-Type: application/json, retry 0
2019.05.27 16:08:21 5: Kamerasteuerung: HandleSendQueue called, qlen = 1
2019.05.27 16:08:21 4: Kamerasteuerung: HandleSendQueue sends request type set2 to URL http://192.168.178.53/cgi-bin/api.cgi?cmd=SetAlarm&token=xxxxxxx&user=xxxxxxx&password=xxxxxxx,
data: [{"cmd":"SetAlarm","action":0,"param":{"Alarm":{"action":{"audio":0,"mail":1,"push":1,"recChannel":[0,1]},"channel":0,"enable":0,"schedule":{"table":"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"},"scope":{"cols":80,"rows":60,"table":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111000000000000000000000000000000000000000000000000000000000111111111111111111111110000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111000000000000000000000000000000000000000111111111111111111111111111111111111111110000000000000000000000000000000000000001111111111111111111111111111111111111111100000000000000000000000000000000000000011111111111111111111111111111111111111111000000000000000000000000000000000000000111111111111111111111111111111111111111100000000000000000000000000000000000000001111111111111111111111111111111111111111000000000000000000000000000000000000000011111111111111111111111111111111111111110000000000000000000000000000000000000000111111111111111111111111111111111111111100000000000000000000000000000100000000001111111111111111111111111111111111111111110000000000000000000000000001000000000000111111111111111111111111111111111111111111111111111110000000000000010000000000000011111111111111111111111111111111111111111111111111100000000000000100000000000000111111111111111111111111111111111111111111111111111000000000000001000000000000000011111111111111111111111111111111111111111111111110000000000000010000000000000000111111111111111111111111111111111111111111111111100000000000000100000000000000000011111111111111111111111111111111111111111111111000000000000001000001111100000000001111111111111111111111111110001111111111111110000000000000010000011111000000000001111111111111111111111111100011111111111111111000000000000111111111110000000000011111111111111111111111111000111111111111111111000000000001111111111100000000000001111111111111111111111111111111111111111111111111111111111111111111000000000000001111111111111111111111111111111111111111111111111111111111111111110000000000000001111111111111111111111111111111111111111111111111111111111111111100000000000000000111111111111111111111111111111111111111111111111111111111111111000000000000000001111111111111111111111111111111111111111111111111111111111111110000000000000000011110111111111111111111111111111111111111111111111111111111111100000000000000000000001111111111111111111111111111111111111111111111111111111111000000000000000000000011111111111111111111111111111111111111111111111111111111110000000000000000000000011111111111111111111111111111111111111111111111111111111100000000000000000000000000111111111111111111111111111111111111111111111111111111000000000000000000000000001111111111111111111111111111111111111111111111111111110000000000000000000000000011111111111111111111111111111111111111111111111111111100000000000000000000000000000111111111111111111111111111111111111111111111111111000000000000000000000000000001111111111111111111111111111111111111111111111111110000000000000000000000000000011111111111111111111111111111111111111111111111111100000000000000000000000000001111111111111111111111111111111111111111111111111111"},"sens":[{"beginHour":0,"beginMin":0,"endHour":7,"endMin":0,"id":0,"sensitivity":26},{"beginHour":7,"beginMin":0,"endHour":16,"endMin":0,"id":1,"sensitivity":21},{"beginHour":16,"beginMin":0,"endHour":21,"endMin":0,"id":2,"sensitivity":21},{"beginHour":21,"beginMin":0,"endHour":23,"endMin":59,"id":3,"sensitivity":25}],"type":"md"}}}],
header: Content-Type: application/json
timeout 10
2019.05.27 16:08:21 5: HttpUtils url=http://192.168.178.53/cgi-bin/api.cgi?cmd=SetAlarm&token=xxxxxxx&user=xxxxxxx&password=xxxxxxx
2019.05.27 16:08:21 4: IP: 192.168.178.53 -> 192.168.178.53
2019.05.27 16:08:21 5: HttpUtils request header:
POST /cgi-bin/api.cgi?cmd=SetAlarm&token=xxxxxxx&user=xxxxxxx&password=xxxxxxx HTTP/1.0
Host: 192.168.178.53
User-Agent: fhem
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 5496

2019.05.27 16:08:24 4: http://192.168.178.53/cgi-bin/api.cgi?cmd=SetAlarm&token=xxxxxxx&user=xxxxxxx&password=xxxxxxx: HTTP response code 200
2019.05.27 16:08:24 5: HttpUtils http://192.168.178.53/cgi-bin/api.cgi?cmd=SetAlarm&token=xxxxxxx&user=xxxxxxx&password=xxxxxxx: Got data, length: 109
2019.05.27 16:08:24 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Mon, 27 May 2019 14:07:28 GMT
Content-Type: text/html
Connection: close
2019.05.27 16:08:24 4: Kamerasteuerung: Read callback: request type was set2 retry 0,
Body: [
   {
      "cmd" : "SetAlarm",
      "code" : 0,
      "value" : {
         "rspCode" : 200
      }
   }
]

2019.05.27 16:08:24 5: Kamerasteuerung: JSON Flatter called : prefix , ref is ARRAY(0x555d460acd80)
2019.05.27 16:08:24 5: Kamerasteuerung: JSON Flatter doing recursion because value is a HASH
2019.05.27 16:08:24 5: Kamerasteuerung: JSON Flatter called : prefix 01_, ref is HASH(0x555d46030138)
2019.05.27 16:08:24 5: Kamerasteuerung: JSON Flatter sets 01_code to 0
2019.05.27 16:08:24 5: Kamerasteuerung: JSON Flatter sets 01_cmd to SetAlarm
2019.05.27 16:08:24 5: Kamerasteuerung: JSON Flatter doing recursion because value is a HASH
2019.05.27 16:08:24 5: Kamerasteuerung: JSON Flatter called : prefix 01_value_, ref is HASH(0x555d4657bf28)
2019.05.27 16:08:24 5: Kamerasteuerung: JSON Flatter sets 01_value_rspCode to 200
2019.05.27 16:08:24 4: Kamerasteuerung: extracted JSON values to internal
2019.05.27 16:08:24 5: Kamerasteuerung: ExtractSid called, context set, num 2


Komisch response  Content-Type: text/html ?

Gruß,
Sascha
Titel: Antw:HTTPMOD extract der JSON Daten nach Post-Request
Beitrag von: amenomade am 27 Mai 2019, 22:19:58
Es kann nicht sein, dass Du alle attr gelöscht hast. Z.B. kannst Du noch ein "set" anscheinend machen.

Setze auch bitte showMatched auf 1, mach ein reread, und zeig da das "list" vom HTTPMOD
Titel: Antw:HTTPMOD extract der JSON Daten nach Post-Request
Beitrag von: shrek71 am 28 Mai 2019, 21:56:16
Guten Tag/Abend,

nachdem ich die Wikiseite von HTTMOD genau gelesen habe, habe ich das Steuern der Kameras mit get01..... gelöst und die set's alle gelöscht.
Und nun funktioniert es auch mit den Readings zu lesen von dem Response :-)

Verständnisfrage:

Mit get's kann ich sowohl HTTP-Get als auch HTTP-Post durchführen? Für Post einfach ein get01Data mit Inhalt hinzufügen?

Was bitte schön machen dann die set-Befehle?

Wie funktioniert das mit HTTP-Put und HTTP-DELETE?

Danke und Gruß,
Sascha
Titel: Antw:[Gelöst]HTTPMOD extract der JSON Daten nach Post-Request
Beitrag von: amenomade am 28 Mai 2019, 22:34:07
ZitatMit get's kann ich sowohl HTTP-Get als auch HTTP-Post durchführen? Für Post einfach ein get01Data mit Inhalt hinzufügen?
Richtig
ZitatWas bitte schön machen dann die set-Befehle?
Es hängt davon ab, wie deine ZielURL reagiert und zu was.
ZitatWie funktioniert das mit HTTP-Put und HTTP-DELETE?
HTTPMOD unterstützt nur GET und POST Methoden.

Für PUT und DELETE und andere http Methoden, musst Du über Perl und curl umgehen. Siehe auf der Wiki Seite, ganz unten, das Miele Beispiel (link)