Why I am not receiving an Email from blynk to extract data, and why there is no data been saved only live data shows

Before creating the topic

  1. Search forum for similar topics
  2. Check http://docs.blynk.cc and http://help.blynk.cc/
  3. Add details :
    • Hardware model + communication type. For example: Arduino UNO with Ethernet Shield
    • Smartphone OS (iOS or Android) + version
    • Blynk server or local server
    • Blynk Library version
    • Add your sketch code. :point_up:Code should be formatted as example below.

Simply paste your code between ``` If you don’t format your code, your topic can be deleted by moderators.

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SoftwareSerial.h>
#include <SimpleTimer.h>
 
WidgetLCD lcd(V2);
char auth[] = "WLCQTwSjJfyPxlotDnqYoTEgPreyNwRJ";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "MUBARAK";
char pass[] = "smile1234";

SimpleTimer timer;
 
String myString; // complete message from arduino, which consistors of snesors data
char rdata; // received charactors
String voltage;
double Power;
double Energy; 
double m1=7.2;
double m2=0.2;

 
int firstVal;  
// This function sends Arduino's up time every second to Virtual Pin (1).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void myTimerEvent()
{
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
  Blynk.virtualWrite(V1, millis() / 1000);
  
}
 
 
 
void setup()
{
  // Debug console
  Serial.begin(9600);
 
  Blynk.begin(auth, ssid, pass);
 
    timer.setInterval(1000L,sensorvalue1); 
 
}
 
void loop()
{
 
  
  
   if (Serial.available() == 0 ) 
   {
  Blynk.run();
  timer.run(); // Initiates BlynkTimer
   }
   
  if (Serial.available() > 0 ) 
  {
    rdata = Serial.read(); 
    myString = myString+ rdata; 
   // Serial.print(rdata);
    if( rdata == '\n')
    {
Serial.println(myString);
// new code
voltage = getValue(myString, ',', 0);
Power = m1* voltage;
Energy = Power * m2; 
  myString = "";
// end new code
    }
  }
 
}
 
void sensorvalue1()
{
 
    lcd.clear();
    lcd.print(0,0,"   Magic Mat      ");
    lcd.print(0,1,"Voltage=");
    lcd.print(8,1,voltage);
    lcd.print(10,1," V ");
    
    Blynk.virtualWrite(V3, voltage);
    Blynk.virtualWrite(V4, Power);
    Blynk.virtualWrite(V5, Energy);

 
}
 
//--------------------------------------------------------------------------- 
String getValue(String data, char separator, int index)
{
    int found = 0;
    int strIndex[] = { 0, -1 };
    int maxIndex = data.length() - 1;
 
    for (int i = 0; i <= maxIndex && found <= index; i++) {
        if (data.charAt(i) == separator || i == maxIndex) {
            found++;
            strIndex[0] = strIndex[1] + 1;
            strIndex[1] = (i == maxIndex) ? i+1 : i;
        }
    }
    return found > index ? data.substring(strIndex[0], strIndex[1]) : "";
}

I’d try writing integer or float values to V3, V4 & V5 instead of strings.

Pete.