[Fixed] Webhooks callbacks are not reliable!

Hi @Dave,

Thank you for confirming that it is a known issue, it’s much appreciated, I’ve been trying workarounds but nothing is as satisfactory as the promised functionality.

What’s your approximate ETA on upgrading the dev tools? FYI I’m using the online compiler.

EDIT: Upon further testing, I have run into a different issue or limitation. I have:

void setup() {
    // listen for the hook responses to commands sent to gas boiler
    Spark.subscribe("hook-response/turn_on_heat", ioBridgeHeatOn, MY_DEVICES);
    Spark.subscribe("hook-response/turn_off_heat", ioBridgeHeatOff, MY_DEVICES);
    Spark.subscribe("hook-response/turn_on_pump", ioBridgePumpOn, MY_DEVICES);
    Spark.subscribe("hook-response/turn_off_pump", ioBridgePumpOff, MY_DEVICES);
}

Therefore my Core is subscribed to 4 events. I can always publish all four webhooks but only one replies back -> the first one in the list, whichever one that may be. My first issue was when even that one stopped replying back.

I was expecting to be limited to 4 events, I’m only getting one with my webhooks. I tried a workaround by subscribing once to hook-response/turn_ and that worked once but further testing revealed that to be very unreliable, responses arrive seemingly at random.

I’ve currently adapted my code to work without webhooks but that means doing without any feedback, I’m firing commands regardless of whether they are heard or not! Looking forward to that next version of firmware, let’s see if these issues are solved.

For completeness, the functions are as follows:

void ioBridgeHeatOn(const char *name, const char *data) {
    Serial.println("Heat On Response");
}

void ioBridgeHeatOff(const char *name, const char *data) {
    Serial.println("Heat Off Response");
}

void ioBridgePumpOn(const char *name, const char *data) {
    Serial.println("Pump On Response");
}

void ioBridgePumpOff(const char *name, const char *data) {
    Serial.println("Pump Off Response");
}
1 Like