Gestern überraschte mich HA mit der Meldung, das ihm der Festplattenspeicher knapp werden würde.
"Was ? Kann nicht sein" war mein erster Gedanke. Immerhin hatte ich HA damals 100 GB zugewiesen. Die können doch unmöglich voll sein.
Im Internet fand ich dann einen Hinweis, wie man das prüfen kann. Den Weg kannte ich auch noch nicht.
Einstellungen -> System -> Reparaturen und dann rechts oben die 3 Punkte auswählen und "Informationen zum System".
Weit unten unter "Recorder" findet man dann die Datenbank und siehe da, die hat eine Größe von knapp 57 GB. Ufff
Unter Einstellungen -> System -> Speicher sieht man auch, wie voll die Festplatte ist und ja, 96 GB von 100 GB belegt ist nicht so toll.
Nun gut. Ich habe mir erst mal damit geholfen, das ich HA mal schnell 100 GB zusätzlich gegeben habe, was dank Proxmox überhaupt kein Problem war.
Aber das kann natürlich nicht die Lösung des Problems sein.
Nun bin ich ein Freund davon, gewisse Daten auch mal was länger zur Verfügung zu haben, so 2 - 3 Jahre wären da schon fein. Damit kann man dann auch mal die PV Produktion oder den Gasverbrauch mit den letzten Jahren vergleichen.
Also habe ich in der configuration.yaml den Eintrag
Da die Datenbank aber nun doch deutlich gewachsen ist und das in nur knapp 2 Jahren, kam mir der Gedanke, WAS speichert die Datenbank eigentlich alles und was davon ist unnütz ?
Ich habe z.B. den Müllkalender am laufen. Speichert die Datenbank etwas alle Abfuhrtermine und das über 3 Jahre ?
Wäre ja totaler Blödsinn.
Wurde eine Automatisierung am 21.03.2020 ausgelöst ? Vollkommen unwichtig.
Habe ich vor 5 Wochen mit dem Lichtschalter das Licht angemacht ? Interessiert doch gar nicht mehr.
Aber, wenn HA sowas tatsächlich in der Datenbank speichert, könnte man das ja vom Speichern ausschließen und die Datenbank damit eventuell deutlich kleiner machen.
Taucht also die Frage auf, WAS speichert HA alles in der Datenbank.
InfluxDB -> Explorer und.....
Mist, nach Entitäten kann man wohl nicht suchen.
Ich habe mir dann mal SQLite web installiert, um ein wenig in der Datenbank zu schnüffeln.
ACHTUNG !!! Wer keine Ahnung von Datenbanken hat, sollte da nichts machen. Das Risiko, sich die Datenbank zu zerschiessen ist zu groß.
Nun, ich bin da noch nicht allzu tief in die tiefen der Datenbank eingedrungen, aber meine Befürchtungen scheinen sich bewahrheitet zu haben.
Eine Abfrage der Tabelle "states" erbrachte 195.400.702 Ergebnisse. Die Abfrage dauerte auch mal eben über 3 Minuten.
Ohne den Aufbau der Tabelle bzw. der Datenbank zu kennen wird es schwer, da was vernünftiges raus zu lesen, aber was man sehen kann sind Einträge wie "23:13" oder "am: 05.10.2023" oder "on" bzw. "off".
Das sind genau so Einträge, wie ich meine, braucht kein Mensch über einen längeren Zeitraum. Ich muß jetzt nur noch rausfinden, zu welcher Entität dieser Eintrag gehört um diesen dann in der configuration.yaml in Zukunft vom Speichern in der Datenbank auszuschließen.
Daran werde ich die nächsten Tage arbeiten und euch davon Berichten, so das jeder von euch das Nachvollziehen und auch selbst bei sich Anwenden kann. Ich denke, der ein oder andere hat auch Interesse daran, gewisse Daten über einen längeren Zeitraum zu speichern.
"Was ? Kann nicht sein" war mein erster Gedanke. Immerhin hatte ich HA damals 100 GB zugewiesen. Die können doch unmöglich voll sein.
Im Internet fand ich dann einen Hinweis, wie man das prüfen kann. Den Weg kannte ich auch noch nicht.
Einstellungen -> System -> Reparaturen und dann rechts oben die 3 Punkte auswählen und "Informationen zum System".
Weit unten unter "Recorder" findet man dann die Datenbank und siehe da, die hat eine Größe von knapp 57 GB. Ufff
Unter Einstellungen -> System -> Speicher sieht man auch, wie voll die Festplatte ist und ja, 96 GB von 100 GB belegt ist nicht so toll.
Nun gut. Ich habe mir erst mal damit geholfen, das ich HA mal schnell 100 GB zusätzlich gegeben habe, was dank Proxmox überhaupt kein Problem war.
Aber das kann natürlich nicht die Lösung des Problems sein.
Nun bin ich ein Freund davon, gewisse Daten auch mal was länger zur Verfügung zu haben, so 2 - 3 Jahre wären da schon fein. Damit kann man dann auch mal die PV Produktion oder den Gasverbrauch mit den letzten Jahren vergleichen.
Also habe ich in der configuration.yaml den Eintrag
Code:
recorder:
purge_keep_days: 1100
Ich habe z.B. den Müllkalender am laufen. Speichert die Datenbank etwas alle Abfuhrtermine und das über 3 Jahre ?
Wäre ja totaler Blödsinn.
Wurde eine Automatisierung am 21.03.2020 ausgelöst ? Vollkommen unwichtig.
Habe ich vor 5 Wochen mit dem Lichtschalter das Licht angemacht ? Interessiert doch gar nicht mehr.
Aber, wenn HA sowas tatsächlich in der Datenbank speichert, könnte man das ja vom Speichern ausschließen und die Datenbank damit eventuell deutlich kleiner machen.
Taucht also die Frage auf, WAS speichert HA alles in der Datenbank.
InfluxDB -> Explorer und.....
Mist, nach Entitäten kann man wohl nicht suchen.
Ich habe mir dann mal SQLite web installiert, um ein wenig in der Datenbank zu schnüffeln.
ACHTUNG !!! Wer keine Ahnung von Datenbanken hat, sollte da nichts machen. Das Risiko, sich die Datenbank zu zerschiessen ist zu groß.
Nun, ich bin da noch nicht allzu tief in die tiefen der Datenbank eingedrungen, aber meine Befürchtungen scheinen sich bewahrheitet zu haben.
Eine Abfrage der Tabelle "states" erbrachte 195.400.702 Ergebnisse. Die Abfrage dauerte auch mal eben über 3 Minuten.
Ohne den Aufbau der Tabelle bzw. der Datenbank zu kennen wird es schwer, da was vernünftiges raus zu lesen, aber was man sehen kann sind Einträge wie "23:13" oder "am: 05.10.2023" oder "on" bzw. "off".
Das sind genau so Einträge, wie ich meine, braucht kein Mensch über einen längeren Zeitraum. Ich muß jetzt nur noch rausfinden, zu welcher Entität dieser Eintrag gehört um diesen dann in der configuration.yaml in Zukunft vom Speichern in der Datenbank auszuschließen.
Daran werde ich die nächsten Tage arbeiten und euch davon Berichten, so das jeder von euch das Nachvollziehen und auch selbst bei sich Anwenden kann. Ich denke, der ein oder andere hat auch Interesse daran, gewisse Daten über einen längeren Zeitraum zu speichern.