Leitura de condição somente quando chamada

Boa noite pessoal, estou com uma duvida na minha programação, tenho um controlador para minha cistarna mas ele tem um delay muito grande por causa do loop que fica rodando e atrazando o sinal, teria como fazer a condicão so rodar quando houver alguma mudanca nas entradas.

Eu uso o If para controlar 5 condiçoes e um else caso nenhuma seja atendida, e isso fica rodando no loop o tempo todo,

if (CISTERNA20 == HIGH) {
Serial.println(“CISTERNA20”);
Firebase.setString(“CISTERNA”,“20”);
}

if (entrada11 == HIGH && entrada10 == HIGH) { // compare the input of led status received from firebase
Serial.println(“CISTERNA40”);
Firebase.setString(“CISTERNA”,“40”);
}
if (entrada11 == HIGH && entrada10 == HIGH && entrada9 == HIGH) {
Serial.println(“CISTERNA60”);
Firebase.setString(“CISTERNA”,“60”);
}
if (entrada11 == HIGH && entrada10 == HIGH && entrada9 == HIGH && entrada8 == HIGH) {
Serial.println(“CISTERNA80”);
Firebase.setString(“CISTERNA”,“80”);
}
if (entrada11 == HIGH && entrada10 == HIGH && entrada9 == HIGH && entrada8 == HIGH && entrada7 == HIGH) {
Serial.println(“CISTERNA100”);
Firebase.setString(“CISTERNA”,“100”);
}
else {
Serial.println(“CISTERNA VAZIA”);