Überblick
Scribe zeichnet Zustände und Ereignisse von Home Assistant über asyncpg in einer TimescaleDB-Datenbank auf. Es läuft parallel zum integrierten Recorder und hält lange Verlaufsdaten in TimescaleDB, wobei alte Chunks automatisch komprimiert werden und der Kontext von Entität, Gerät, Bereich, Benutzer und Integration zusammen mit den Werten gespeichert wird. Die Aufzeichnung lässt sich nach Domain, Entität, Namensmuster, Attribut und Ereignistyp filtern, und Schreibvorgänge werden gebündelt, mit einem optionalen Speicherpuffer, der es erneut versucht, wenn die Datenbank nicht erreichbar ist. Optionale Sensoren melden Schreibaktivität, Chunk-Anzahlen und Tabellengrößen, und stündliche und tägliche Zusammenfassungsansichten können für Diagramme über lange Zeiträume gepflegt werden. Aufbewahrungsrichtlinien für Zustände und Ereignisse, ein eigenes Schema und SSL mit Client-Zertifikaten sind in den erweiterten Optionen verfügbar. Probleme wie eine nicht erreichbare Datenbank oder ein voller Puffer erscheinen als Reparaturhinweise, und Diagnose und Systemzustand sind enthalten. Es wird über die Home Assistant Oberfläche mit einer Datenbank-URL hinzugefügt und verbindet sich lokal.
Zusammenfassung der README und des Codes von jonathan-gtd/scribe, automatisch erstellt und übersetzt. Stimmt etwas nicht, oder betreust du das Projekt und möchtest hier deinen eigenen Text? Melde dich
Unterstützt
Funktioniert lokal Spricht mit deinen Geräten in deinem eigenen Netzwerk. Keine Cloud des Herstellers dazwischen.
Aus dem Marketplace Wird über den Marketplace installiert, früher HACS.
Aktiv gepflegt Das Projekt hat in den letzten sechs Monaten eine neue Version oder Änderung veröffentlicht.
Stellt bereit
- Sensoren
Einrichtung
Installiere sie aus dem Marketplace und starte Home Assistant neu. Füge sie dann unter Einstellungen > Geräte & Dienste hinzu.
Verbindung zu TimescaleDB herstellen
- Datenbank-URLVollständige PostgreSQL-Verbindungs-URL
Nach der Einrichtung
- Zustandsänderungen aufzeichnenJede Zustandsänderung in TimescaleDB schreiben
- Ereignisse aufzeichnenWrite Home Assistant events to TimescaleDB
- Domänen einschließenOnly record entities from these domains.
- Domänen ausschließenEntitäten aus diesen Domains niemals aufzeichnen
- Entitäten einschließenOnly record these specific entities.
- Entitäten ausschließenDiese bestimmten Entitäten niemals aufzeichnen
- Entitäts-Globs einschließenOnly record entities matching these patterns
- Entitäts-Globs ausschließenEntitäten, die auf diese Muster passen, niemals aufzeichnen
- Attribute ausschließenDrop these attribute keys before writing
- Ereignistypen einschränkenNur diese Ereignistypen aufzeichnen. Leer lassen, um alle Ereignisse aufzuzeichnen.
- Ereignisse ausschließenEreignistypen, die nie aufgezeichnet werden. Wird nach der Einschlussliste angewendet: Ein Typ in beiden Listen wird ausgeschlossen.
- Batch-GrößeNumber of rows accumulated before a flush is triggered
- Flush-Intervall (Sekunden)Maximale Sekunden zwischen zwei automatischen Schreibvorgängen (Standard 30). Jeder Schreibvorgang ist eine Transaktion: ein kurzes Intervall schreibt jeweils eine Handvoll Zeilen, statt sie zu bündeln. Ein langes riskiert nur das letzte Intervall an Historie, und auch nur, wenn Home Assistant abgeschossen wird — ein normales Herunterfahren schreibt alles weg.
- Maximale WarteschlangengrößeMaximum pending writes before oldest are dropped
- Pufferung bei DatenbankfehlerEreignisse im Speicher halten und erneut versuchen, sobald die Datenbank wieder erreichbar ist
- I/O-Statistiksensoren aktivierenExpose write counters, buffer size and duration as sensors
- Chunk-Statistiksensoren aktivierenExpose per-table chunk counts
- Refresh intervalHow often stats are refreshed from the database
- Größen-Statistiksensoren aktivierenExpose per-table sizes and compression ratios
- Refresh intervalHow often stats are refreshed from the database
- Wie oft die E/A-Sensoren veröffentlichenSekunden zwischen zwei Werten der E/A-Sensoren. Jede Änderung ist eine Zeile, die Scribe über sich selbst aufzeichnet: ein kurzes Intervall füllt Ihre Historie mit Scribes eigenen Zählern. Standard 60 Sekunden.
- Tabelle „areas“ synchronisierenKeep a mirror of HA areas in TimescaleDB
- Tabelle „devices“ synchronisierenKeep a mirror of HA devices in TimescaleDB
- Tabelle „integrations“ synchronisierenKeep a mirror of integrations in TimescaleDB
- Tabelle „users“ synchronisierenKeep a mirror of HA users in TimescaleDB
- Stündliche und tägliche ZusammenfassungenHält vorberechnete stündliche und tägliche Mittelwerte Ihrer Zustände vor, von TimescaleDB gepflegt. Ein Diagramm über Monate oder Jahre liest dann Tausende Zeilen statt Millionen. Fügt die Sichten states_hourly und states_daily hinzu.
- DatenbankschemaLeer lassen, um das zu verwenden, worauf die Verbindung ohnehin zeigt (normalerweise public). Wird ein Name angegeben, legt Scribe dieses Schema an und schreibt dorthin — seine Tabellen, seine Hypertables, seine Richtlinien. Nur neue Daten landen dort: bereits anderswo geschriebene Historie wird nicht verschoben, und Scribe zeichnet gar nichts auf, wenn das Schema nicht erreichbar ist.
- Chunk-ZeitintervallTimescaleDB chunk interval
- Komprimieren nachCompress chunks older than this interval
- Zustände löschen, die älter sind alsLeer lassen, um alle Zustände unbegrenzt aufzubewahren (Standard). Ein Intervall (z. B. '365 days', '6 months') lässt TimescaleDB älteren Zustandsverlauf LÖSCHEN — endgültig und ohne Rückgängig. Scribe verwaltet diese Richtlinie: Das Feld zu leeren entfernt sie.
- Ereignisse löschen, die älter sind alsLeer lassen, um alle Ereignisse unbegrenzt aufzubewahren (Standard). Ein Intervall (z. B. '30 days') lässt TimescaleDB älteren Ereignisverlauf LÖSCHEN — endgültig und ohne Rückgängig. Scribe verwaltet diese Richtlinie: Das Feld zu leeren entfernt sie.
- SSL aktivierenRequire an SSL/TLS connection
- Pfad zum SSL-StammzertifikatPath to the CA certificate file
- Pfad zum SSL-Client-ZertifikatPath to the client certificate file
- Pfad zum SSL-Client-SchlüsselPath to the client private key file
- Zeitlimit einer AbfrageSekunden, die ein scribe.query-Aufruf laufen darf, bevor die Datenbank ihn beendet. Standard 60.
- Maximale Zeilen je AbfrageZeilen, die ein scribe.query-Aufruf zurückgeben darf, bevor er abgelehnt wird. Sie landen im Speicher von Home Assistant: das verhindert, dass eine unachtsame Abfrage ihn umwirft. Standard 20000.
Texte aus dem Code von jonathan-gtd/scribe.
Fehlerbehebung
- DiagnosedatenLädt eine Diagnosedatei herunter, die du an einen Fehlerbericht anhängen kannst.
- SystemzustandErgänzt die System-Informationen von Home Assistant um den eigenen Status.
- ReparaturhinweiseMögliche Hinweise unter Einstellungen > Reparaturen:Scribe erreicht seine Datenbank nicht, Scribe kann nicht in seine Datenbank schreiben, Scribes Puffer ist voll — es geht Verlauf verloren, Scribe verwirft Einträge, TimescaleDB ist auf Scribes Datenbank nicht installiert, Scribes TLS-Konfiguration ist nicht vollständig wirksam, Scribe konnte seine Tabellen nicht anlegen, Scribes Datenbank ist älter als Version 3.0, Scribe erreicht das angegebene Schema nicht, Scribe konnte seine Zusammenfassungen nicht anlegen
Erscheint in Vulpo
Diagrammkarte, Apple Watch.Informationen
- Installationen
- 81 teilen Analysedaten
- GitHub-Sterne
- 67
- Verbindung
- Funktioniert lokal
- Pflege
- In den letzten 6 Monaten aktualisiert
- Version
- v4.5.0,
- Art
- Marketplace-Integration
- Voraussetzung
- Braucht den Marketplace (HACS bis Home Assistant 2026.10)
- Domain
scribe- Probleme
- Problem melden











