HTTPMOD einfaches auslesen eines JSON Strings

Begonnen von scp, 23 Oktober 2019, 17:15:46

Vorheriges Thema - Nächstes Thema

scp

Attribute meines HTTPMOD Devices
defmod echojason HTTPMOD http://echo.jsontest.com/insert-key-here/insert-value-here/key/value 10
attr echojason userattr get01Name getData getHeader1 getHeader2 getURL
attr echojason get01Name Chlor
attr echojason getData {"get" :["key"]}
attr echojason getHeader1 Content-Type:application/json
attr echojason getHeader2 Accept:*/*
attr echojason getURL http://echo.jsontest.com/insert-key-here/insert-value-here/key/value
attr echojason readingsName.* PH
attr echojason room Internet



Internals meines HTTPMOD Devices



Internals:
   BUSY       0
   CFGFN     
   CHANGED   
   DEF        http://echo.jsontest.com/insert-key-here/insert-value-here/key/value 10
   FUUID      5db05b27-f33f-05c5-6eb7-7ff3342535ddf608
   Interval   10
   LASTSEND   1571843605.787
   MainURL    http://echo.jsontest.com/insert-key-here/insert-value-here/key/value
   ModuleVersion 3.5.9 - 13.2.2019
   NAME       echojason
   NOTIFYDEV  global
   NR         119
   NTFY_ORDER 50-echojason
   STATE      ???
   TRIGGERTIME 1571843615.786
   TRIGGERTIME_FMT 2019-10-23 17:13:35
   TYPE       HTTPMOD
   addr       http://echo.jsontest.com:80
   auth       0
   buf       
   code       200
   compress   1
   conn       
   data       
   displayurl http://echo.jsontest.com/insert-key-here/insert-value-here/key/value
   header     
   host       echo.jsontest.com
   httpheader HTTP/1.0 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
X-Cloud-Trace-Context: 320af9a6ebd065144d6be374ffd10600
Date: Wed, 23 Oct 2019 15:13:25 GMT
Server: Google Frontend
Content-Length: 65
   httpversion 1.0
   hu_blocking 0
   hu_filecount 27
   hu_port    80
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /insert-key-here/insert-value-here/key/value
   protocol   http
   redirects  0
   timeout    2
   url        http://echo.jsontest.com/insert-key-here/insert-value-here/key/value
   value      0
   QUEUE:
   READINGS:
   REQUEST:
     data       
     header     
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://echo.jsontest.com/insert-key-here/insert-value-here/key/value
     value      0
   sslargs:
Attributes:
   get01Name  Chlor
   getData    {"get" :["key"]}
   getHeader1 Content-Type:application/json
   getHeader2 Accept:*/*
   getURL     http://echo.jsontest.com/insert-key-here/insert-value-here/key/value
   readingsName.* PH
   room       Internet
   userattr   get01Name getData getHeader1 getHeader2 getURL






   JSON String auf der Website (habe die Seite z.B. auch einfach mal mit curl aufgerufen... hat einwandfrei geklappt) :
{
   "insert-key-here": "insert-value-here",
   "key": "value"
}


ich erhalte keine Daten  :-[
Hat jemand eine Idee ?

amenomade

#1
Um Data zu bekommen muss man ein Attribut setzen, das die Data extrahiert... also get01JSON oder get01Regex oder get01XPath.
Schlimmsten Fall extractAllJSON, um das ganze JSON zu parsen

In deinem Fall eher get01JSON

(getData hat hier keinen Sinn: das sind nur Daten, die in einer POST Request zu jsontest.com gesendet werden)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus