Seite 1 von 1

Fehlermeldung rrd4j invalid file Header

Verfasst: 9. Feb 2022 11:07
von Backbe01
Ich habe ein Problem, das mir bei einigen Items, gefühlt werden es immer mehr, folgende Fehlermeldung erscheint:

Code: Alles auswählen

2022-02-09 10:58:54.500 [ERROR] [d4j.internal.RRD4jPersistenceService] - Could not create rrd4j database file '/var/lib/openhab/persistence/rrd4j/Fritzdect200_Power1.rrd': Invalid file header. File [/var/lib/openhab/persistence/rrd4j/Fritzdect200_Power1.rrd] is not a RRD4J RRD file
Wenn ich in der Datei nachsehe, ist eine .rrd Datei für das entsprechende item angelegt und auch mit Daten befüllt (folgere ich aus der Dateigröße).

Ich habe alle Items über VSC angelegt. Hier z.B. das o.g. item:

Code: Alles auswählen

//Dect 200
Group                            gdect200                     "Dect200"                                 (gfritzbox)                     ["PowerOutlet"]
//String                           FRITZDECT200_Mode            "Modus"                                   (gdect200)                                                        {channel="avmfritz:FRITZ_DECT_200:192_168_178_1:087610216050:mode"}
//Contact                          FRITZDECT200_Locked          "Externes schalten"                       (gdect200)                                                        {channel="avmfritz:FRITZ_DECT_200:192_168_178_1:087610216050:locked"}
//Contact                          FRITZDECT200_DeviceLocked    "Tastensperre"                            (gdect200)                                                        {channel="avmfritz:FRITZ_DECT_200:192_168_178_1:087610216050:device_locked"}
Number:Temperature               Fritzdect200_Temperature1    "Temperatur"                              (gdect200)                      ["Temperature", "Measurement"]    {channel="avmfritz:FRITZ_DECT_200:192_168_178_1:087610216050:temperature"}
Number:Energy                    Fritzdect200_Energy1         "Gesamtverbrauch"                         (gdect200)                      ["Energy", "Measurement"]         {channel="avmfritz:FRITZ_DECT_200:192_168_178_1:087610216050:energy"}
Number:Power                     Fritzdect200_Power1          "Leistung"                                (gdect200)                      ["Energy", "Measurement"]         {channel="avmfritz:FRITZ_DECT_200:192_168_178_1:087610216050:power"}
Switch                           Fritzdect200_Outlet1         "Steckdose"                               (gdect200)                      ["Switch"]                        {alexa="Outlet", channel="avmfritz:FRITZ_DECT_200:192_168_178_1:087610216050:outlet"}
//Number:ElectricPotential         FRITZDECT200_Voltage         "Spannung"                                (gdect200)                                                        {channel="avmfritz:FRITZ_DECT_200:192_168_178_1:087610216050:voltage"}

Muss ich noch eine entsprechenden Header setzen und wenn ja, was ist da?? :lol:

Re: Fehlermeldung rrd4j invalid file Header

Verfasst: 9. Feb 2022 17:05
von udo1toni
Dass eine Datei angelegt ist, sagt noch nichts über ihren Inhalt aus. :) Und die Größe der rrd Dateien ist fix, das ist ja der Witz an rrd. Du könntest also allenfalls mit einem Editor oder einem rrd Viewer sicherstellen, dass die Dateien auch vernünftige Daten enthalten.
Welche Hardware und Software nutzt Du? Hast Du schon mal neu gestartet? Wenn Du die angemeckerten Dateien abfragst, bekommst Du dann sinnvolle Daten? Hast Du schon mal versucht, eine der angemeckerten Dateien zu entfernen?

Re: Fehlermeldung rrd4j invalid file Header

Verfasst: 10. Feb 2022 10:12
von Backbe01
Danke für die Rückmeldung.

Es läuft OH3.2. stable auf einem rpi 3b.

Neustart des Öfteren (siehe Reboot Thread):-)

Werte werden ganz normal angezeigt "kWh" "W". Es werden aber keine Diagramme im UI angezeigt wie bei anderen items (z.B. Temp.)

In VSC habe ich die items mal ausgeklammert und danach wieder eingefügt, keine Veränderung.

Im UI ist rrd4j als Standard ausgewählt.

Editor habe ich verwendet, Dateien sind, wie von dir vermutet, leer.

Lege ich den gleichen Channel in der UI an, kommt die gleiche Meldung:

Code: Alles auswählen

