Trying to get data from OpenWeatherMap API. I get the data, but cannot seem to pass it on.
The code below works until it hits the "doPollOWM(owm)" then it returns:
> [error]groovy.lang.MissingMethodException: No signature of method: user_driver_Matthew_OpenWeatherMap_Weather_Driver_2948.pollOWMHandler() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, 1] Possible solutions: pollOWMHandler(java.lang.Object, java.lang.Object) (pollOWMHandler)
The data is being returned. I can see it in the "LOGINFO("Data: " + owm)" response.
Any help would be appreciated. Thanks,
> void pollOWM() {
> if( apiKey == null ) {
> log.warn "OpenWeatherMap.org Weather Driver - WARNING: OpenWeatherMap API Key not found. Please configure in preferences."
> return
> }
> def ParamsOWM = [ uri: 'https://api.openweathermap.org/data/2.5/onecall?lat=' + altLat + '&lon=' + altLon + '&mode=json&units=imperial&appid=' + apiKey,
> requestContentType: 'application/json',
> contentType: 'application/json',
> timeout: 15 ]
> LOGINFO("Poll OpenWeatherMap.org: $ParamsOWM")
> asynchttpGet("pollOWMHandler", ParamsOWM)
> return
> }
>
> void pollOWMHandler(resp, data) {
> LOGINFO("OpenWeatherMap.org Weather Driver - INFO: Polling OpenWeatherMap.org")
> if(resp.getStatus() == 200 || resp.getStatus() == 207) {
> def owm = parseJson(resp.data)
> // def owm = resp.getJson()
> // def owm = new groovy.json.JsonSlurper().parseText(resp.data)
> LOGINFO("Data: " + owm)
> doPollOWM(owm) // parse the data returned by OpenWeatherMap.org
> } else {
> log.warn "OpenWeatherMap.org Weather Driver - WARNING: Calling https://api.openweathermap.org/data/2.5/onecall?lat=" + altLat + "&lon=" + altLon + "&mode=json&units=imperial&appid=" + apiKey
> log.warn "OpenWeatherMap.org Weather Driver - WARNING: OpenWeatherMap.org weather api did not return data"
> }
> return
> }
>
> void doPollOWM(Map owm) {
> // <<<<<<<<<< Begin Setup Global Variables >>>>>>>>>>
> .......