Blynk and Nextion

I think I’ve found something worth looking at: It’s the way the two DS18B20 are set (resolution) and how they are interrogated (blocking).

According to the datasheet (https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf table on page 3) it takes 750ms (!) (at 12 bit resolution) to get the temperature.

take_temp_readings() is called once per second (not sure if that is practically necessary). This is close to the time it takes to read the temperature from the sensors.

What I would change in the first place:

void take_temp_readings() 
{
  [...]
  //Serial.println();     
  tanktemp = DS18B20.getTempCByIndex(0);
  sumptemp = DS18B20.getTempCByIndex(1);
  DS18B20.requestTemperatures(); 
  
  [...] 
}
void setup()
{
  [...]
  DS18B20.begin(); 
  DS18B20.setResolution(Probe01,10);  
  DS18B20.setResolution(Probe02,10);
  
  DS18B20.setWaitForConversion(false); // make reading NON blocking
  DS18B20.requestTemperatures();       // start conversion for first reading 
  
  [...]
  
  timer.setInterval(2000L, take_temp_readings);  // Setup a function to be called every 2 seconds

  [...]
}//--(end setup )---