What does this error in the log mean? How do I figure out what line of code is the offending line, and what do I do about it? I don't really know what the call() method is....
org.codehaus.groovy.runtime.metaclass.MissingMethodExceptionNoStack: No signature of method: user_driver_dcm_withings_Withings_Sleep_Sensor_682.call() is applicable for argument types: (java.lang.String) values:
.....
Possible solutions: main(java.lang.String), wait(), any(), wait(long), main(java.util.List), main([Ljava.lang.String;) (method call)
THere's a big data object that I'm trying to convert to a string for writing to a local file
I usually get that when I miss a parameter in a function call or get a closure wrong or something. It's usually a code error that parses but doesn't get interpreted correctly at runtime.
I agree, hard to track down. If I can't get into the ballpark from looking at the code, I just do a log print per line in my method to see where it breaks down, then go from there.
This error also happens if your code is calling a function that doesn’t exist. I personally do this on purpose sometimes to determine the data type of a variable since it appears in the error. JavaScript has a “typeof” function that doesn’t work in Groovy.
Since when did defining a variable require you to use "def" instead of "dev". Doh. The tricky part here was that there was a variable already called "dev" and so I guess the compiler thought I was trying to reference the "dev" variable rather than trying to define a new variable with a mistakenly typed "def"
This would have been so much easier if the log had told me a line number - is that technically infeasible or an oversight on the hub side?
Groovy dynamic method invocation doesn't always produce line numbers. We show them when they are available. MissingMethodExceptionNoStack means no stack trace, meaning no line numbers to work with