Problem: Unwanted Device Vitals & Diagnostics Events

I have a Xenon that is set up to publish a piece of data, then go into stop mode via System.sleep(D2,RISING,30); for 30 seconds followed by waking up and repeating.

I use Particle.publish for the data. It works great, but when I view the api where my data is being published, I notice weird stuff. Rather than seeing a data point being published about every 30 seconds. I see a variation of the following 1 data point published, followed by the device vitals diagnostics being published, followed by a second vitals diagnostics post, followed by another data point being published. Finally, my device goes into the stop mode again.

Sometimes, instead of data, diagnostics, diagnostics, data… I get data, diagnostics, data, diagnostics… Other times I get another variation. Sometimes it isn’t all four, it may be 3 publishings or 5. It is very random.

I need the system to only publish one data point, and not publish the diagnostics. This occurrence is killing my battery life.

PLEASE HELP!!!

:+1:
I do remember another thread where a means to disable auto-publishing of vitals was a requested feature, but I can’t currently find it.

@rickkas7, any input on that?

Yes, there will be a setting to adjust the frequency of device vitals in the future.

On cellular devices if you use SLEEP_NETWORK_STANDBY with stop mode sleep (pin+time) the device vitals event is not generated, but I don’t think that works on the Xenon. You might want to try it, just in case it does.

Any update on this? I too would like to be able to control diagnostic events rather than having DeviceOS publish them periodically.

With SYSTEM_MODE(MANUAL) in a highly power constrained setting, having the OS publish vitals automatically is not good.

Bump. I too would like to know how to completely disable the device vitals transmissions. I know there is a “Particle.publishVitals()” with “0 - Publish a final message and disable periodic publishing”, but since my Electrons do a complete reset every ~10 minutes after transmitting my data (they use the lowest power sleep mode, so reset is the only way to wake up), the vitals would still be transmitted even if I call Particle.publishVitals(0) on boot according to the doc. These diagnostic data are not useful for us, and they use more cellular data and power than my actual data use, forcing us to increase our cellular data cap.

Don’t want to start a new thread for the same problem.

1 Like

There is currently no way to turn it off entirely, but it’s a completely reasonable request that has been so noted.

However, at 10 minutes you are on the border of whether it make sense to use stop mode sleep + SLEEP_CELLULAR_STANDBY vs. lowest current. When using stop + standby the device uses more idle current, but is able to wake, publish, and sleep in less than 2 seconds. The increased idle current can be offset by the reduced time to reconnect. And it does not publish vitals.

But it still would make sense to have a no vitals option, which does not currently exist.