Okay, I looked at this a bit further, and you have a couple of issues that are causing your problem, related to how you are building your HTTPGet string, as well as how you are handling the response. There are a lot of ways to do this, but this worked for me, so I'll show you what I did and turn it back over to you.
Please replace your code from line 37 on down with my code. Your code is:
def getParams = [
uri: "http://www.gmcmap.com/historyData-plain.asp?Param_ID=${GeigerID}&timezone=${Timezone}",
requestContentType: "application/json",
]
def refresh() {
try {
httpGet(getParams) { resp -> log.debug resp.json }
} catch(Exception e) {
log.debug "error occured calling httpget ${e}"
}
if (logEnable) log.info resp.body
}
Code to try instead:
def getParams() { "http://www.gmcmap.com/historyData-plain.asp?Param_ID=${GeigerID}&timezone=${Timezone}" }
def refresh() {
def responseBody
try {
log.debug "Params: ${getParams()}"
httpGet(getParams()) { resp ->
log.debug resp.getData()
responseBody = resp.getData()}
} catch(Exception e) {
log.debug "error occured calling httpget ${e}"
}
if (logEnable) log.info responseBody
}
This returned the JSON object you were looking for, and you should be able to parse it out from there based on the example I gave you previously.
Try this out and let me know how you make out. If you need more assistance, let me know and I'll be happy to help.
EDIT: I decided to take this a little further down the road for you. It now calls the website URL and parses out the json data to the individual values, which are written to the debug log. From this point, you should be able to take that data and assign it to attributes or whatever you plan to do with it from here.
Here is a link to the code in my repository:
gmcGeigerCounterDriverLink
Regards,
Bob