Hi David,
I have persevered with my tests and have started seeing dropped responses. It does seem to be slightly better but it is far from reliable.
My setup is as follows:
void setup() {
// particle serial monitor
Serial.begin(115200);
// subscribe to webhooks
bool subscribed = Spark.subscribe("hook-response/io_", ioBridgeCommand, MY_DEVICES);
if (!subscribed)
Serial.println("subscription failed for iobridge");
// and wait at least 10 seconds to allow time to connect
delay(10000);
}
void loop() {
Serial.println("Requesting salon temp");
// publish the event that will trigger our first webhook
Spark.publish("io_temp_int");
// and wait at least 60 seconds before continuing
delay(60000);
// publish the following 4 events in the same manner
Spark.publish("io_heat_on");
delay(60000);
Spark.publish("io_pump_on");
delay(60000);
Spark.publish("io_heat_off");
delay(60000);
Spark.publish("io_pump_off");
delay(60000);
}
// simple response test
void ioBridgeCommand(const char *name, const char *data) {
Serial.println("ioBRidge command response");
String strName = String(name);
String strData = String(data);
Serial.println(strName);
Serial.println(strData);
}
And the responses are:
5 replies
5 replies
3 replies
4 replies
3 replies
1 reply
3 replies
4 replies
I believe that the servers being called are reliable, I never have a problem with curl. I can say that there is some improvement though because the fact that we can receive only 1 reply and then 3 or 4 replies is better than before. My observations before were that once a webhook died it stayed dead !
I’m sorry it’s not 100% reliable but I must underline that I have found a satisfactory workaround for my setup so am no longer relying on this fix.