Hi,
I’m trying to get access to some status information on my VeraLite.
I’ve added a port forward so the SmartThings cloud can get to my vera and the logs confirm the request is being received and data is being sent back
Here’s the log
54.167.118.164 - - [24/Aug/2014:22:32:35 +1000] "GET /data_request%3Fid=lu_status2&DeviceNum=5&serviceId=urn:upnp-org:serviceId:SwitchPower1&DataVersion=1&output_format=json HTTP/1.1" 200 507
The response data is
{ "Device_Num_3": { "states": [ { "id": 164, "service": "urn:micasaverde-com:serviceId:EnergyMetering1", "variable": "KWH", "value": "9.9260" }, { "id": 165, "service": "urn:micasaverde-com:serviceId:EnergyMetering1", "variable": "KWHReading", "value": "1408879356" }, { "id": 166, "service": "urn:micasaverde-com:serviceId:EnergyMetering1", "variable": "Watts", "value": "162" }, { "id": 167, "service": "urn:micasaverde-com:serviceId:EnergyMetering1", "variable": "Log", "value": "162,140,164,1408879340,3141" } ], "Jobs": [ ], "tooltip": { "display": 0 }, "status": -1 }, "LoadTime": 1408869853, "DataVersion": 869854896, "UserData_DataVersion": 869853004, "TimeStamp": 1408879413, "ZWaveStatus": 1, "LocalTime": "2014-08-24 21:23:33 N" }
The code I’m using is
def getStatus() {
// This will run from the Cloud so needs to go to my external interface
log.debug "Executing getStatus"
def params = [
uri: "http://${exthostname}:${extport}",
path: "/data_request?id=lu_status2&DeviceNum=${devid}&serviceId=urn:upnp-org:serviceId:SwitchPower1&DataVersion=1&output_format=json"
]
try {
httpGet(params) { resp ->
if (resp.data) {
log.debug "Response Data = ${resp.data}"
log.debug "Response Status = ${resp.status}"
resp.headers.each {
log.debug "header: ${it.name}: ${it.value}"
}
}
if(resp.status == 200) {
log.debug "Request was OK"
}
else {
log.error "Request got http status ${resp.status}"
}
}
} catch(e)
{
log.debug e
}
}
When I run this code I can get the HTTP status and the headers but I can’t get access to the response data at all. I must be doing something stupid but I can’t see it.
10:43:39 PM: debug Request was OK
10:43:39 PM: debug header: Transfer-Encoding: chunked
10:43:39 PM: debug header: Connection: close
10:43:39 PM: debug header: content-Type: json
10:43:39 PM: debug header: Date: Sun, 24 Aug 2014 12:43:39 GMT
10:43:39 PM: debug Response Status = 200
10:43:39 PM: debug Response Data =
10:43:39 PM: debug Executing getStatus
Any ideas why I can’t get access to the response data?