Hi,
I’m thinking this could hopefully be a simple question… The intent is to implement a couple of Cloud functions via the Particle.function() facility.
My question is: if the cloud is disconnected when Particle.function() is called, will the function be registered when the cloud connection is restored?
(There is an explicit mention to this functionality for a variable in the documentation, but not for for a function. Is the functionality the same for both?).
To answer the question you asked: "Yes, once the cloud connection is regained, all functions, variables and subscriptions will be re-registered"
But if you want to know if a remote call to a registered function that happened while disconnected will be executed on reconnect, then: No.
Background for the former: Particle.function(), Particle.variable() and Particle.subscribe() only tell the device what kind of things you want exposed to the cloud/registered with the cloud, but doesn’t really do it. They are only preparing the data for the actuall handshake.
Once the initial cloud handshake happens, these prepared infos are passed to the cloud along with some kind of hash (summing up the whole set).
On connection loss and reconnect in a “short handshake” the hash is “exchanged” and if it still fits, the cloud just reconfirms the info it already has and no further actions are required to continue where left off.