Quelle attitude face à l'historisation des données?

Bonjour,
Pas sûr que ce soit ici que je doive poser cette question, n’hésitez pas à me dire si j’ai mal choisi la rubrique.
Est il gênant de faire beaucoup d’historisations ? Capture
C’est tentant d’en faire beaucoup. Je ne crains pas de problème de taille de disque vu la taille du mien, mais la base de données ne va t elle pas « craquer » et cela ne va t’il pas générer des ralentissement au bout d’un certain temps ?
Bref, quelle attitude raisonnable à avoir ?

Hello,

A mon avis, c’est comme tout le reste, c’est pas parce que ça peut le faire, qu’il faut le faire systématiquement :

  • Est-ce bien utile de savoir que la température d’il y a 3 ans à 17h53 et de 0.2°C inférieure à celle mesurée à 17h58 ? Si c’est pas le cas, il faut rationnaliser les données (moyenne par heure ou jour par exemple sur une période de 3 ans pour comparer d’une saison à l’autre)
  • Pareil au delà de quelques jours, as-tu tout simplement besoin de savoir que la porte d’entrée à été ouverte à 14h31 pour aller chercher le courrier ? Si c’est pas le cas, un historique d’une semaine maxi ça suffira…
  • La conso eau/électricité pas forcement besoin de limite dans la durée, mais le total jour/semaine/mois/année c’est largement suffisant

Bref, c’est pas du tout utile à mon sens de TOUT conserver. Si c’est pas pertinent : pas d’historique. En plus de gaspiller des ressources disque/cpu/mémoire, ça va forcement rendre la visualisation de jeedom moins confortable (et backup plus lents/volumineux).
Reste la possibilité de stocker « au cas où »… Personnellement si le besoin est là à un moment donné, j’ajusterai, mais en attendant pas de data pour juste la data

A titre d’exemple j’ai

  • Nombre d’objets : 24
  • Nombre d’équipements : 166
  • Nombre de commandes : 1862

Et au final, uniquement

  • Commandes historisées : 120
  • Commandes timeline : 41

Donc moins de 7% d’historiques

Bien sûr que je n’historise pas mes ouvertures de porte, mais là par exemple, j’utilise le plugin enedis qui permet d’avoir ses consos électriques et je pense que ça vaut le coup d’historiser.
Je monitore mes différents pi et je n’avais pas historisés. Maintenant, je le fais pour celui qui héberge jeedom histoire de détecter s’il n’y a pas un pic quelque part et pour voir l’influence de certains paramètres (cf la discussion sur comment installer jeedom sur un pi sans carte SD). etc…
Savoir que l’on atteint vite un quota qui fait sensiblement baisser les performances me ferait être plus prudent que si certains d’entre vous ne lésinent absolument pas sans problème depuis plusieurs années.

1 « J'aime »

bonjour, à savoir que tu peux toi même créé ton historique et optimisation (tous dépend de ton envie, évo de ton niveau,…)

est-il utile de garder plus du demi-degre
est-il utile de garder la redondance de valeur,…

a toi de trouver la bonne formulation (qui te correspond)

j’ai une sonde rfx au nord
avec pour formulation équipement

(#value#-floor(#value#))<=0.25?floor(#value#):(#value#-floor(#value#))>=0.75?ceil(#value#):floor(#value#)+0.5

celle-ci est reprise dans un virtuel id=825
sans limite d’historique ni lisage

et tous les jours 4h j’ai un scénario qui :
moyenne au 1/4 d’heure
1 chiffre après la virgule


$commandes = array("#[Dehors][Sondes Nord][Température]#",
                      "#[Dehors][Sondes Sud][Température]#",
);
foreach ($commandes as $commande) {
$commande = str_replace("#", "", $commande);  
  
$sql = "REPLACE INTO `historyArch` (`cmd_id`,`datetime`,`value`)";
$sql = $sql." SELECT `cmd_id`, ";
$sql = $sql." concat( date(`datetime` ) , ' ', sec_to_time(time_to_sec(`datetime` )- time_to_sec(`datetime` )%(15*60))) as created_dt_new,";
$sql = $sql." round(avg(`value`),1)";
$sql = $sql." FROM `history` ";
$sql = $sql." WHERE `cmd_id` = '$commande' ";
$sql = $sql." group by created_dt_new";
$scenario->setLog("SQL = $sql");
$result = DB::Prepare($sql, NULL, DB::FETCH_TYPE_ROW);

$sql2 ="DELETE FROM `history`";
$sql2 = $sql2."WHERE `cmd_id` = '$commande'";
$result = DB::Prepare($sql2, NULL, DB::FETCH_TYPE_ROW);
    }

à savoir que de base à 5h la base de donnée history passe dans historyarch.

utilise une machine de test avant de mettre se genre de fonction en prod

soit 1681 page * 50 lignes = 84050
depuis 2017 / 4 ans*365=1460
84050/1460=57lignes par jours

Intéressant. J’ai déjà fait ce genre de chose, mais c’était il y a fort longtemps :smiley:

Bonjour à tous,

Je me permets d’écrire dans ce post sur l’historisation des données.

Voilà je voudrais échantillonner une valeur plus fréquemment ! Est ce possible ?
Je m’explique actuellement jeedom historise toute les cinq minutes pendant 24 heures.

est ce possible de passer à toutes les minutes voir les 30 secondes juste sur une data ?

Merci

Bonne journée et bonne vacances à tous.

1 « J'aime »