Hy,
I have a problem in my project. I have a temperature monitoring system. When the temperature drops below a certain value, I want a critical event to be triggered. I set the temperature from the Blynk application, but it doesn’t happen. I don’t want to deal with automation. I didn’t even exceed the limit of 100 events/day. In a single day, the events worked.
I also attach part of my code, I’m making a mistake somewhere but I can’t find the problem.
Thank you in advance
int setTemperaturaLow01;
int setTemperaturaHigh01;
int setTemperaturaLow02;
int setTemperaturaHigh02;
int setTemperaturaLow03;
int setTemperaturaHigh03;
void checkNetwork()
{
if ( radio.available(&pip) )
{
// Fetch the payload, and see if this was the last one.
pload_width_now = radio.getDynamicPayloadSize();
// If a corrupt dynamic payload is received, it will be flushed
if(!pload_width_now){
}
else
{
radio.read( rx_buf, pload_width_now );
newdata=1;
// Spew it
Serial.print(F("Data on pip= "));
Serial.print(pip);
Serial.print(F(" Got data size="));
Serial.print(pload_width_now);
Serial.print(F(" data="));
for(byte i=0; i<pload_width_now; i++)
{
Serial.print(" ");
Serial.print(rx_buf[i]); // print rx_buf
}
Serial.print(" ");
}
}
if(newdata==1)
{
newdata=0;
if(pip==1&&pload_width_now==sizeof(transmitter1_data))
{
memcpy(&transmitter1_data, rx_buf, sizeof(transmitter1_data));
Blynk.virtualWrite(13, transmitter1_data.A);
Blynk.virtualWrite(14, transmitter1_data.B);
Blynk.virtualWrite(15, transmitter1_data.C);
Blynk.virtualWrite(16, transmitter1_data.D);
Serial.print("transmitter1_data.temp1 = ");
Serial.println(transmitter1_data.A);
Serial.print("transmitter1_data.umid1 = ");
Serial.println(transmitter1_data.B);
Serial.print("transmitter1_data.volt1 = ");
Serial.println(transmitter1_data.C);
Serial.print("transmitter1_data.batPercent1 = ");
Serial.println(transmitter1_data.D);
//Blynk.virtualWrite(V24,time);
int temp1;
temp1 = transmitter1_data.A;
if (temp1 < setTemperaturaLow03)
{
Blynk.logEvent("temperatura_joasa03", String("Temperatura mica detectata! Tº: ") + temp1);
}
if (temp1 > setTemperaturaHigh03)
{
Blynk.logEvent("temperatura_ridicata03", String("Temperatura mare detectata! Tº: ") + temp1);
}
}
}
BLYNK_CONNECTED() {
Blynk.syncAll();
}
BLYNK_WRITE(V9)
{
int setTemperaturaLow01 = param.asInt();
}
BLYNK_WRITE(V10)
{
int setTemperaturaHigh01 = param.asInt();
}