I could use some help trying to understand the inner workings of the Blynk server.
My application and requirements are as follows: I have a local Blynk server, which also runs several python background jobs to manage various IOT devices. I run micropython on various ESP8266 endpoints. I have multiple Blynk apps that can control the same HW endpoints. I have multiple endpoints that are controlled via the same Blynk app. I only utilize virtual pins on each part. These are fixed requirements and I am not interested in alternate solutions (at this point).
I realize Blynk is not really designed for my particular use case. On the other hand, I pretty much have most of it working and think it will work for my atypical application. There are a few quirks with the blynk server and it’s interaction with the app and endpoints that I am trying to understand fully, so please correct my misinformation and provide clarification.
I’ll use the example of an ESP8266 as well as a server background job - both running python, both using the same AUTH token:
Any button press on the Blynk app is reliably sent by the server to BOTH endpoints. However, if either endpoint does a virtual_write, that vpin only makes it to the server and the app, not the other other endpoint. So the app and endpoints look different to the server.
If I do a sync_virtual from an endpoint, the server only sends the vpin state to the endpoint that sent the sync. Plus the sync only captures the current state so in the case of a on-off momentary toggle, the sync request misses it completely. (a kludgy workaround is doing a sync every second and having the momentary be longer than 1 second, but that is not ideal)
Is there anyway to have an endpoint command the server to send the updated vpin to all endpoints, the same way the app appears to? Ideally, I would like to be able to generate a write event from the python background job running on my server (and avoid periodic syncs by the endpoints).
Thanks,
-Greg