but when I try to install my smartapp I’m getting these errors:
SmartApp logs:
error groovy.lang.MissingMethodException: No signature of method: script_dth_e3141d889365cebbb290ec8de840f8277e2151b76d2a9e90c9f98842484fe56f.parse() is applicable for argument types: (java.lang.String) values: [updated]
Possible solutions: pages(), page(), pages(groovy.lang.Closure), page(java.util.Map), page(java.lang.String, java.lang.String), parseXml(java.lang.String) @line 56 (initialize)
Newly created device:
error groovy.lang.MissingMethodException: No signature of method: script_dth_e3141d889365cebbb290ec8de840f8277e2151b76d2a9e90c9f98842484fe56f.parse() is applicable for argument types: (java.lang.String) values: [updated]
Possible solutions: pages(), page(), pages(groovy.lang.Closure), page(java.util.Map), page(java.lang.String, java.lang.String), parseXml(java.lang.String) @line -1 (callCurrent)
Any suggestions please?
Thanks
RBoy
(www.rboyapps.com - Making SmartThings Easy!)
2
Looks like your child device handers parse function is the problem, either it’s missing or doesn’t have the correct definition. Parse should ideally take a string parameter as an input.
groovy.lang.MissingMethodException: No signature of method: script_dth_e3141d889365cebbb290ec8de840f8277e2151b76d2a9e90c9f98842484fe56f.parse() is applicable for argument types: (java.lang.String)values: [updated]
But I haven’t have any ‘updated’ variable on my code except of
As @RBoy advised, create a second parse() method in the DTH:
def parse( description )
{
}
On the face of it, your DTH is being called with parse( "[updated]" ) so that should handle it. Just because you aren’t explicitly calling parse() yourself, doesn’t mean that other things don’t.
I wouldn’t have expected it to have changed. Your original parse() method with six parameters should be used when you have six arguments, and the new parse() with one parameter should handle the one argument.
Worked!!! Thanks.
although, I’m getting 2 new devices.
The first has the parsed data displayed correctly, and the second (with same name) does not receive any data
EDIT-
I fixed that by placing the addChildDevice() inside of installed() instead of initialize()