Hi There,
I have same problem with IFTTT + Webhooks and Google Assistant.
There are few topics that explain how this should be done, still I can’t get google to actually run the webhooks, even if she says: “Ok, performing action”.
This is the workflow: Google Home --> IFTTT (GoogleAssistang+Webhook) --> Blynk --> NodeMCU(ESP8266) --> Shutter
From Blynk everything works fine, both using the app or the URL:
http://cloud.blynk.cc:8080/xxxxxxxxxxxxxxxxxxxx/update/V1?value=1
When I tell google to open my shutter she says: “Ok, performing action”, but nothing happens, it doesn’t really send the Webhook.
Here is how the IFTTT applet looks like:
Just in case, this is the sketch:
#include <dummy.h>
#define BLYNK_PRINT Serial
#define UP D5
#define DOWN D6
#define LED D4
#define GPIO15 D8
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "xxxxxxx";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "xxxxx";
char pass[] = "xxxxxxx";
void setup()
{
// Debug console
Serial.begin(9600);
Serial.setDebugOutput(true);
Blynk.begin(auth, ssid, pass);
Serial.println("Hello Connected to WiFi");
pinMode(UP,OUTPUT);
pinMode(DOWN,OUTPUT);
pinMode(LED,OUTPUT);
pinMode(GPIO15,OUTPUT);
digitalWrite(UP,HIGH); // Set UP and DOWN HIGH so the remote doesn't activate on start IN
digitalWrite(DOWN,HIGH);
//digitalWrite(IN,HIGH);
digitalWrite(GPIO15,LOW); // Set this to Low in case it draws excess power
digitalWrite(LED, HIGH);
}
BLYNK_WRITE(V1) //UP button press on Blynk app
{
int V1Value = param.asInt(); // assigning incoming value from pin V1 to a variable
if (V1Value ==1 ) //Virtual pin is high
{
Serial.println(V1Value);
Serial.println("UP button");
Blynk.virtualWrite(V1, HIGH); //we force this high, to give feedback on the app button press.
digitalWrite(UP,LOW);
digitalWrite(LED, LOW);
delay(1000); //This delay results in a button press and hold of a second, to ensure the radio signal is picked up
digitalWrite(UP, HIGH);
digitalWrite(LED, HIGH);
Blynk.virtualWrite(V1, LOW); //we force this low, as IFTTT via Google will leave it high otherwise.
}
else digitalWrite(UP, HIGH); // Clear everything here as the button isn't pressed now
}
BLYNK_WRITE(V2) //DOWN button press on app
{
int V2Value = param.asInt(); // assigning incoming value from pin V2 to a variable
if (V2Value ==1 )
{
Serial.println(V2Value);
Serial.println("DOWN button");
Blynk.virtualWrite(V2, HIGH); //we force this high, to give feedback on the app button press.
digitalWrite(DOWN,LOW);
digitalWrite(LED, LOW);
delay(1000);
digitalWrite(DOWN, HIGH);
digitalWrite(LED, HIGH);
Blynk.virtualWrite(V2, LOW); //we force this low, as IFTTT via Google will leave it high otherwise.
}
else digitalWrite(DOWN, HIGH); // Clear everything here as the button isn't pressed now
}
void loop()
{
Blynk.run();
}
Any clue?
Thx,
clos80