Solo un bucle con if

Hola a todos, tengo un problema que no se como solventarlo, quiero hacer un bucle que no se repita. No se si es por culpa del booleano, he probado con un int=0, i++ y también con un bucle for dentro del if y nada, no lo consigo.

A ver si alguno ve que es lo que me pasa, muchísimas gracias.

Dejo aquí la parte del código.

if (EstadoAlarma1 == true) {
    digitalWrite(pinLED, HIGH);
    Serial.println("ALARMA 1 ACTIVADA");
    client.publish("Alarma", "ALARMA 1 ACTIVADA");
    }

Y cual es el bucle? ahí no hay bucle!!

Hola, creo que tienes errados los conceptos un bucle es un ciclo repetitivo como lo es : "for", "while", "do while" incluso el "loop" entonces lo que dices:

bucle que no se repita

Eso es imposible si lo que quieres que no repita en esa parte solo cabía la condición

if (EstadoAlarma1 == true) {
    digitalWrite(pinLED, HIGH);
    Serial.println("ALARMA 1 ACTIVADA");
    client.publish("Alarma", "ALARMA 1 ACTIVADA");
    EstadoAlarma1 == false;
    }

No se te puede ayudar mas por que no compartes el resto de la información
Saludos.