BLYNK
HOME       📲 GETTING STARTED       📗 DOCS       ❓HELP CENTER       👉 SKETCH BUILDER

Webhook Get Troubleshooting

I have a simple Temperature/Humidity Monitor with an ESP8266 NodeMCU using a DHT22 running on a local server on a Raspberry Pi. This project works fine locally without issue.

I am using the HTTP RESTful API’s “Write pin value via GET” to send the Temperature and Humidity values to a project running on Blynk-Cloud.

The webhook for temperature works fine, I am sending V0 local to V10 Cloud: http://blynk-cloud/[auth_token]/update/V10?value=/pin/

I have the same thing set up for the Humidity to send V1 local to V11 cloud: http://blynk-cloud/[auth_token]/update/V11?value=/pin/

My issue is the second one (V1 local to V11 cloud) does not work, the cloud side never updates the humidity value. The temperature one (V0 local to V10 cloud) works just fine. Both URL’s are identical with the exception of the pin to update.

Any thoughts as to why the first one works and second one does not?

Are you using the webhook widget in the app?

If so, why?

Pete.

Yes, in the app on the local server I setup the webhook widget to send the contents of V0 and V1 using the above URL’s. (The Why, it was the first method I found, demonstrated in this video: https://www.youtube.com/watch?v=mXXwxwa7E_Y&feature=emb_logo&ab_channel=100-x-arduino.blogspot.com)

Is there a better way to send this data from the local server so it can be read when logged into the cloud one?

You can call the API direct from your sketch.

Pete.

I’m having trouble finding examples of code I can run in my local sketch that will send the information I want out to the cloud.

Background:
I have two ESP8266 running in different locations. In location 1 the device is connected to the cloud and I need to be logged into the cloud from the app to take advantage of monitoring it remotely (specifically notifications if it goes offline).

In location 2 I have the temperature monitor running on a local sever, but I would like its values to be readable while logged into the cloud so I do not need to swap back and forth. Location 2 does not have the ability for me to open ports and allow external requests, so I was trying to use the webhook widget to send the information.

As said previously, it is working, but only for the temperature on V0 being sent to V10, for whatever reason the humidity on V1 will not properly send to V11.

If this is a limitation of Blynk, so be it. It’s just confusing to me that two things setup identically do not function the same.

Presumably, it’s this limitation…

NOTE: Blynk Cloud has limitation for Webhook Widget - you can only send 1 request per second. This can be changed on a Local Server by changing webhooks.frequency.user.quota.limit . Be careful with Webhooks, as many 3rd party services can’t handle 1 req/sec, and you can be banned on some of them. For example, Thingspeak allows only 1 request per 15 seconds.

There are example of how to call an HTTP/S API from code - I just don’t have time to find them for you at present.

The better option might be to link the remote device to your local server, and open up the ports to allow this.

Pete.

Thanks for the assistance, I’ll continue researching and see what I can work out.