I have some problems with the notifications from the new Blynk app.
My problem is that I receive only the “offline” notification with sound and pop-up message on my mobile phone, for the rest of the notifications I can see it on the Timeline and on the notifications tab in the mobile phone but without sound and pop up message, and another one think is that I can see notifications in the mobile phone app but these notifications are missing on the desktop timeline and they shows them several minutes later.

I’m a very newbie with Blynk, C++…
The code below is not written by me, the code works fine with the “old” blynk app.
It monitors the water level in a tank and sends an alert when the water level falls below a certain level.

Thanks in advance!

// Fill-in information from your Blynk Template here
#define BLYNK_TEMPLATE_ID "xxxxxxxxxxxx"
#define BLYNK_DEVICE_NAME "xxxxxxxxxxxx"

#define BLYNK_FIRMWARE_VERSION        "0.1.0"

#define BLYNK_PRINT Serial
//#define BLYNK_DEBUG

#define APP_DEBUG

// Uncomment your board, or configure a custom board in Settings.h

#include "BlynkEdgent.h"
#include <SimpleTimer.h>
#include <Wire.h>

SimpleTimer timer1; // for TOF10120 Sensor
SimpleTimer timer2; // for counting seconds and minutes

// for TOF10120 Laser Rangefinder Sensor

unsigned char ok_flag;
unsigned char fail_flag;
unsigned short lenth_val = 0;
unsigned char i2c_rx_buf[16];
unsigned char dirsend_flag=0;
int x_mm; // distance in millimeters
int Sensor_actual_value; 
float y_inches; // distance in inches

int secs; 
int minutes;
int hours;

int litresOfWater;
int distanceToWater;

void setup()


  timer1.setInterval(1000L, TOF10120);
  timer2.setInterval(1000L, Time_check);

void loop() {; // Initiates SimpleTimer;;

void TOF10120()
     x_mm = ReadDistance();
      Sensor_actual_value = x_mm;
        litresOfWater = 1290 - Sensor_actual_value;
        distanceToWater = Sensor_actual_value / 10;
x_mm = map(x_mm, 0,600,100,0);
   // Serial.print(" mm");

   Blynk.virtualWrite(V5,Sensor_actual_value / 10);
   Blynk.virtualWrite(V6,1290 - litresOfWater);
   Blynk.virtualWrite(V7,litresOfWater * 1);
   Blynk.virtualWrite(V8,litresOfWater * 2);

int serial_putc( char c, struct __file * )
  Serial.write( c );
  return c;
void SensorRead(unsigned char addr,unsigned char* datbuf,unsigned char cnt) 
  unsigned short result=0;
  // step 1: instruct sensor to read echoes
  Wire.beginTransmission(82); // transmit to device #82 (0x52), you can also find this address using the i2c_scanner code, which is available on
  // the address specified in the datasheet is 164 (0xa4)
  // but i2c adressing uses the high 7 bits so it's 82
  Wire.write(byte(addr));      // sets distance data address (addr)
  Wire.endTransmission();      // stop transmitting
  // step 2: wait for readings to happen
  delay(1);                   // datasheet suggests at least 30uS
  // step 3: request reading from sensor
  Wire.requestFrom(82, cnt);    // request cnt bytes from slave device #82 (0x52)
  // step 5: receive reading from sensor
  if (cnt <= Wire.available()) { // if two bytes were received
    *datbuf++ =;  // receive high byte (overwrites previous reading)
    *datbuf++ =; // receive low byte as lower 8 bits
int ReadDistance(){
    return lenth_val;

void Time_check()
  secs = secs + 1;
  if ( secs >= 59 )
    minutes = minutes + 1;
    secs =0;
    if(minutes == 5) // notification message is sent after every 2 minutes, change this number as per your requirement
      if (Sensor_actual_value > 500) // if the tank is almost empty
        secs = 0;
        minutes = 0; 
          if (Sensor_actual_value < 300) // if half filled or the tank is full
       secs = 0;
        minutes = 0; 

Hello. Android/ios?


Any Idea what is wrong and I don’t receive the notifications on the mobile phone?