from machine import Pin
from time import sleep
from dht import DHT22
import urequests
import network


dht_sensor = DHT22(Pin(14))

# Configurar pines para el LED RGB (ajusta los números de pin según tu hardware)
red_led = Pin(19, Pin.OUT)
green_led = Pin(2, Pin.OUT)
blue_led = Pin(15, Pin.OUT)

def set_rgb_color(red, green, blue):
    red_led.value(red)
    green_led.value(green)
    blue_led.value(blue)



#configurar wifi
def connect_wifi():


WEBAPP_URL = "https://script.google.com/macros/s/AKfycbwO9m7jJ6tJMbRxvzPeQ_GVmZPafcMjNyq-IUhTLaEKo8FutH_0L71kMZbBhv-XyjHLjA/exec"


def send_to_sheets(temp, hum):
    data = {
        "temp": temp,
        "hum" : hum
    }
    try:
        response = urequests.post(WEBAPP_URL, json=data)
        print("Respuesta:", response.text)
        response.close()
    except Exception as e:
        print ("error enciado datos")


    sta_if = network.WLAN(network.sta_if)
    sta_if.activate(True)
    sta_if.connect("Wokwi-GUEST", "")
    while not sta_if.isconnected():
        print(".", end="")
        sleep(0.5)
    print("wifi OK IP:", sta_if.ifconfig()[0])




def update_temperature_light(temp):

    if temp > 30:  
        set_rgb_color(1, 0, 0)
    elif 10 <= temp <= 29:  
        set_rgb_color(0, 1, 0)
    else:  
        set_rgb_color(0, 0, 1)

while True:
    connect_wifi()
    try:
        dht_sensor.measure()

        temp = dht_sensor.temperature()
        hum = dht_sensor.humidity()

        update_temperature_light(temp)

        # Imprimir en consola
        print(f"Temperatura: {temp:.1f}°C")
        print(f"Humedad: {hum:.1f}%")
        print("--" * 20)


        send_to_sheets(temp, hum)

        
    except Exception as e:
        print("Error al leer el sensor:", e)
        # Apagar todos los LEDs en caso de error
        set_rgb_color(0, 0, 0)

    sleep(2)