FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Tbone am 17 Dezember 2016, 01:33:43

Titel: [gelöst] HTTPMOD JSON Zuweisungsproblem
Beitrag von: Tbone am 17 Dezember 2016, 01:33:43
Hi.

Mit HTTPMOD habe ich bei Regex schon eineige Dinge gelöst, aber bei JSON scheitere ich kläglich.
Ich versuche aus der Antwort verschiedene Readings herauszubekommen.



#Wiener Linien Abfahrtsmonitor
define WLabfahrtsmonitor HTTPMOD http://www.wienerlinien.at/qando-fpa/monitor?aD=1&aflT=1&diva=60200726&time=2016-12-16T22%3A38%3A33.231%2B0100 86400
attr WLabfahrtsmonitor userattr get01JSON get01Name get02JSON get02Name getData getHeader1 getHeader2
attr WLabfahrtsmonitor getData 1
attr WLabfahrtsmonitor getHeader1 Content-Type: application/json
attr WLabfahrtsmonitor getHeader2 Accept: */*

via extractJAllASON klappt das alles wunderbar, ist aber ein bisl viel zu viel.

attr WLabfahrtsmonitor extractAllJSON


Laut Verbose=5 kommt das auch an:
2016.12.17 01:16:03 5: WLabfahrtsmonitor: JSON Flatter sets data_monitors_01_locationStop_properties_title to Kugelmanngasse
2016.12.17 01:16:03 5: WLabfahrtsmonitor: JSON Flatter in hash while, key = lines, value = ARRAY(0x3962aa0)
2016.12.17 01:16:03 5: WLabfahrtsmonitor: JSON Flatter doing recursion because value is a ARRAY


also hab ich es eingeschränkt und so versucht:

attr WLabfahrtsmonitor get01Name Haltestellenname01
attr WLabfahrtsmonitor get01JSON data_monitors_01_locationStop_properties_title

aber die Zuweisung funktioniert nicht
2016.12.17 01:16:03 5: WLabfahrtsmonitor: Read starts parsing response to update with defined readings:
2016.12.17 01:16:03 3: WLabfahrtsmonitor: Read response to update didn't match any Reading
2016.12.17 01:16:03 5: WLabfahrtsmonitor: HandleSendQueue called, qlen = 0


Hat jemand einen Tipp für mich, wie ich die Zuweisung von data_monitors_01_locationStop_properties_title hinbekomme?

Greetings,
Tbone

Titel: Antw:HTTPMOD JSON Zuweisungsproblem
Beitrag von: viegener am 17 Dezember 2016, 12:29:12
warum hast du get01 ... gesetzt und nicht reading01...?

Titel: Antw:HTTPMOD JSON Zuweisungsproblem
Beitrag von: Tbone am 17 Dezember 2016, 15:08:44
Danke, mit readings funktioniert es.
Zeigt deutlich, das ich das Beispiel  im Wiki "Parsing JSON" nicht verstanden habe.
Mir ist der Unterschied get/readings nicht klar. Kannst Du mich erhellen?

attr test2 get01JSON data_34.4008.value
attr device reading01JSON modes


Danke,
Tbone
Titel: Antw:HTTPMOD JSON Zuweisungsproblem
Beitrag von: viegener am 17 Dezember 2016, 17:17:09
Im Kurzstil: Es gibt wohl drei Varianten

set... -> definiert ein set Befehl
get... -> definiert ein get Befehl

reading... --> definiert ein Reading

Die ersten beiden werden explizit aufgerufen
das Reading wird durch polling gefüllt
Titel: Antw:HTTPMOD JSON Zuweisungsproblem
Beitrag von: Tbone am 17 Dezember 2016, 20:56:10
Danke,
Tbone