À propos
Scribe enregistre les états et les événements de Home Assistant dans une base de données TimescaleDB via asyncpg. Il fonctionne en parallèle du recorder intégré et conserve un long historique dans TimescaleDB, les anciens chunks étant compressés automatiquement, avec le contexte de l'entité, de l'appareil, de la zone, de l'utilisateur et de l'intégration stocké avec les valeurs. L'enregistrement peut être filtré par domaine, entité, motif de nom, attribut et type d'événement, et les écritures sont regroupées par lots, avec un tampon mémoire facultatif qui réessaie lorsque la base de données est indisponible. Des capteurs facultatifs indiquent l'activité d'écriture, le nombre de chunks et la taille des tables, et des vues de synthèse horaires et quotidiennes peuvent être maintenues pour les graphiques sur de longues périodes. Des politiques de rétention pour les états et les événements, un schéma personnalisé et SSL avec certificats client sont disponibles dans les options avancées. Les problèmes tels qu'une base de données injoignable ou un tampon plein apparaissent sous forme d'avis dans les Corrections, et les diagnostics ainsi que la Santé du système sont inclus. Il s'ajoute depuis l'interface de Home Assistant avec une URL de base de données et se connecte en local.
Résumé automatique du README et du code de jonathan-gtd/scribe, traduit automatiquement. Une erreur, ou tu maintiens ce projet et tu veux ton propre texte ici ? Prendre contact
Prise en charge
Fonctionne en local Communique avec tes appareils sur ton propre réseau. Aucun cloud de fournisseur entre les deux.
Depuis la Marketplace S’installe depuis la Marketplace, anciennement HACS.
Maintenance active Son auteur a publié une version ou poussé une modification au cours des six derniers mois.
Fournit
- Capteurs
Mise en place
Installe-la depuis la Marketplace et redémarre Home Assistant, puis ajoute-la dans Paramètres > Appareils et services.
Connexion à TimescaleDB
- URL de la base de donnéesURL PostgreSQL complète, ex. postgresql://scribe:secret@192.168.1.10:5432/scribe
Après la mise en place
- Enregistrer les changements d'étatÉcrire chaque changement d'état dans TimescaleDB
- Enregistrer les événementsÉcrire les événements Home Assistant (automations, scripts…) dans TimescaleDB
- Inclure les domainesN'enregistrer que les entités de ces domaines. Laisser vide pour tout inclure.
- Exclure les domainesNe jamais enregistrer les entités de ces domaines
- Inclure les entitésN'enregistrer que ces entités spécifiques. Laisser vide pour tout inclure.
- Exclure les entitésNe jamais enregistrer ces entités spécifiques
- Inclure les entités par motifN'enregistrer que les entités correspondant à ces motifs (ex. sensor.temp_*)
- Exclure les entités par motifNe jamais enregistrer les entités correspondant à ces motifs
- Exclure les attributsSupprimer ces clés d'attributs avant l'écriture (économise de l'espace)
- Inclure les types d'événementsN'enregistrer que ces types d'événements spécifiques. Laisser vide pour tout enregistrer.
- Exclure les types d'événementsNe jamais enregistrer ces types d'événements (appliqué après include_events).
- Taille du lotNombre de lignes accumulées avant un envoi forcé (défaut 500)
- Intervalle d'envoi (secondes)Nombre maximal de secondes entre deux envois automatiques (défaut 30). Chaque envoi est une transaction : un intervalle court écrit quelques lignes à la fois au lieu de les regrouper. Un intervalle long ne risque que le dernier intervalle d'historique, et seulement si Home Assistant est tué — un arrêt normal écrit tout.
- Taille max de la file d'attenteNombre max d'écritures en attente avant suppression des plus anciennes (défaut 10000)
- Mise en tampon en cas d'échecConserver les événements en mémoire et réessayer quand la base redevient disponible
- Activer les capteurs de statistiques I/OExpose les compteurs d'écriture, la taille du tampon et la durée d'écriture comme capteurs
- Activer les capteurs de statistiques de chunksExpose le nombre de chunks par table (total / compressés / non compressés) comme capteurs
- Intervalle de rafraîchissement des stats chunksFréquence (en minutes) de rafraîchissement des stats de chunks depuis la base
- Activer les capteurs de tailleExpose les tailles par table et les ratios de compression comme capteurs
- Intervalle de rafraîchissement des stats de tailleFréquence (en minutes) de rafraîchissement des stats de taille depuis la base
- Fréquence de publication des capteurs d'E/SSecondes entre deux valeurs des capteurs d'E/S. Chaque changement est une ligne que Scribe enregistre sur lui-même : un intervalle court remplit votre historique des compteurs de Scribe. 60 secondes par défaut.
- Synchroniser la table des zonesMaintenir un miroir des zones Home Assistant dans TimescaleDB
- Synchroniser la table des appareilsMaintenir un miroir des appareils Home Assistant dans TimescaleDB
- Synchroniser la table des intégrationsMaintenir un miroir des entrées de config (intégrations) dans TimescaleDB
- Synchroniser la table des utilisateursMaintenir un miroir des utilisateurs Home Assistant dans TimescaleDB
- Résumés horaires et journaliersConserve des moyennes horaires et journalières de vos états, pré-calculées et tenues à jour par TimescaleDB. Un graphique sur des mois ou des années lit alors des milliers de lignes au lieu de millions. Ajoute les vues states_hourly et states_daily.
- Schéma de la base de donnéesLaissez vide pour utiliser ce que la connexion désigne déjà (normalement public). Indiquez un nom et Scribe crée ce schéma et y enregistre — ses tables, ses hypertables, ses politiques. Seules les nouvelles données y vont : l'historique déjà écrit ailleurs n'est pas déplacé, et Scribe n'enregistre plus rien si le schéma est inaccessible.
- Intervalle de temps des chunksIntervalle de chunks TimescaleDB (ex. '7 days'). Affecte les nouveaux chunks uniquement.
- Compresser aprèsCompresser les chunks plus anciens que cet intervalle (ex. '7 days'). Nécessite la compression TimescaleDB.
- Supprimer les états plus anciens queLaisser vide pour conserver tous les états indéfiniment (défaut). Indiquer un intervalle (ex. '365 days', '6 months') pour que TimescaleDB SUPPRIME l'historique des états plus ancien — définitivement, sans retour possible. Scribe gère cette politique : vider le champ la supprime.
- Supprimer les événements plus anciens queLaisser vide pour conserver tous les événements indéfiniment (défaut). Indiquer un intervalle (ex. '30 days') pour que TimescaleDB SUPPRIME l'historique des événements plus ancien — définitivement, sans retour possible. Scribe gère cette politique : vider le champ la supprime.
- Activer SSLExiger une connexion SSL/TLS vers PostgreSQL
- Chemin du certificat racine SSLChemin vers le fichier CA (ex. /ssl/ca.crt)
- Chemin du certificat client SSLChemin vers le certificat client pour mTLS
- Chemin de la clé privée client SSLChemin vers la clé privée client pour mTLS
- Délai maximal d'une requêteSecondes pendant lesquelles un appel à scribe.query peut tourner avant que la base ne l'arrête. 60 par défaut.
- Lignes maximales par requêteLignes qu'un appel à scribe.query peut renvoyer avant d'être refusé. Elles passent en mémoire de Home Assistant : c'est ce qui empêche une requête imprudente de le faire tomber. 20000 par défaut.
Textes issus du code de jonathan-gtd/scribe.
Dépannage
- DiagnosticsTélécharge un fichier de diagnostics à joindre à un rapport de bug.
- État du systèmeAjoute son état aux informations système de Home Assistant.
- Avis de correctionLes avis qu’elle peut afficher dans Paramètres > Corrections :Scribe ne peut pas joindre sa base de données, Scribe n'arrive plus à écrire dans sa base, La mémoire tampon de Scribe est pleine — de l'historique est perdu, Scribe abandonne des enregistrements, TimescaleDB n'est pas installé sur la base de Scribe, La configuration TLS de Scribe n'est pas entièrement appliquée, Scribe n'a pas pu créer ses tables, La base de données de Scribe est antérieure à la version 3.0, Scribe ne peut pas atteindre le schéma indiqué, Scribe n'a pas pu construire ses résumés
S’affiche dans Vulpo :
carte Graphique, Apple Watch.Informations
- Installations
- 81 partagent leurs statistiques
- Étoiles GitHub
- 67
- Connexion
- Fonctionne en local
- Maintenance
- Mise à jour au cours des 6 derniers mois
- Version
- v4.5.0,
- Type
- Intégration de la Marketplace
- Prérequis
- Nécessite la Marketplace (HACS sur Home Assistant 2026.10 et les versions antérieures)
- Domaine
scribe- Problèmes
- Signaler un problème











