MOST of the time this same command works just fine. It basically sends a string (which happens to be JSON) to a driver and everything works great. The driver logs what it received:
My money is on the length (which seems odd if it is), if it's not happening all the time. Comparing the failed example to the successful ones in the log, the lat/longs seem more precise in the failed example. That's the best I can offer. Have you tried running the failed example through the device detail page?
I also have this happen occasionally in a particular Node-RED flow that turns off/on a closet light. I haven't been able to track down the exact sequence that will trigger this error and since it doesn't seem to break anything, I've just left it alone.
The successful logs are of the device driver which is where I want the data passed to. I'm using MakerAPI to pass along the data. FWIW MakerAPI is "38" and this driver is "578" in the URL below.
the lat/longs seem more precise in the failed example
I was thinking/expecting that the entire 'argument' was just passed as a String - both to MakerAPI and to the driver ("578") and not parsed in some way..
Have you tried running the failed example through the device detail page?
I should have done that originally.. I was thinking the error was intermittent but maybe it's not. I am able to reproduce it 100% with the URL:
Interestingly, I took an example that made it to the driver just fine and tried making that call manually -- and also got the Exception.
So clearly I'm not formatting something correctly but I don't get it.. it'd help if I just knew what that NullPointerException was referring to in MakerAPI.
oh, lol.. I didn't see that.. both devices (1383 and 578) are using the same virtual device driver. It's a location driver for an Android App which passes lat/lng/etc.
I replaced 578 with 1383 and the request went though...
...and further digging leads me to see that this is just user-error
I remember I renamed a device yesterday.. apparently when you rename a device the ID MakerAPI uses changes? Well, whatever the cause - device 578 no longer exists!
Well, I guess at least I know what this error means now.. sorry for all the trouble
No worries. I saw an earlier post from a few years back with the same error when a command being called via maker api did not include a parameter in its definition, which was why I was wanting to confirm they were the same device type. I can kind of accept the error in that scenario, but when the device no longer exists, it would be nicer if the error gave an indication that was the issue, e g. Device not found