Forum Navigation
Please or Register to create posts and topics.

Notificaciones solo sale una vez (solucionado)

Hola tengo todo actualizado y estoy haciendo pruebas, las notificaciones me salen pero solo una vez, tengo que resetear el mkr me vuelve a salir pero una vez. Antes metía este código y salia todas las veces que se produce la alarma, ahora parece que le falta código.

if (ReadInput (11) == LOW) {SetAlarm (8); }

A ver si me podéis echar una mano. Un saludo y gracias

Una vez una alarma se ha activado para poder enviar hay que hacer un reset de la misma.

Puedes hacerlo desde la web o por codigo en el propio mkr, esto seria un ejemplo, cuando la entrada activa envia la alarma, cuando no esta activa apaga y queda lista para un nuevo envio.

 

if (ReadInput(11)==LOW){ SetAlarm(8); }else{ResetAlarm(8);}

Muchas gracias así si que funciona. Tengo este codigo metido y va bien en la trajeta shield pero en la i2c  me esta dando siempre alarma o no da alarma he probado con varias entrada de la I2C  pero me pasa lo mismo.

if (OutHome ==true){

if (Inputs[0].InState > 0){
SetAlarm(0);
circuits[12].Value=1;// ON SIRENA
circuits[13].Value=1;// OFF LLAMADA SIM
}
else{ResetAlarm(0);}

if (Inputs[1].InState > 0){
SetAlarm(1);
circuits[12].Value=1;// ON SIRENA
circuits[13].Value=1;// OFF LLAMADA SIM
}
else{ResetAlarm(1);}

if (Inputs[2].InState > 0){
SetAlarm(2);
circuits[12].Value=1;// ON SIRENA
circuits[13].Value=1;// OFF LLAMADA SIM
}
else{ResetAlarm(2);}

if (Inputs[3].InState > 0){
SetAlarm(3);
circuits[12].Value=1;// ON SIRENA
circuits[13].Value=1;// OFF LLAMADA SIM
}
else{ResetAlarm(3);}

if (Inputs[4].InState > 0){
SetAlarm(4);
circuits[12].Value=1;// ON SIRENA
circuits[13].Value=1;// OFF LLAMADA SIM
}
else{ResetAlarm(4);}

if (Inputs[5].InState > 0){
SetAlarm(5);
circuits[12].Value=1;// ON SIRENA
circuits[13].Value=1;// OFF LLAMADA SIM
}
else{ResetAlarm(5);}

if (Inputs[6].InState > 0){
SetAlarm(6);
circuits[12].Value=1;// ON SIRENA
circuits[13].Value=1;// OFF LLAMADA SIM
}
else{ResetAlarm(6);}

if (Inputs[10].InState > 0){
SetAlarm(7);
circuits[12].Value=1;// ON SIRENA
circuits[13].Value=1;// OFF LLAMADA SIM
}
else{ResetAlarm(7);}

}

else{
ResetAlarm(0);
ResetAlarm(1);
ResetAlarm(2);
ResetAlarm(3);
ResetAlarm(4);
ResetAlarm(5);
ResetAlarm(6);
ResetAlarm(7);
circuits[0].Value=0;
circuits[1].Value=0;

}

if (Inputs[10].InState > 0) no existe...

Lo que tu necesitas es:

if (ReadInput(10)==HIGH){ }

 

Es mejor usar el metodo ReadInput para ver la entradas, que sirve para todas.... lo otro solo con la de la mkr shield.

Briconsejo... cuando uses el editor de código usa los menús superiores, los de los iconos de entradas salidas... ellos te ayudaran a usar los mejores metodos para cada caso , entradas, salidas, eeprom......

Mira la imagen adjunta

 

Uploaded files:
  • editor.png
caponovalle has reacted to this post.
caponovalle

Perfecto asi si funciona. Muchas gracias.

A