from gpiozero import Button
from motore.motore_logico import get_messaggio_salvato
from audio.voce import parla

# Campanelle
temperatura = Button(
    26,
    pull_up=True,
    bounce_time=0.5
)

umidita = Button(
    12,
    pull_up=True,
    bounce_time=0.5
)

aria = Button(
    25,
    pull_up=True,
    bounce_time=0.5
)

meteo = Button(
    5,
    pull_up=True,
    bounce_time=0.5
)


def controlla_campanelle(
    colore_temperatura,
    colore_umidita,
    colore_aria,
    colore_meteo
):

    # True quando la campanella è sollevata
    temperatura_sollevata = not temperatura.is_pressed
    umidita_sollevata = not umidita.is_pressed
    aria_sollevata = not aria.is_pressed
    meteo_sollevata = not meteo.is_pressed

    # Debug (puoi lasciarlo per ora)
    print(
        "GPIO:",
        temperatura.is_pressed,
        umidita.is_pressed,
        aria.is_pressed,
        meteo.is_pressed
    )

    if temperatura_sollevata and colore_temperatura == "blu":
        print("Campanella temperatura sollevata")
        messaggio = get_messaggio_salvato()
        if messaggio:
            print("\nMessaggio salvato:")
            print(messaggio)
            parla(messaggio)

    if umidita_sollevata and colore_umidita == "blu":
        print("Campanella umidità sollevata")
        messaggio = get_messaggio_salvato()
        if messaggio:
            print("\nMessaggio salvato:")
            print(messaggio)
            parla(messaggio)

    if aria_sollevata and colore_aria == "blu":
        print("Campanella aria sollevata")
        messaggio = get_messaggio_salvato()
        if messaggio:
            print("\nMessaggio salvato:")
            print(messaggio)
            parla(messaggio)

    if meteo_sollevata and colore_meteo == "blu":
        print("Campanella meteo sollevata")
        messaggio = get_messaggio_salvato()
        if messaggio:
            print("\nMessaggio salvato:")
            print(messaggio)
            parla(messaggio)
