#include "SimpleTimer.h"
#include "DHTesp.h"

DHTesp dhtSensor;
SimpleTimer timer_relay(2000);
SimpleTimer timer_dht22(5000);

const int relay_pin = 17;
const int DHT_pin = 33;

void setup() {
  pinMode(relay_pin, OUTPUT);
  digitalWrite(relay_pin, LOW);
  dhtSensor.setup(DHT_pin, DHTesp::DHT22);
  Serial.begin(115200);
  Serial.println("Start");
}

void loop() {
  if (timer_dht22.isReady()) {
    Serial.println("New loop");
    TempAndHumidity data = dhtSensor.getTempAndHumidity();
    String json = "{\"type\": \"message\", \"content\": \"Temperature: " + String(data.temperature) + ", Humidity: " + String(data.humidity) + "\"}";
    Serial.println(json);

    if (data.temperature >= 27) {
      if (digitalRead(relay_pin) == LOW) {
        Serial.println("Switch relay to HIGH");
        digitalWrite(relay_pin, HIGH);
      }
    }
    else {
      if (digitalRead(relay_pin) == HIGH) {
        Serial.println("Switch relay to LOW");
        digitalWrite(relay_pin, LOW);
      }
    }
    timer_dht22.reset();
  }
}
NOCOMNCVCCGNDINLED1PWRRelay Module