Default Persistence Service...
Habe ich gerade konfiguriert bringt allerdings auch keine Veränderung.
Da die Persistenz erst seit dem 20.11 läuft habe ich mal testweise vom 18. auf den 23. geändert...auch keine Veränderung.
Nimm bitte everyMinute mit in die Strategy rein. rrd4j braucht eine fixe Menge an Platz, das sollte also kein Problem sein. Ansonsten müssen wir weitersuchen. Du kannst bei historicState auch noch explizit die Datenquelle mit angeben:
Hm. Sieht ja erst mal so aus, als ob die Persistence nicht funktioniert. Du hast openHAB ja sicher schon mal neu gestartet.
Zum Testen kannst Du einen Chart auf der Sitemap anlegen und nachschauen, ob der Daten liefert.
Es müsste dann eine aufsteigende Linie zu sehen sein. Falls das nicht der Fall ist, müsstest Du die Datei officejet_totalcount.rrd im Verzeichnis /var/lib/openhab2/persistence/rrd4j/ (vorausgesetzt, es handelt sich um eine Standardinstallation) löschen und neu anlegen lassen (vorher openHAB beenden).
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
Die Persistence scheint einwandfrei zu funktionieren...habe mal 2 Seiten gedruckt.
Im zweiten Chart wird das Item "officejet_monthcount".
Wie zu erkennen ist wird kein Wert zugewiesen.
rule "Druckseite_add"
when
//System started or // Systemstart, Anzeige mit aktuellem Wert initialisieren
Item officejet_totalcount changed
then
val Integer nMonth = if(now.getDayOfMonth < 23) 1 else 0
val Integer nDays =now.minusMonths(nMonth).getDayOfMonth
val nDay = now.withTimeAtStartOfDay.minusMonths(nMonth).minusDays(nDays-23)
val Number nTcount = officejet_totalcount.state as Number
val nHcount = officejet_totalcount.historicState(nDay,"rrd4j").state
logInfo("print.count","nTcount={} nHcount={}",nTcount,nHcount)
officejet_monthcount.postUpdate(nTcount - nHcount)
end
Wobei ich sagen muss, dass ich die Varaible Hcount (wie von Dir beschrieben) nach nHcount geändert habe...
Die Log Ausgabe erscheint allerdings nicht...eventuell bricht es die Rule vorher schon ab?