What "Last Update" in device info mean?

Today at around 1:30pm, I checked Blynk web console, under “Device Info”, it shows “LAST UPDATED” as “7:13 AM Today” (aka 6 hours earlier), while the STATUS is still “Online”

Now I did configure a “Connection Lifecycle” where after “Disconnected from server”, wait 1 minute, it should switch to another status (and notify me). But that did not happen until 2pm (another 30 minutes), and all on its own (without intervention). I expect the “STATUS” should not remain “Online” for that long.

The “STATUS” and “LAST UPDATED” pair in “Device Info” work as expected to me normally (that is, if the Last Updated is more than 1 minute, most of the time, 2 minutes, it switches status). Anybody knows what could have caused this? I’ve done browser reload and used browser incognito mode to make sure this is not browser cached content.

Based on my own observations, “Last Updated” is the last time (to the nearest minute) when a datastream value changed on the Blynk server. This is the same as the “Last Reported At” value in the device list view, although I’m not sure why they have different names.

If you have a subscription that gives you access to the “Datastreams” tab in the device view then you’ll be able to see an “Updated At” column which shows the time to the last second when each datastream was updated. The “Last Updated” and “Last Reported At” values reflect the time when the most recent “Updated At” value for any datastream.

Lets say that you have a device that is online all the time (i.e it doesn’t utilise Deep Sleep) and takes a sensor reading every 10 minutes and uploads the result to Blynk. The “Last Updated” and “Last Reported At” values will show the last time that the device sent a new reading to Blynk, and if everything is working as expected then that should never be more than 10 minutes ago.

It’s worth noting that you need to refresh your browser for the “Last Updated” and “Last Reported At” values to be refreshed.

All of this is entirely separate to the On/Offline status of the device.
For example, I have a device that shows this:

image

The device is online, but the last time any of the datastreams was updated was over a month ago. This is 100% correct, as this device only reports when an exceptional situation occurs, and the last time that happened was on 6th February.

I assume from the way that you’ve phrased your question that your device is sending updated datastream values every few seconds, and that you assume that when the device stops sending data updates it also goes offline at exactly the same time. Of course that isn’t necessarily the dase. Depending on how your code is written, the device may be unable to read data from your sensor, but is still able to execute Blynk.run() and therefore keep its connection alive and remain online.

An example of this is the DHT.ino example in the Blynk library, where this function is called every second using a timer…

// This function sends Arduino's up time every second to Virtual Pin (5)
void sendSensor()
{
  float h = dht.readHumidity();
  float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit

  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
  Blynk.virtualWrite(V5, h);
  Blynk.virtualWrite(V6, t);
}

As you can see, if the humidity and temperature readings aren’t valid numbers (NAN) then a “Failed to read…” message will appear in the serial monitor, but no data will be uploaded to Blynk.
The device could stay online indefinitely, even though the DHT sensor has stopped working and no readings are being sent.

The delay between the device actually going offline and it being recognised as being MIA by the Blynk server will depend on the Heartbeat Interval that you have defined for your device. The longer the interval, the longer it will take for the Blynk server to realise that the device hasn’t checked-in recently.

If you’re having issues with data not being sent to Blynk and the device going offline regularly then you may have issues with your code. Maybe you should post your sketch if this is the case.

Pete.

1 Like

@electricgerm Please send me a link to your device via private message. I’ll check.

That’s correct.

It’s a bug. I created an internal ticket. Previously it was actually “updated at” meaning (either metafield, either datastream, or other device fields were updated, but not anymore). Now it’s actually “Last Reported At”.

1 Like