#define BLYNK_TEMPLATE_ID "TMPL6OqjWPYuf"
#define BLYNK_TEMPLATE_NAME "thauriq"
#define BLYNK_AUTH_TOKEN "pjmOmFxuRe5w1bF2rOnAw37uRQO0QpIg"

#define BLYNK_PRINT Serial

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

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

#define DHTPIN 23     
#define DHTTYPE DHT22 

DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;

void sendSensor()
{
  float h = dht.readHumidity();
  float t = dht.readTemperature(); 

  if (isnan(h) || isnan(t)) {
    Serial.println("Gagal membaca dari sensor DHT!");
    return;
  }

  Blynk.virtualWrite(V0, t); 
  Blynk.virtualWrite(V1, h); 
  Serial.print("Suhu : ");
  Serial.print(t);
  Serial.print(" °C\t");
  Serial.print("Kelembaban : ");
  Serial.print(h);
  Serial.println(" %");
}

void setup()
{
  Serial.begin(115200);
  dht.begin();
  Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
  timer.setInterval(2000L, sendSensor);
}

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