Device changed its status to offline. WHY?

My E0 communicated with the cloud at 3:05 and 5:05 successfully this morning then for some reason the console is showing it is off line. The status LED just blinks cyan, never connects to the cloud. I have the SystemMode set to AUTOMATIC and the SYSTEM_THREAD(ENABLED). What could have caused it to go offline? This device is marked as in developer mode.
It is device ID: 4a002b000851383133363636
Recently, my programmer for four years had a career change so I am having to learn more about the inner workings of the particle system. I’d appreciate your help on this issue.

To me it appears like this device is trying to connect to the cloud because the status LED is steadily blinking cyan. Our other E0 products are hot having problems connecting to the cloud. I don’t know why Particle would mark this particular device offline. I am monitoring it to test the cooling system I have built for it. Its operating system is 1.5.2

deleted this post

Particle does not mark it as offline - when a device does not check in for a prolonged period the cloud has to assume the device is offline as it wouldn’t know any better.
And, when the device is blinking cyan - not breathing- the device is offline as far the cloud is concerned.

Have you observed the cyan blinking for a longer time?
Could it be that there are some orange/red blinks interspersed every few minutes?
That would indicate a issue with the encryption keys become outdated.

Also without seeing your code it’s hard to tell what may be the reason.
We have seen well meant coders trying to call Particle.connect() over and over which actually is counter productive.

The E0 woke up and reset itself at 3:05 AM and sent some data. Then again at 5:05 AM. Then it was scheduled to wake up each hour and send data. No data was recorded during that period. When I started observing it at 9:00 AM the LED only flashed cyan steadily, no other colors. After reading your message a few minutes ago, I decided to reset the E0. It connected to the cloud right away. Since then, I have it scheduled to wake up every 12 seconds. I have observed that twice it stopped “breathing” cyan and flashed orange briefly. Then it would re-connect. What do you mean the encryption keys become outdated? Is there something I need to do to fix this? Can you explain this to me please, or send me a link I can learn more about this? I am also observing that sometimes the status LED goes back to flashing green, then Cyan again and reconnects. Maybe my signal is too weak at 34% here?
Thanks for responding so quickly.

A bad signal could account for the single orange flash
https://docs.particle.io/tutorials/device-os/led/electron/#red-blink-basic-errors

There you can also find info on how to “refresh” the keys.

Thank you, ScruffR,
It is helpful to know that Particle did not set it to an offline status. I think the weak signal is the issue. We never have a “good” signal down in the valley where my lab is located. I am thinking that I might need to implement a reset function if the E0 is unable to connect after a reasonable length of time. I think this would re-establish communication encryption keys that were corrupted by poor signals, and give the E0 an opportunity to start out fresh again. Do you think that is an acceptable idea?

It might be a workaround for some cases, but this won’t be proper fix IMO.

Hi ScruffR,

In our mobile application (on the side of a truck or tank trailer), the E0 can be out of cell phone range or have poor reception for hours or even days, but periodically (between 2 minutes and 23 hours) it will wake itself up and try to send data. I am thinking that I would have the device try to reach the cloud to send its data, but if it can’t reach the cloud, it would reset itself and go back to sleep. That way, if the communications were corrupted, at least the reset would give them a new start for the next try.

Yesterday, when I started this post on the forum, the device was only out of contact with the cloud at the most an hour and Particle listed it as offline. I wonder why. In previous days it had no problem being asleep for as much as 23 hours and it was never given the status of offline. It seems to me that some corrupt communications with the cloud must have earned its offline status. My question is once the E0 is back in range with good reception, and it tries to connect to the cloud, how long will it take for Particle to see that it is no longer “offline?”

Also, what would be a proper fix in your opinion for this application?
Thanks
Tom

As soon the cloud gets an active transmission from your device it will be marked online.
A try to connect cannot be considered online tho’

There are many ways to skin this cat, but I guess this would be best discussed in a support ticket filed at support.particle.io