2022-02-10 10:11:16.654 [ERROR] [d4j.internal.RRD4jPersistenceService] - Could not create rrd4j database file '/var/lib/openhab/persistence/rrd4j/Test_FRITZDECT2001_Leistung.rrd': Invalid file header. File [/var/lib/openhab/persistence/rrd4j/Test_FRITZDECT2001_Leistung.rrd] is not a RRD4J RRD file

Re: Fehlermeldung rrd4j invalid file Header

Verfasst: 10. Feb 2022 19:28
von udo1toni
Hast Du die betreffenden rrd-dateien mal gelöscht?

Re: Fehlermeldung rrd4j invalid file Header

Verfasst: 11. Feb 2022 09:49
von Backbe01
Habe OH gestoppt, Dateien gelöscht, OH wieder gestartet... gleicher Fehler...

Re: Fehlermeldung rrd4j invalid file Header

Verfasst: 11. Feb 2022 11:07
von udo1toni
Und die Dateien wurden wieder angelegt? Strange...

Leider habe ich spontan keine Idee.

Re: Fehlermeldung rrd4j invalid file Header

Verfasst: 11. Feb 2022 11:20
von Backbe01
Wenn du schon keine Idee hast!! :-) werde die Frage mal in der Community posten. Mal sehen ob dort jemand das Problem kennt...

Für rrdj4 muss doch keine config angelegt werden, oder? Mir ist auch aufgefallen, dass zu 90% die dummy Items davon betroffen sind...

Re: Fehlermeldung rrd4j invalid file Header

Verfasst: 11. Feb 2022 13:07
von udo1toni
Nein, man muss für rrd4j keine Einstellungen vornehmen, so man nicht vom default Verhalten abweichen will.

Re: Fehlermeldung rrd4j invalid file Header

Verfasst: 16. Feb 2022 11:23
von Backbe01
So wie es aussieht lag es vermutlich an zwei Dingen:

1. Habe ich nachdem ich alle relevanten Dateien erstellt hatte, ein Backup über raspibackup gemacht. Mit diesem Backup habe ich dann weitergearbeitet. Es wurde mir in der Community gesagt, dass es keine gute Idee ist mit raspibackup Backups zu machen (vermutlich wegen ZRAM)

2. Beim einlesen der items ist dann der o.g. Fehler aufgetreten. Man vermutet, dass die sd Karte für 500 items nicht ausgelegt ist. Nachdem ich meine itemsanzahl auf das wirklich notwendige beschränkt hatte, kam auch keine Fehlermeldung mehr. (Naiv wie ich war, dachte ich mit OH§ wird alles besser und so habe ich einfach alle Channels (vor allem Wetter) eingepflegt. Das war anscheinend keine so gute Idee).

Ich habe nun ein Backup über opeb cli gemacht und das Backup auf eine Neuinstallation gespielt. Bis jetzt sieht es gut aus...

Re: Fehlermeldung rrd4j invalid file Header

Verfasst: 16. Feb 2022 12:51
von udo1toni
Grundsätzlich sollte openHAB auch mit tausenden Items klar kommen. Aber ja, die SD-Karte könnte da zum Flaschenhals werden, und Backup im Zusammenhang mit ZRAM ist ist tatsächlich auch nicht trivial. Daran haben die Entwickler leider nicht gedacht.
Ohne jetzt draufhauen zu wollen, habe ich bei einigen Leuten aus dem Entwicklerteam manchmal den Eindruck, dass sie so glücklich über eine Lösung eines Problems sind (hier Wearout der SD-Karte), dass sie nicht bereit sind, die negativen Folgen zu sehen (potenziell Datenverlust, wenn nicht ganz bestimmte Werkzeuge genutzt werden).
Und es wird dann so getan, als seien die Wege alternativlos (Danke, Angela) oder zumindest müsse der User dann halt sehen, wo er bleibt, weil er die empfohlenen Werkzeuge nicht einsetzt. Aber gerade was das Backup betrifft, ist Amanda halt noch nicht mal die zweite Wahl, sondern wird unter "ferner liefen" gelistet.
Und GNU/Linux heißt halt nicht "Du musst es exakt so wie ich machen", sondern es erlaubt viele Wege.
Und das sollte auch ein Werkzeug wie openHABian nicht grundsätzlich torpedieren, denn am Ende könnte es halt dazu führen, dass sich immer mehr Leute von openHABian abwenden, und openHAB lieber zu Fuß aufsetzen (ist auch nicht weiter schwer...), als die ganzen Fallen auszubügeln, die openHABian eingebaut hat.