Can't save App code, bad import

@chuck.schwer

I'm on FW 2.0.7.125

I'm getting an error when I try and save App code that was fine on earlier versions. The error is on

import groovyx.net.http.RESTClient

Importing [groovyx.net.http.RESTClient] is not allowed

I also have

import static groovyx.net.http.ContentType.*

which does not cause an error but I have no way of knowing right now if the App is getting what it needs.

I didn't see anything in the release notes about removing access to these imports.

Mark

You don't say what the code is, and who wrote it. By your comments I assume you did not write it, can you ask the developer what RESTClient is needed for?

It is a port of the Rachio Sprinker manager from Smarthings that I've added some custom commands to. Everything had been working find but I admit I haven't looked at it since last summer. I was tuning up for turning things on in the Spring but if I have to I'll try and use the built-in driver and give up my custom code.

You didn't say who wrote it originally or point me to the code to take a look, is that possible?

It was the community version of Rachio Integration written by Anthony Santilli. I admit I didn't keep up with any changes in the original code base, the version I had "compiled" and I fixed issues with the rain delay functions and added the ability to change the prefix for all the child devices from "Rachio" to a defined value in the App preferences.

I think I could use the built-in driver if the issues with the rain delay functions (I'm guessing the built-in driver is based off of this one also) that I reported here Rachio Rain Delay not working were fixed.

I don't mean to take up anyone's time trying to debug my custom code. I'm just asking if there was an announcement of this import being taken away and whether it was done deliberately or inadvertently.

I'm seeing the same error when I try to reinstall the Sensibo device handler:

"Importing [groovyx.net.http.RESTClient] is not allowed"

1 Like

@blanghor I can't weigh in on something I know nothing about. If you are having a problem with code, you should post the code you are having a problem with. I have no idea what the "Sensibo device handler" is so I can't give you any feedback.

Sorry, I didn't get back to you. In my case it seems the App had an alternative to the RESTClient usage so I was able to remove it and the import and get the App working.

No worries, after I replied I realized that we had a private conversation about it.

The code is in this post, in the device handler:

remove these lines:

import groovyx.net.http.HTTPBuilder
import groovyx.net.http.ContentType
import groovyx.net.http.Method
import groovyx.net.http.RESTClient

They do nothing.