Heya @ubermensch,
The cloud asks for a list of variables/functions from your core two times, once about 1.25 seconds after connecting, and then again about 60 seconds later if the first time failed. If you’re blocking during setup, your firmware will miss the first call, and if you have random delays scattered elsewhere, you might be missing the second call occasionally. These would be erratic depending on your program, if the delays / timings are a bit unpredictable. If you moved your Spark.variable calls to the top of the setup function, and didn’t block in that function you should be in good shape.
I think the original DHT22 library was synchronous… lemme see if I can dig it up…
I hope that helps!
Thanks,
David