Blynk 2.0 Webhook settings for POST

Dear All,
I am trying to migrate my codes and I am nearly done, but I need help for webhook settings reconfigure for Blynk 2.0 requirements.

My Alarmsystem project used webhook without any problem with legacy Blynk to send status reports every day. Migrated project is working well with Blynk 2.0 except webhook.

My settings in legacy Blynk:

This row writes values of three variables to V0

Blynk.virtualWrite(V0, displaycurrenttime, alarmValueWh, batterrorState);

(e.g. V0=12-21,20:58:54350, where displaycurrenttime=12-21,20:58:54, alarmValueWh=35, batterrorState=0)

Webhook widget settings in mobile app

The full URL: https://hooks.zapier.com/hooks/catch/xxxxx/yyyyyy/?logdate=/pin[0]/&alarmvalue=/pin[1]/&batterrstate=/pin[2]/

logdate, alarmvalue, batterrstate fields were configured in Zapier.

Message status displaying after sending with this code:


 BLYNK_WRITE(V0) //Webhook
{
  Serial.println("WebHook...");
  Serial.println(param.asStr()); //in case of success: 200 OK
}

Trying to migrate these to Blynk 2.0:

Webhook name, Device, Datastream are clear, but I don’t know the URL.
I am tried with full ( https://hooks.zapier.com/hooks/catch/xxxxx/yyyyyy/?logdate=/pin[0]/&alarmvalue=/pin[1]/&batterrstate=/pin[2]/) and shorter (show on picture), but not clear for me how to configure rest settings (e.g. content type).

In case of full URL using without any other settings, only request type set to POST, webhook sending success (result is 200 OK), but the sent values are not comes from V0 stream.

Blynk 2.0 webhook sent /pin[0]/ /pin[1]/ /pin[2]/ as values and not real values from V0.
(e.g. displayed result was logdate:/pin[0]/ instead of logdate:12-21, 10:56)

I have read many topics and tutorials, but I need more help to understanding how Webhook working on Blynk.Console in case of POST using.

How works on new platform multiple variables sending?

Thanks for all help.
aquarius

Have you solved this problem? I have exactly the same issue

Unfortunately, not yet. I believed that here is someone who are much experienced in webhooks. I think this is Blynk2.0 related problem, because it worked well in Blynk1.0.

Just the same situation as mine. Everything was working fine. Now I’m having a couple of problems, webhooks and tables. The second is “under development”. Bust the first is turning me crazy

Maybe if you elaborated on this you’d get more assistance.
Obviously it’s impossible for others to try a webhook url when some of the credentials have been redacted. If you could create a test account with shareable credentials then others would help you to overcome the issue.

Also, if you’re using suitable hardware (ESP8266 or ESP32) then you can make the API call directly in the code rather than using the webhook functionality.

Pete.

The problem is I can not see an example how implemented the selected datastream value into URL.
There is an out-of-date webhook creating example in Blynk2.0 documentation: Webhooks - Blynk Documentation
Now this page looks different.

In the old Blynk docu (link: Documentation for Blynk, the most popular IoT platform for businesses.) was much more informative:

@aquarius If previously you used a GET request with URL like this:

https://hooks.zapier.com/hooks/catch/xxxxx/yyyyyy/?logdate=/pin[0]/&alarmvalue=/pin[1]/&batterrstate=/pin[2]/

It can be replaced with:

https://hooks.zapier.com/hooks/catch/xxxxx/yyyyyy/?value={device_pinValue}

Where {device_pinValue} is a value that triggered the webhook. However, you send the 3 values into 1 pin:

Blynk.virtualWrite(V0, displaycurrenttime, alarmValueWh, batterrorState);

That means, you either need to split it into 3 different virtual writes and create 3 different webhooks or wait until we’ll implement addiotional placeholders.

Thanks, @Dmitriy .
I tried it with successful sending, but the result is the placeholder itself and not the value.
I used it for my webhook: https://hooks.zapier.com/hooks/catch/XXXXX/YYYYY/?logdate={device_pinValue}
The result is: {device_pinValue}
So, this method is not working as expected.

Zapier helps me to send a statusreport via email from my device. I know I can make it by Automation too, but I have two strong reason why I don’t want use Automation:

  1. Blynk2.0 have no Email Widget, Eventor, Timer Widget, Bridge Widget… Now we have Automation only. 25 for me for migrate all of these. This limit is shocked me when I realized how many Automations would create neccessary if I want migrate every missing wigdet tasks. I have to spare with it due to limitation.
  2. Email sending by Automation can send only one value/mail (‘When’ section has no ‘add more’). By webhook I could send three different values too in Blynk 1.0.

Additional information: I can send notifications by Events and Automation too but I need to use Automation instead of Events in case of I want my device to send notifications another user (e.g. my wife) too. Inside Events no option just Device Owner. Automation has it.

Blynk IOT is greatful, I like it but I waited with migration till last minute because I hoped the new Blynk will working as nice as the old worked. I was very satisfied with it. Now I feel that I get less for more money.

Thank you for reading.
aquarius

Please read more about Events and Notifications in the docs. You don’t need automations to send notifications to multiple users

Hi, @Pavlo,
you mean these pages?:
https://docs.blynk.io/en/blynk.console/templates/events/events-notification-settings?q=events
https://docs.blynk.io/en/blynk.console/devices/notifications-settings

I see this in Events/Notificaton tab (only Device Owner can select):

I found something deeply hide (My Devices/select one/options/Notifications settings/click on one Event row and voila…), maybe this what do you meant to add more user:


/“Username” is my test user./

In Automation seems much more simple (I am able to select all):

aquarius

Yes, that’s how you send to multiple users, but you’ve been talking about emails, and you don’t have any email recipients set.

You can also do this from the Device view - click the 3 dots next to the device name in the device view of the web console and choose “Notifications Settings”.

Pete.