IoT variable update delayed

I've been using the IoT cloud to receive temperature readings without issue for about three months now, but a few days ago I noticed that the "last updated" time was a few hours late.
A brief investigation revealed that the variable continues to be updated every 10 minutes, but the IoT cloud is showing older readings. So at 3:00 the value for 12:30 will be displayed, then at 3:10 the value for 12:40 will be displayed, etc. After a few days of this the delay is approaching 5 hours.
The graph displays in the dashboard continue to show the correct values and times, down to the most recent sync.
Is this a problem with the IoT cloud, or is it something that I can fix on my end?

Brief technical details:
Using a MKR GSM 1400. The device wakes up every 10 minutes, reads the temperature, syncs, then sleeps again.
I noticed a similar problem about a month ago, though this resolved itself in only a few hours.

Hi Yandi
Are you sure? Are you looking at the live tab on the graph widget? The other tabs are delayed before update I think(?)
Also, which time are you checking? The graph c-axis is in your local time but the points are shown with UTC if you select them as in the attached (I am at UTC+10)

Hi there!
Yep, it sounds weird, but that's the case. The "live" tab doesn't display anything, but every other tab displays all the updates to the most recent. The "value" widget in the dashboard displays the same delayed value that is erroneously reported as the latest update.


I forgot to mention, but publishing an update via the API will change the value for about a second until it is somehow reset to the previous value. The graphs retain the self published updates however.

Hmm :thinking:
Do you have the variable defined as read only or as read/write?
Live should update on the chosen frequency - or is it ‘on change’? But it should update.
Are you ‘syncing’ the variable with another thing? (I have a moisture device updating the dashboard and syncing it to on Opla display. Variable setup needs care and understanding.)

It's a read only variable, but switching it around doesn't seem to accomplish much. It should be updating periodically, and it's not synching to anything else.
Mousing over the status light correctly shows the last activity, but the last update will diligently display an old value.


The historic data contains no errors as far as I can see.

Also, the "Last Update" (and value) is now about 7 hours old, so I think that time zone differences can be safely ruled out.

Hi Yandy
I am not sure if I can help you more. I don’t know if there’s a support Helpdesk from Arduino themselves? This looks like it is into the design/operation of their cloud service.
I’ll look at some of my dashboards and see if I have similar issues.

There is. You can contact them via this form:
https://www.arduino.cc/en/contact-us

1 Like

No worries, and thanks for trying! It's certainly got me flummoxed. I mainly posted to see if anyone had encountered a similar problem before.

I've sent off a support request, and I'll post the reply here if it solves things.

2 Likes

I am having the exact same problem. It has worked great for months, no code has changed. I'm also reading temperatures.

The readout of my three temperature readings are always wrong and seriously out of date. The graph is always correct and I can either wait several minutes and hope the readout will update or toggle the graphs from "1 hour" to "1 day" and back, I might be imagining it but it seems to make the readout correct itself faster.

After it finally updates, (regardless of phone app or web browser) if I refresh or force an update the values go back to being seriously out of date and the dance starts again. It hasn't been fun to see a readout of 1500 degrees and then realize it's actually only 200 because the readout is stuck in the past and refuses to update.

If I just leave the app running after it corrects itself it works great and will quickly show changes in temperature.

1 Like

Hi all, thank you for reporting the issue.. we found the root cause of the problem and fixing it.. the last values will return up to date in a few hours from now.

1 Like

It works perfectly now! Thank you very much.

2 Likes

Good to hear it!

The situation is back to normal since 00:20 UTC.

1 Like

Hi, Wrong post? I don't know but I can't find info on my problem but this thread looks close to it. I am turning leds on and off and that works fine. It will show the correct led and switch states on one pc (The one I toggled the switches on.) If I log onto iot cloud from another pc or phone, it will not show the true switch or led states. I thought it should update states any time you log onto iot cloud dashboard?Please...... any ideas. Thank you.

Issue is still there for me.

I have two things (Arduino MKR 1010 + Arduino RGB Led Shield) and when I do turn them on/off, change color or brightness from my dashboard (either using the Arduino App or the browser), I experience serious synchronization problems.

Displayed "values" on the dashboard do keep jumping all over the place between old values, current values and fully "grayed out" things.

The most common occurrence of this problem is that values (e.g. brightness and color) are propagated correctly down to the thing but then the dashboard jumps straight back to the previous values... it looks like it cannot read its own changes to the read&write variable.

But if you wait long enough (and I mean something like half a hour to a hour ) than it will eventually converge/display the right settings.

Currently, it's a true nightmare operating the shields from the dashboard using the browser or the Arduino App (both do misbehave in exactly the same way).

EDIT:

After a couple of days the situation got much better.

Most probably something bad was going on in the cloud.

Currently, both Things are 100% responsive and the reported values in my dashboard do not jump all over the place anymore (I can interact with both Things with alexa, the arduino app and the dashboard without synchronization problems of any kind).

I'm getting the same behaviour. My LED and Serial Monitor are reporting that I am syncing to Cloud, but the data is not updating (Timed 1s). It does however show my device as connected.

Hi jsword1,

I know that the IoT cloud had a partial outage within the Arduino IoT Cloud platform over the last few days, but this has now been rectified - see my post HERE

However, it should be noted that when you have a connection to the cloud this does not mean data transfer will occur! Data transfer only occurs after you see the following debug messages -

ArduinoIoTCloudTCP::setTimeZoneData tz_offset: [-14400]
ArduinoIoTCloudTCP::setTimeZoneData tz_dst_unitl: [1667714400l]

Note: you will need to set the cloud to debug level to 4 with the Setup loop as shown below -

setDebugMessageLevel(4);

HTH?

Hi @robrs,

I was referring to a SYNC event, but I am getting the TimeZone messages as well. Still no updates:

23:25:46.409 -> ArduinoCloud.update
23:25:54.409 -> 
23:25:54.409 -> ArduinoCloud.update
23:25:55.095 -> Connected to Arduino IoT Cloud
23:25:55.095 -> Thing ID: XXXXXXXXXXXXXXXXXXX
23:25:55.097 -> Event CONNECT
23:26:03.104 -> 
23:26:03.104 -> ArduinoCloud.update
23:26:11.079 -> 
23:26:11.079 -> ArduinoCloud.update
23:26:11.079 -> ArduinoIoTCloudTCP::setTimeZoneData tz_offset: [36000]
23:26:11.079 -> ArduinoIoTCloudTCP::setTimeZoneData tz_dst_unitl: [4294967295l]
23:26:11.079 -> Event SYNC

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.