-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Provision Device with custom ThingStream device profile ID gives "JSON error" #459
Comments
I think this may be related to this bug fix. We were passing the size of a pointer instead of the size of the array (bad programmer!). However, I'm not entirely sure. Please pull the latest RC code and give it a try. Your provisioning process is different than ours so I'm not sure if its our code or your setup on ThingStream. |
This has been implemented in firmware release v3.4. |
Still same issue in v3.4 |
Would it be possible to share the ThingStream device profile settings that were tested? I could then try the same settings and see if that gives a different result. |
I know you're on customer hardware, but would you please do a factory reset? There's something odd. Steps to reproduce (for my own notes):
At this point, updating keys will fail due to known bug.
This fails for reasons unknown.
This will work. Presumably because the JSON bug fix is in place but I can't explain why the previous settings from v3.2 prevent a v3.4 after upgrade to work. I suspect because size of the settings file in SPIFFS has gotten a lot smaller (in 3.2, settings files were ~4.5kb, in v3.4 settings file is ~1.8kb). |
Just tried on 3 devices, v3.4, using USB serial UI:
This did not work when Plan was set to PointPerfect L-band and IP. It works if L-band only, so, this is a big improvement (I can now deploy field trial), but IP is desired since some sites (or areas of a site) don't have L-band reception. There is an Android MQTT client, and also future Sparkfun firmware feature request which both would need an L-band + IP Plan to work. Also, an existing Location Thing, where the firmware was factory reset, was unable to (re)get it's credentials when Plan is L-band + IP. It works ok when Plan is L-band only. |
Issues:
The issue of provisioning failing because the system does not work with PointPerfect IP+L-Band service is a bit different. I suspect the MQTT channels are different enough to cause problems. We'll get that sorted once we add IP based PointPerfect corrections. Please see issue #497. I'm going to close this issue because I think the bulk of the problem has been cleared. Please open additional issues as needed. |
Subject of the issue
A previous attempt with another device failed because I set up the ThingStream Device profile with Auto Activate disabled. I enabled it, and tried on another ESP32 Thing C Plus (different mac address), and then ran into this error.
Provisioning fails with "JSON error"
A second attempt gives:
HTTP response error 403: Device already registered
And I can see in ThingStream a new Location Thing is created and activated. Plan is L-band + IP, I have filtered only US topics.
Your workbench
Steps to reproduce
console output:
Menu: PointPerfect Corrections
Device ID: E05A1B595312
Days until keys expire: No keys
k) Manual Key Entry
x) Exit
3
Connecting WiFi...
Using custom token:
Connecting to: https://api.thingstream.io/ztp/pointperfect/credentials
JSON error
Bluetooth broadcasting as: Surveyor Rover-XXXX
Expected behavior
I assume it would download device credentials, and then L-band keys via MQTT.
Actual behavior
"JSON error" on console
The text was updated successfully, but these errors were encountered: