It would normalize the default strategies across all the persistence add-ons. It would prevent us old timers from assuming that everyMinute is still required.
In the docs we do need to capture that a record is recorded every 20 seconds because that impacts whether and how many of the Persistence actions work (e.g. lastUpdate). If a user is assuming that values are saved every minute but rrd4j is saving every 20 seconds lastUpdate will never return a timestamp more than 20 seconds ago and confusion will result.
Out of curiosity I queried one of my Items that updates periodically but definitely longer than every 20 seconds.
I’m getting records every 60 seconds, which is what I would expect with an everyMinute strategy. Does the REST API not return the records that rrd4j writes itself inbetween entries?
Now I’m really confused.
{
"time": 1675357860000,
"state": "42.0"
},
{
"time": 1675357920000,
"state": "41.050000000000004"
},
{
"time": 1675357980000,
"state": "41.0"
},
{
"time": 1675358040000,
"state": "41.0"
},
{
"time": 1675358100000,
"state": "41.0"
},
{
"time": 1675358160000,
"state": "41.0"
},
{
"time": 1675358220000,
"state": "41.0"
},
{
"time": 1675358280000,
"state": "41.0"
},
{
"time": 1675358340000,
"state": "41.0"
},
{
"time": 1675358400000,
"state": "41.0"
},
{
"time": 1675358460000,
"state": "41.0"
},
{
"time": 1675358520000,
"state": "41.0"
},
{
"time": 1675358580000,
"state": "41.0"
},
{
"time": 1675358640000,
"state": "41.0"
},
{
"time": 1675358700000,
"state": "41.0"
},
{
"time": 1675358760000,
"state": "41.0"
},
{
"time": 1675358820000,
"state": "41.0"
},
{
"time": 1675358880000,
"state": "41.0"
},
{
"time": 1675358940000,
"state": "41.0"
},
{
"time": 1675359000000,
"state": "41.0"
},
{
"time": 1675359060000,
"state": "41.0"
},
{
"time": 1675359120000,
"state": "41.0"
},
{
"time": 1675359180000,
"state": "41.0"
},
{
"time": 1675359240000,
"state": "41.0"
},
{
"time": 1675359300000,
"state": "41.0"
},
{
"time": 1675359360000,
"state": "41.0"
},
{
"time": 1675359420000,
"state": "41.0"
},
{
"time": 1675359480000,
"state": "41.0"
},
{
"time": 1675359540000,
"state": "41.0"
},
{
"time": 1675359600000,
"state": "41.0"
},
{
"time": 1675359660000,
"state": "41.0"
},
{
"time": 1675359720000,
"state": "41.0"
},
{
"time": 1675359780000,
"state": "41.0"
},
{
"time": 1675359840000,
"state": "41.0"
},
{
"time": 1675359900000,
"state": "41.0"
},
{
"time": 1675359960000,
"state": "41.0"
},
{
"time": 1675360020000,
"state": "41.0"
},
{
"time": 1675360080000,
"state": "41.0"
},
{
"time": 1675360140000,
"state": "41.0"
},
{
"time": 1675360200000,
"state": "41.0"
},
{
"time": 1675360260000,
"state": "41.0"
},
{
"time": 1675360320000,
"state": "41.0"
},
{
"time": 1675360380000,
"state": "41.0"
},
{
"time": 1675360440000,
"state": "41.0"
},
{
"time": 1675360500000,
"state": "41.0"
},
{
"time": 1675360560000,
"state": "41.0"
},
{
"time": 1675360620000,
"state": "41.0"
},
{
"time": 1675360680000,
"state": "41.0"
},
{
"time": 1675360740000,
"state": "41.0"
},
{
"time": 1675360800000,
"state": "41.0"
},
{
"time": 1675360860000,
"state": "41.0"
},
{
"time": 1675360920000,
"state": "41.0"
},
{
"time": 1675360980000,
"state": "41.0"
},
{
"time": 1675361040000,
"state": "41.0"
},
{
"time": 1675361100000,
"state": "41.0"
},
{
"time": 1675361160000,
"state": "41.0"
},
{
"time": 1675361220000,
"state": "41.0"
},
{
"time": 1675361280000,
"state": "41.0"
},
{
"time": 1675361340000,
"state": "41.0"
},
{
"time": 1675361400000,
"state": "41.0"
},
{
"time": 1675361460000,
"state": "41.0"
},
{
"time": 1675361520000,
"state": "41.0"
},
{
"time": 1675361580000,
"state": "41.0"
},
{
"time": 1675361640000,
"state": "41.0"
},
{
"time": 1675361700000,
"state": "41.0"
},
{
"time": 1675361760000,
"state": "41.0"
},
{
"time": 1675361820000,
"state": "41.0"
},
{
"time": 1675361880000,
"state": "41.0"
},
{
"time": 1675361940000,
"state": "41.0"
},
{
"time": 1675362000000,
"state": "41.0"
},
{
"time": 1675362060000,
"state": "41.0"
},
{
"time": 1675362120000,
"state": "41.0"
},
{
"time": 1675362180000,
"state": "41.0"
},
{
"time": 1675362240000,
"state": "41.0"
},
{
"time": 1675362300000,
"state": "41.0"
},
{
"time": 1675362360000,
"state": "41.0"
},
{
"time": 1675362420000,
"state": "7.7272448979591815"
},
Assuming that we don’t need the everyMinute strategy and the REST API only returns values that OH has directly persisted itself, eliminating the everyMinute would mean the Persistence actions would work closer to what one would expect.
Though the carts will look bad so maybe that’s why everyMinute is in the default strategy?