#define BLYNK_TEMPLATE_ID "TMPL3fbS4LbBo"
#define BLYNK_TEMPLATE_NAME "HOME AUTOMATION"
#define BLYNK_AUTH_TOKEN "bfrxjZmU355OV-Q0qcWr-MF0Fu6ttW9H"

#include <WiFi.h>
#include <BlynkSimpleEsp32.h>

char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";

#define BUTTON_PIN 26
#define RELAY_PIN 13
int relayState = 0;

#define BUTTON_VPIN V1

BlynkTimer timer;

BLYNK_CONNECTED() {
  Blynk.syncVirtual(BUTTON_VPIN);
}

BLYNK_WRITE(BUTTON_VPIN) {
  relayState = param.asInt();
  digitalWrite(RELAY_PIN, relayState);
}

void setup() {
  Serial.begin(115200);
  
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN, HIGH);
  
  Blynk.begin(auth, ssid, pass);
}

void loop() {
  Blynk.run();
  timer.run();
  listenPushButton();
}

void listenPushButton() {
  if (digitalRead(BUTTON_PIN) == LOW) {
    delay(200);
    controlRelay();
    Blynk.virtualWrite(BUTTON_VPIN, relayState); 
  }
}

void controlRelay() {
  relayState = !relayState;
  digitalWrite(RELAY_PIN, relayState);
  Serial.print("Relay State = ");
  Serial.println(relayState);
  delay(50);
}
NOCOMNCVCCGNDINLED1PWRRelay Module