Seite 1 von 1

OH3.1 Persistence RRD4J

Verfasst: 10. Jul 2021 18:39
von kleinernasworld
Hallo zusammen,

ich habe merkwürdige Probleme mit dem Persistence Service RRD4J in OH3.1

Sporadisch sehe ich im Log folgende Errors:
[ERROR] [d4j.internal.RRD4jPersistenceService] - Could not create rrd4j database file '/var/lib/openhab/persistence/rrd4j/eSmartMeterGesamtleistung.rrd': null

Das neu erstellte Item zeigt somit auch keine Werte an.
Alle anderen Items die über das Model erstellt werden "Create Points from Thing" funktionieren einwandfrei.

RRD4J ist natürlich auch als default ausgewählt und installiert.

Was mich auch wundert, sind die Zeitabstände.
Ich habe komischerweise immer nur jede 15 Minuten ein Wert in der Persistent (siehe Screenshot).

Folgende persistent nutze ich:

Code: Alles auswählen

Strategies {
    everyMinute : "0 * * * * ?"
    everyHour   : "0 0 * * * ?"
    everyDay    : "0 0 0 * * ?"

    default = everyChange

}


Items {
		 * : strategy = everyChange, everyDay, restoreOnStartup
		eSmartMeterGesamtleistung : strategy = everyChange, restoreOnStartup
}

Re: OH3.1 Persistence RRD4J

Verfasst: 11. Jul 2021 21:43
von udo1toni
eSmartMeterGesamtleistung ist offensichtlich ein Group Item. Wie ist das Group Item definiert? Ist es vom Typ Group:Number? Hast Du eine Aggregation definiert (z.B. SUM)?

Alternativ: Möchtest Du statt der Gruppe die Einzelitems persistieren? Dann müsstest Du an den NAmen des Group Items einen * anhängen:

Code: Alles auswählen

eSmartMeterGesamtleistung* : strategy = everyChange, restoreOnStartup
Dieser * sorgt dafür, dass nicht die Gruppe persistiert wird, sondern deren Member.

Was die Häufigkeit der Messwerterfassung betrifft: Du persistierst ausdrücklich nur beim everyChange. Falls das Item nur viertelstündlich aktualisiert wird, ist das Ergebnis zu erwarten.

Re: OH3.1 Persistence RRD4J

Verfasst: 12. Jul 2021 22:37
von kleinernasworld
Hallo Udo,

ja, es ist ein Group Item vom Typ:Number und Aggregation:SUM.

Ich möchte eigentlich "nur" von diesem Group Item die Verlaufswerte in einem Graph sehen.

Mittlerweile sehe ich auch minütlich die Werte (die Ansicht war auf einem Monat gestellt und ich habe immer nur alte Daten aus dem vorherigen Monat gesehen).
Der Graph bleibt aber trotzdem leer und die Fehlermeldung kommt immer noch sporadisch.

Viele Grüße
Dennis

Re: OH3.1 Persistence RRD4J

Verfasst: 12. Jul 2021 23:24
von udo1toni
Setze bitte mal die strategy (zusätzlich) auf everyMinute.

Re: OH3.1 Persistence RRD4J

Verfasst: 13. Jul 2021 22:51
von kleinernasworld
Du meinst quasi so:

Code: Alles auswählen

Items {
		 * : strategy = everyChange, everyDay, restoreOnStartup
		eSmartMeterGesamtleistung : strategy = everyChange, restoreOnStartup, everyMinute
}
Den Wert sehe ich nun auch menütlich in der RRD4J. Denke das passt soweit. Nur der Graph zeigt keine Werte.

Re: OH3.1 Persistence RRD4J

Verfasst: 13. Jul 2021 23:45
von udo1toni
und rrd4j ist der default persistence service?

Re: OH3.1 Persistence RRD4J

Verfasst: 14. Jul 2021 22:40
von kleinernasworld
Ja, sonst ist auch kein anderer installiert.
RRD4J steht auch als default.

Re: OH3.1 Persistence RRD4J

Verfasst: 15. Jul 2021 16:51
von udo1toni
Was Du noch versuchen könntest, ist, die rrd-Datei zu löschen (vorher openHAB am besten beenden). openHAB sollte die Datei dann automatisch neu anlegen, sobald neue Werte persistiert werden müssen.

Du findest die Datei in $OPENHAB_USERDATA/persistence/rrd4j/eSmartMeterGesamtleistung.rrd (aus dem Kopf... müsste aber passen)

Re: OH3.1 Persistence RRD4J

Verfasst: 17. Jul 2021 20:29
von kleinernasworld
Ich habe nun mal den OH Service gestoppt. Die Datei gelöscht und wieder gestartet.
Er legt die Datei sofort auch wieder neu an. Aber leider auch direkt wieder mit dem selben Fehler, obwohl er die Daten sauber in die Datei schreibt.
Ich verstehe es nicht ...