Gestion des historiques
Bonjour, aujourd’hui un petit article sur : Comment les historiques marchent dans Jeedom ?
J’ai vu pas mal de questions la dessus sur le community donc j’espère que cela répondra a vos questions, surtout que cela a évolué au fil des versions de Jeedom.
Le principe est assez simple : une nouvelle valeur arrive sur une commande historisée ; Jeedom va stocker cette valeur dans un premier conteneur (la table history). Ensuite, toutes les nuits vers 5h, Jeedom va récupérer les valeurs des différentes commandes de ce conteneur par lot de 1h, puis en faire la moyenne et stocker tout cela dans un autre conteneur (table historyArch).
Petite subtilité : pour les commandes de type binaire (1 ou 0), Jeedom ne fait bien sûr pas de moyenne (cela n’aurait aucun sens) mais un nettoyage des données. Exemple : si vous avez 1 1 1 0 0 1 1 1 1, Jeedom va archiver cela sous la forme 1 0 1. Il ne garde que les valeurs de changements d’état à la date où le premier changement d’état a eu lieu.
Pour les commandes de type autre, il n’y a bien sûr aucune action de lissage ou autre possible. Petit aparté là-dessus : étant donné que j’ai vu plusieurs fois le souci, si vous changez le sous-type d’une commande (de autre à numérique par exemple), il faut bien penser à supprimer l’historique de la commande (petite poubelle sur la page Analyse -> Historique), Jeedom ne le faisant pas de lui-même au cas où cela soit une mauvaise manipulation de votre part.
Ça, c’est pour le comportement par défaut, mais vous pouvez bien sûr jouer dessus avec plusieurs paramètres en fonction du sous-type de la commande. La plupart de ces paramètres se trouvent dans la configuration avancée de la commande (petite roue crantée en bout de ligne de la commande) dans l’onglet configuration.
Commande numérique
- Historiser : active ou non l’historisation de la commande en question
- Mode de lissage : permet de choisir le type de lissage : moyenne, min, max (pour les index par exemple) ou aucun. Si vous mettez aucun, alors toutes les valeurs de la commande seront copiées vers le container historyArch tel quel, sans aucun calcul ou suppression. Il n’est pas recommandé de faire cela, car cela augmente énormément les valeurs en historique.
- Limiter à une valeur : paramètre assez récent, il permet de limiter l’arrivée de valeurs dans le conteneur history. Si, par exemple, vous mettez 5 min, et qu’à 15h01 la valeur 5 arrive et à 15h02 la valeur 15 arrive, alors Jeedom va regarder le mode de lissage et appliquer le calcul. Dans notre cas, si vous êtes en mode moyenne, alors Jeedom stockera à la date de 15h00 la valeur 10. Vous remarquerez que c’est à la date de 15h00 car c’est une valeur toutes les 5 min, donc 15h00, 15h05, et ainsi de suite. Cette option est très intéressante si vous avez une commande qui a souvent une valeur (toutes les secondes, par exemple) pour limiter le nombre de valeurs stockées en base de données.
- Purge historique : permet de définir une rétention maximum des historiques. Par exemple 2 ans.
- Paramètre d’affichage : ce n’est pas le sujet de cet article, mais cela permet de définir comment l’historique de la commande en question doit être affiché par défaut : les groupes (maximum sur la journée, la moyenne sur une semaine…), des lignes, des barres…, par variation (différence entre 2 points consécutifs), en escalier.
Comme vous pouvez le voir, la plupart des options agissent sur le nombre de valeurs stockées en base de données. Cette partie est vraiment très importante car cela permet deux choses. D’abord, de limiter la taille de la base de données (plus la base est volumineuse, plus cela prend de la place, plus les sauvegardes prennent de la place, plus le temps de sauvegarde est long, etc.). Mais aussi d’accélérer l’affichage des graphiques : afficher 200 points est toujours plus rapide que d’en afficher 20 000.
Commande binaire et autre
Ici juste deux options déjà vu plus haut : Historiser ou non et la purge
Paramètres généraux
Ils se trouvent dans la configuration de Jeedom, onglet Equipement :
- Afficher les statistiques sur les widgets : affiche ou non les statistiques (moyenne, min et max) sur les widgets. Attention, si vous avez beaucoup de données (par exemple, une par seconde), le calcul est assez long et peut ralentir l’affichage.
- Période de calcul pour min, max, moyenne h : période a prendre pour le calcul des statistiques des widgets. Par défaut le calcul des moyennes, min et max est fait sur 24h
- Période de calcul pour la tendance h : la tendances vous dit si globalement la valeur augmente, diminue ou ne bouge pas. Le calcul de la tendances sur Jeedom utilise la méthode des moindre carrée (je vous laisse regarder wikipedia pour le détails). Le paramètre ici permet de choisir la période de calcul
- Seuil de calcul de tendance bas : seuil pour dire que la tendance est à la baisse
- Seuil de calcul de tendance haut : seuil pour dire que la tendance est a la hausse
- Délai avant archivage h : Définit le délai (l’âge) que doit avoir la valeur avant d’être archivée. Par défaut, cela est de 2h, ce qui signifie que lorsque la tâche d’archivage se lance à 5h du matin, elle ne prendra en compte que les valeurs historisées avant 3h du matin. Cela permet de conserver au moins 2h d’historique plus précis.
- Archiver par paquet de h : La taille des paquets à prendre pour l’archivage est, par défaut, de 1h. Jeedom prend, par exemple, tous les historiques entre 14h et 15h, en fait la moyenne, et stocke une unique valeur dans le conteneur historyArch.
- Limiter à une valeur toute les : identique a l’option sur la commande mais permet de régler cela sur toute les commandes de Jeedom (sauf si bien vous avez mis la commande sur un autre paramètre que défaut)
- Période d’affichage des graphiques : période par défaut lors de l’affichage des graphiques, a noter que plus la periode est grande plus il y a de point et plus c’est long a s’afficher
- Purger l’historique si plus vieux que : identique a l’option sur la commande mais permet de régler cela sur toute les commandes de Jeedom (sauf si bien vous avez mis la commande sur un autre paramètre que défaut)
- Autoriser les dates dans le futur : Option particulière : par défaut, Jeedom n’autorise pas une commande à avoir un historique dans le futur. Il y a des cas où cela est nécessaire, comme par exemple pour faire un graphique des prévisions de production solaire.
Conclusion
Voilà un article un peu plus long que prévu, mais j’espère qu’il vous aura plu. À noter que je n’ai pas mentionné, mais il est possible, en allant dans Analyse -> Historique puis Configuration (au niveau de Commande), de configurer d’un coup plusieurs commandes (vous pouvez aussi exporter l’historique des commandes ou aller directement sur la configuration avancée d’une commande, ainsi que sur les réglages de la timeline, qui feront peut-être partie d’un futur article).