Jag försöker göra en VD för att hämta och ändra information på Lundix SPC Gateway men får det inte att fungera.
Problemet tror jag ligger i att json-filen som man får från gatewayen verkar ha 2 nivåer på informationen.
json filen ser ut enl. nedan:
{"status":"success","data":{"area":[{"id":"1","name":"XXXXXXXX","mode":"0","last_set_time":"1488720661","last_unset_time":"1489388579","last_unset_user_id":"3","last_unset_user_name":"XXXXXXXX","last_alarm":"1489237927","not_ready_set":"1002"}]}}
Jag vill där hämta (GET) samt ändra (PUT) värdet på "mode", men den vill inte känna igen fibaro:debug(jsonTable.mode) enligt koden nedan. Beror det på att den ligger inom [ och då ska hämtas på något annat sätt?
Skriver jag istället ut status, fibaro:debug(jsonTable.status) så år jag svaret successs vilket är korrekt.
Code: Select all
local thisdevice = fibaro:getSelfId()
local ip = fibaro:getValue(thisdevice, 'IPAddress')
local port = fibaro:getValue(thisdevice, 'TCPPort')
local httpSession = Net.FHttp(ip, port);
response, status, errorCode = httpSession:GET('/spc/area/1/mode')
--response = httpSession:GET('/spc/area/1')
fibaro:debug("Response = "..response)
fibaro:debug("Status = "..status)
fibaro:debug("ErrorCode = "..errorCode)
jsonTable = json.decode(response)
fibaro:debug(jsonTable.mode)