Konfigurieren Sie "Recorder", "History" und "LogBook" richtig ein Home Assistant

4 Minuten des Lesens

Etwas, das viele nicht wissen Es ist die enorme Wirkung, die Home Assistant - wie es gedacht ist - riskiert es aufgrund seiner Standardkonfiguration, sowohl seine eigene Leistung als auch den Zustand des Speichers, auf dem es installiert ist, zu beeinträchtigen.

Viele Benutzer von Home Assistant sich lange nach der Annahme beschweren, Ein Leistungsabfall bei der Abfrage der gesammelten historischen Datenreihen; andere, typischerweise ausgestattet mit Raspberry Pi Welchen Server soll der ausführen?HUBbeschweren sie sich Ich brecheprovvise der microSD (seiner "Festplatte"), auf der der Server installiert ist.

Datenbank

Der Punkt ist wie Daten im Dateisystem gespeichert werden des Festplattenlaufwerks. Home AssistantIn der Grundkonfiguration einfach alles rettenimmer für immer. Dies bedeutet, dass jede Änderung des Zustands von jedem Wesen wird sofort in die Datenbank der geschriebenHUB. Dies bedeutet, dass zum Beispiel die einfache Aktivierung der Komponente "Time & Date"Verursacht die Erzeugung einer Entität"Sensor"Was wiederum Hunderte, Tausende völlig nutzloser Datensätze in der Datenbank verursacht. Stellen Sie sich einen Thermosensor vor, der jede Minute einen Messwert sendet: An einem Tag sind die Minuten 1.440, an einem Monat 43.000. Und wenn ich 10-Sensoren habe? 430.000-Skripte in einem Monat, nicht schlecht. Und ob diese Sensoren auch relative Luftfeuchtigkeit senden? Dann lass uns hoch gehen 860.000-Skripte in einem MonatUnd dies nur für Wärmesensoren, ohne Berücksichtigung aller anderen Einheiten!

