Cannot verify IFTTT notification

Hello,

I’m trying to send a notification email by IFTTT with verification that the notification is actually sent back by the IFTTT website.

I’ve found that recently the IFTTT channel is more stable, however I am unable to verify that an email notification is actually sent by IFTTT once a Spark.publish request is received. I would say it works 95% of the time. For instance this will reliably detect if there is an internet connection and if an IFTTT email notification is sent by the spark core.

It however cannot detect that IFTTT actually receives the request and sends out a notification email.

Is there a way to detect that a spark.publish request is received in order to resend it if it’s not received?

Regards to all, Stuart

int inputPin = D1; //push-button pin
int val = 0; //variable for push-button status
int state = 1; //variable for on/off state
int led = D7; // integrated LED
int status = D0;  // Connection status LED or pin

void setup() {
   
    pinMode(inputPin, INPUT);   // input low to drive notification
    pinMode(led, OUTPUT);       // Pulse LED to signal notification
    pinMode(status, OUTPUT);    // High to signal active connection
    Serial.begin(9600);
}


void loop() {
    val = digitalRead(inputPin); //read the state of the push-button
    connection();               //Polls the status of the connection
    
    if (val == LOW) { //if push-button pressed
        state = !state; //reverse on/off state
        delay(250); //primitive button debounce
        Serial.println("button pushed!");
        digitalWrite(led, HIGH);   // Turn ON the LED pins
        notification();
    }
}

void connection()  // output status of internet connection on D0 high =connected, low= not connected
{
  if (Spark.connected())
  {
    digitalWrite(status, HIGH);
  }
  else
  {
    digitalWrite(status, LOW);
  }

 }
  

void notification()
{
    delay(1000); 
    Spark.publish("button1",NULL, 60, PRIVATE);
   //
    Serial.println("Complete");
    //
    digitalWrite(led, LOW);    // Blink LED
    delay(250);               
    digitalWrite(led, HIGH);   
    delay(250); 
    digitalWrite(led, LOW);  
  }
1 Like

You could have another IFTTT trigger that will send a confirmation notification to your Core. If it doesn’t receive that within a set period of time, then send the publish again?

Hi @StuartK,

Great question! IFTTT doesn’t give us a ton of information back, so it’s really hard to know when they’ve acted on a particular trigger. I think what I could do is publish an event back to your devices when IFTTT comes to check on your trigger after we’ve pinged them. That would at least give you some feedback on when IFTTT has been informed, but that won’t always correspond to when the action is triggered. Would that help?

Thanks,
David

Sure would!

1 Like

Awesome, sorry about the delay, I’ve opened an issue for this internally and I’ll try to get this in place as soon as I get a chance. :slight_smile:

Thanks,
David

2 Likes

Hi Dave,

Here is the current Notify interface screen of my gadget. Please excuse the poor picture quality.

Right now I can tell if Spark is online, I can verify that Spark sends the email request to IFTTT.

I can’t verify that IFTTT is online or that IFTTT actually sends the email out.

What might help is creating another IFTTT routine such as (If Spark then Spark) and reading back a result via Spark.subscribe(). It wouldn’t verify the email exactly, however it would show that a request was received by the IFTTT website and bounced it back to the Spark showing that IFTTT is alive and active.

Could you point me to any basic tutorials on how to use Spark.subscribe() with IFTTT?

Thanks again, Stuart

1 Like

Hey All,

I’ve tweaked the API so it’ll publish a private event when IFTTT comes and checks on your triggers. :slight_smile: I’ve got it on staging, but I anticipate it’ll go out with the next api update.

Thanks!
David

1 Like

I’m looking forward to it :grinning:

thanks,

Stuart

Hi,

I’m new to Particle. Just experimenting with IFTTT.

Using the four buttons to trigger four different ifttt recipes. I see 4 “ifttt-trigger-event-check” events come back for each published button event.

With each returned ifttt-triger-event-check, we get the “count” back as data. Would there be a way to get the original published event back as data in the reply?

Thank you
Robert