I've been assuming that any time a Standard Metric gets "set", the OVMS sets in motion an update of that metric sending the data to the server promptly.
Similarly, I've assumed that any time I "check" (e.g. in an if(metricname.asbool()) statement, this may trigger a download data check (and delay) from the server.
None of this is clear from any documentation I've read.
Based on my assumptions, and seeing that THINKCity vehicle updates most of its metrics at the CAN message level (i.e. about every 200ms), I'm guessing I could save up to 80% of the data traffic by moving these to the one second ticker. Similarly, I assume I should not be comparing the state of an actual metric in these 200ms updates.
I did make some changes along these lines and I "think" that the data load has reduced quite a lot---but I don't want to commit changes without some corroboration about all of this.
Any thoughts and guidance on this?
Thanks much!
-Myles Twete, Portland
Depends on whether you are talking about v2 or v3 servers.
For v3, the MQTT channel pretty much mimics the real live data.
For v2, without an App connected, metrics are sent every 10 minutes. With an App connected they are sent every 1 minute. They are also sent every time an App connects.
Thanks Mark.
Yes, I am using v2 server.
I think I need more clarification here in terms of an answer.
I do see the once-per-minute updating when I look at 12v Battery History data --- clearly 5 discrete data points for each 5 minute period.
But AFAIK, that may simply mean that the server "sends" updates to the App at a 1x per minute rate, while perhaps getting 12v data sent from the box to the server much more often.
Q1: If a particular Standard Metric gets updated "in the CAN message handler firmware" every 200ms, does the firmware send this metric to the server every 200ms, 1sec, 10sec or 60sec?
Q2: If a Standard Metric is checked (e.g. say in Ticker1) does this download data from the server each time or is the metric value grabbed locally?
I'm not a real software expert, so consider that---have done some embedded design over the years, but it was never that complicated.
My main interest is to reduce SIM data costs. I have had SIM sessions (7hours) that have recorded as much as 1.5-2Mbytes! These tended to be charging sessions with Standard Metrics being updated every 200ms and 1sec for a handful of them. My thought then was that I'd save SIM data costs by saving local copies of the raw or calculated values for these metrics, then to save to the Standard Metric at Ticker1 or Ticker10.
Recommendations welcome.
-Myles