Aber woran liegt es? die Pausein der Regel von einem SD? Übermäßige Schreibaktivität, insbesondere bei hochwertigen Modellen. Wodurch wird die Datenbankabfrage verlangsamt? Übermäßige Redundanz und Datenmenge (Bauernhof, DBA-Benutzer: Es ist nur eine sehr allgemeine Aussage, ein Konzept zu verstehen, nicht aufwärmen, jaappNehmen wir an, das Thema ist etwas komplexer.

Home Assistant es ist aber gut gemacht, was durch die entsprechende Konfiguration der Komponente "Blockflöte„Um die negativen Auswirkungen einer übermäßigen Datenspeicherung erheblich zu begrenzen. Die KomponentenDas Unternehmen"Und"Logbuch„Stattdessen sind sie mehr als alles andere von der Konfiguration der oben genannten Komponente abhängig, aber da sie zur Datenvisualisierung verwendet werden, müssen sie auch richtig konfiguriert werden.

Was sind

Blockflöte”Ist die Komponente, die für die Aufzeichnung historischer Daten verantwortlich ist Home Assistant. Speichern Sie normalerweise alles in einer Datei mit dem Namen haus assistant_v2.db in dem Ordner vorhanden, in dem die Konfigurationsdateien derHUB und wird automatisch ausgefüllt. Es ist eine nicht ausschließbare Komponente (sie wird standardmäßig geladen), die jedoch so konfiguriert werden kann, dass angegeben wird, was und was nicht in der Datenbank gespeichert werden soll - und welche prohistorisches Fundament zu bewahren.

Das Unternehmen"Aktiviert einen Eintrag auf der Benutzeroberfläche Lovelace UI Dies ermöglicht eine grafische Darstellung des Fortschritts der Zustände der Wesen anwesend aufHUB. Wird es nicht verwendet, kann es ausgeschlossen werden.

Logbuch„Aktiviert schließlich einen Eintrag in der Lovelace-Benutzeroberfläche, mit dem Sie die Abfolge der Aktionen anzeigen können, die in der ausgeführt werdenHUB.

Blockflöte

Wie wir erwartet haben, ist "Recorder" keine unschlagbare Komponente, aber es ist natürlich konfigurierbar.
Dazu müssen Sie hinzufügen in der Konfiguration der Artikel:

recorder:

gefolgt von den Besonderheiten, die Sie implementieren möchten.

Mit "Recorder" können Sie erklären, was von den Domains ausgeschlossen und / oder eingeschlossen werden soll (Komponenten / Plattformen g. "Sensor","SwitchAuf sehr genaue Weise bei den Entitäten ankommen.

Schauen wir uns ein Beispiel an:

recorder:
  purge_keep_days: 7
  db_url: sqlite:////home/user/.homeassistant/test
  exclude:
    domains:
      - sensor
      - automation
      - script
    entities:
      - light.ingresso
  include:
    entities:
      - sensor.temperatura_sala

Das Feld "purge_keep_daysMsgstr "Dient dazu, die Datenbank rationalisiert und leistungsfähig zu halten. Geben Sie dieses Feld an, um das Verständnis zu erleichtern Home Assistant Nach wie vielen Tagen werden die gesammelten Daten gelöscht? In diesem Fall werden alle Daten gelöscht, die älter als eine Woche sind.

Das zweite Feld "db_urlDient zur Angabe, wo bzw. in welchem ​​Format die Datenbank gespeichert werden soll. In diesem Fall speichern wir die Daten auf einem SQLite lokal installiert. In der Regel in der Standardkonfiguration von Home Assistant, keine Notwendigkeit, es zu erwähnen.

Es versteht sich von selbst, dass der "Ausschluss" -Block Domänen und Entitäten ausschließt. Die Sensoren proSie produzieren eine Menge Daten, deshalb schließen wir sie aus. vielleicht unter den vielen integrierten leuchten die light.ingresso Der Status wird zu oft geändert, und um nicht die gesamte Domäne auszuschließen, wird er für die ausgeschlossenen Entitäten explizit angegeben.

Der Block "einschließen"Geht, um die Blockade zu kompensieren"ausschließen": Nachdem ich alle Sensoren ausgeschlossen habe, schließe ich mir die Möglichkeit aus, historische Reihen, vielleicht wichtige Sensoren, zu analysieren. Deshalb erklären wir im Beispiel den Beispielsensor sensor.temperatura_sala in den Entitäten enthalten.

Die Strategie ist daher, vor allem die Domains im Block zu verwenden. “ausschließen"Und die Entitäten im Block"einschließen": Dies ermöglicht es mir, die proProblem der vielen Einträge und der vielen Datenbankzugriffe, die ganze Domänen isolieren, aber einige gezielte Datenerfassungen für bestimmte Entitäten zulassen.

Weitere Informationen finden Sie unter Komponentenseite.

Das Unternehmen

Das Unternehmen"Stattdessen wird auf der Lovelace-Benutzeroberfläche eine Schnittstelle für die Abfrage der Trends der Zustände der Entitäten aktiviert (von der Komponente registriert)."Blockflöte") Auf einer Zeitachse:

Home Assistant - Component_history_24h

Offensichtlich kann es Entitäten geben, die trotz "Blockflöte"Ist konfiguriert, um sie aufzuzeichnen, Es ergibt keinen Sinn oder Sie möchten die Historie nicht anzeigen an der rappRessentiments von "Das Unternehmen".

Daher genau in der Logik für "BlockflöteMsgstr "" "Es ist möglich, ganze Domänen und / oder Entitäten von r auszuschließen / explizit einzuschließenappräsentation.

Ein Beispiel:

history:
  exclude:
    domains:
      - automation
      - weblink
      - updater
    entities:
      - sensor.last_boot
      - sensor.date
  include:
    domains:
      - sensor
      - switch
      - media_player

Die Komponente kann vollständig ausgeschlossen werden. Denken Sie daran, den Artikel aus der Konfiguration zu löschen. "default_config:"(Achtung: dieser Artikel Aktiviert viele andere wichtige Dinge, die an dieser Stelle einzeln aktiviert werden sollten) und natürlich die mögliche Eingabe "Recorder:".

Weitere Informationen finden Sie unter Komponentenseite.

Logbuch

Schließlich "Logbuch"Dient dazu, auf der Lovelace - Benutzeroberfläche eine Historie von Aktionen zu definieren, die auf der Lovelace - Benutzeroberfläche ausgeführt oder geändert wurdenHUB:

Home Assistant - Logbuch

Auch in diesem Fall kann es bei "History" Entitäten geben, die trotz "Blockflöte"Ist konfiguriert, um sie aufzuzeichnen, Es ergibt keinen Sinn oder Sie möchten die Historie nicht anzeigen in der Protokollliste.

Daher genau in der Logik für "BlockflöteMsgstr "" "Es ist möglich, ganze Domänen und / oder Entitäten von r auszuschließen / explizit einzuschließenappräsentation.

Ein Beispiel:

logbook:
  exclude:
    entities:
      - sensor.last_boot
      - sensor.date
    domains:
      - sun
      - weblink
  include:
    domains:
      - sensor
      - switch
      - media_player

Die Komponente kann vollständig ausgeschlossen werden. Denken Sie daran, den Artikel aus der Konfiguration zu löschen. "default_config:"(Achtung: dieser Artikel Aktiviert viele andere wichtige Dinge, die an dieser Stelle einzeln aktiviert werden sollten) und natürlich die mögliche Eingabe "Recorder:".

Weitere Informationen finden Sie unter Komponentenseite.


Home Assistant Offizielles LogoATTENZIONE: Denken Sie daran, dass es in unserer FORUM-Community gibt ein Ad-hoc-Bereich für Home Assistantfür jeden Zweifel, Frage, Information auf dem spezifischen Verdienst dieser Komponenten.


Bitte kommentieren Sie unten