Blynk.virtualWrite() not updating app values (USB Serial + Arduino UNO + Proteus)

Hello Blynk Community,

I’m working on a smart greenhouse project using Arduino UNO, DHT11 sensor, and several actuators (fan, heater, LED, pump, servo motor). I’m using Blynk with USB Serial (BlynkSimpleStream) to send data to the app.

I tested everything in Proteus simulation, and the logic works fine — sensors read correctly, and actuators react. However, Blynk.virtualWrite() doesn’t update the widgets on the mobile app.

:heavy_check_mark: My code calls Blynk.virtualWrite(V2, t) and Blynk.virtualWrite(V3, h) every 3 seconds.
:heavy_check_mark: I can control actuators from the app to Proteus (like turning on the fan), so the write from Blynk app to Arduino works.
:x: But the data from Arduino to Blynk app (e.g., temperature/humidity) doesn’t appear.

:white_check_mark: I use Blynk.begin(Serial, auth) and set the correct COM port in Arduino IDE.
:question: I tried using Proteus + Virtual Serial Port Driver (COM3 ↔ COM1) and launched blynk-ser.bat with the correct parameters (-c COM3).

Is it possible that Proteus is blocking outgoing virtual writes to Blynk Cloud? Or maybe the data is being written, but the app isn’t updating?

Here’s the simplified part of my code:

cpp

CopierModifier

float h = dht.readHumidity();
float t = dht.readTemperature();
if (!isnan(h) && !isnan(t)) {
    Blynk.virtualWrite(V2, t);
    Blynk.virtualWrite(V3, h);
}