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

Confirm delivery from hardware to widget


#1

Hello!

I’m sending some data from ESP32 using blynk SDK to widget. Is there any way to confirm delivery of some important data?

The only solution I came up with is:

  1. Using API check if app is available from ESP32
  2. If 1==true, using API send data and check if HTTP 200 response is received, from ESP32.

Is there any solution already implemented by blynk, which I’ missing?


#2

I use two nodemecu.
one to check the other.
so I can reset each other if needed.


#3

SDK?? You mean a Blynk.virtualWrite() command? If so, it technically gets sent to the Server and then to the App, so even if the App is offline at the time, when it starts again I think it should grab the latest values sent to all it’s widgets.

I suppose you could set up an eventor response… but depending on exactly what you are trying to do, I think Blynk will prevent anything that can cause a cyclic repetition…

Did you get it?

Yes I did.

Are you sure…how about now?

Yes, totally got it… see here…

Fine, but that was then, how about now?

:stuck_out_tongue_winking_eye:

You could also setup a sync every time the App comes online… but again, may be redundant.

http://docs.blynk.cc/#blynk-firmware-blynktimer-blynk_app_connected

BLYNK_APP_CONNECTED() {
Blynk.syncAll();
}

#4

As @Gunner said, you’re not sending the data to the app, you’re sending it to the server (either cloud or local). Provided the app is online, it’ll be displaying the data from the server, or doing the ‘juggling balls’ icon, or saying that the app is currently offline.

If you want to confirm that the data on the server is the same as the data you’ve just sent then simply read it back to the ESP32 and compare the result to what was sent.

If it’s more a case of wanting to acknowledge that an important piece of data has been seen by the user of the app, sort of like a ‘read receipt’ on an email, then maybe use a button to confirm that. Being more specific about exactly how you’d do that is difficult without more information about exactly what you’re to achieve, and why.

Pete.


#5

Well, for instance I need to make sure Blynk.notify() has been fired on app.

If device has no link to server while notify() issued, it’s just lost.

Also I would like to keep track of table contents which is actually received by user (I have event log of some kind).


#6

So look at that link i already provided… see the corresponding BLYNK_APP_DISCONNECTED() command… and figure out how to set up for flag so that a notification either doesn’t go out when the App is offline (if that matters), or trust the server to pass on the info later when the App is back (it seems to do that for me)… you have many options availed… have you tried any?

Not sure exactly what you are looking to do… but have you checked out the Table Widget?

http://docs.blynk.cc/#widgets-interface-table


#7

Connection status determined based on timeout so it still can miss messages. Also there is a packet drop possible.

I read the docs. syncvirtual() doesnt work with tables or terminals.


#8

Well… still no idea what you are trying to do… so sorry, can’t help :no_mouth: