Je m’aperçois par contre que ce n’est pas enregistré à chaque minute alors que je m’étais mis ça en tête. Toutefois en regardant il y a quelques jours (avant mes soucis de Proxmox), j’avais aussi des petits sauts dans l’enregistrement des valeurs.
C’est dû à quoi ? C’est un comportement normal ? Ou Jeedom qui rame et le daemon prend plus d’une minute donc ne traite pas ?
Les performances me semble plutôt dans les clous :
Tu n’as pas grand chose. Et effectivement le démon est normalement exécuté toutes les minutes. J’avoue que je n’ai jamais trop creusé les écarts entre les remontées. Il va falloir que je regarde. De mon coté, j’ai beaucoup d’équipement, mais je pensais que c’était plus rapide quand on en avait peu
Oki, bon c’est pas grave si c’est comme ça aussi chez toi.
J’ai pas trouvé de trace dans les logs pour essayer d’avoir des informations sur les heures où le plugin s’occupe des équipements pour enregistrer les valeurs. Ça aurait peut être permis de mieux voir si l’un prend plus de temps que les autres et occasionne le décalage
Ok, et tu as pu repérer si un équipement en particulier prenait un peu trop de temps pour que ce soit réalisé rapidement ? Finalement là on est sur 30-90 secondes de traitements d’après ce que je vois dans la table.
Tient voilà le fichier conso_class.php à remplacer pour avoir des logs en mode débug sur les temps de traitement. (Enlever l’extension .txt) dans conso/core/class conso.class.php.txt (60,8 Ko)
Il faut relancer le démon pour prendre en compte les modifs
OK fait et je trouve que j’ai pas beaucoup d’équipement, je ne vois pas mon équipement 58
(conso réseau) par exemple :
[2024-01-18 17:22:18]DEBUG : ===Equipement dans boucle : 132=====
[2024-01-18 17:22:20]DEBUG : ===Equipement dans boucle : 59=====
[2024-01-18 17:22:22]DEBUG : ===Equipement dans boucle : 139=====
[2024-01-18 17:22:22]DEBUG : --- Valeur non enregistrée car index inférieur au précédent ->eq_id : 139 timestamp : 1705594942 rec_date : 2024-01-18 rec_time :17:22:22 papp : -1 Nouvelle index : 237551.5 Ancien index237552
[2024-01-18 17:23:22]DEBUG : ===Lancement d une série de maj =====
[2024-01-18 17:23:22]DEBUG : ===Equipement dans boucle : 132=====
[2024-01-18 17:23:24]DEBUG : ===Equipement dans boucle : 59=====
[2024-01-18 17:23:26]DEBUG : ===Equipement dans boucle : 139=====
[2024-01-18 17:23:26]DEBUG : --- Valeur non enregistrée car index inférieur au précédent ->eq_id : 139 timestamp : 1705595006 rec_date : 2024-01-18 rec_time :17:23:26 papp : -1 Nouvelle index : 237551.5 Ancien index237552
[2024-01-18 17:24:26]DEBUG : ===Lancement d une série de maj =====
[2024-01-18 17:24:26]DEBUG : ===Equipement dans boucle : 132=====
[2024-01-18 17:24:30]DEBUG : ===Equipement dans boucle : 139=====
[2024-01-18 17:24:30]DEBUG : --- Valeur non enregistrée car index inférieur au précédent ->eq_id : 139 timestamp : 1705595070 rec_date : 2024-01-18 rec_time :17:24:30 papp : -1 Nouvelle index : 237551.5 Ancien index237552
En regardant à nouveau mes graphs, le soucis est de retour, arrêt des données à 12:02 (ou 12:07 ?)
J’ai filtré les logs sur l’histoire de la valeur non enregistrée et voilà ce que je vois :
...
[2024-01-18 07:59:58]DEBUG : --- Valeur non enregistrée car index inférieur au précédent ->eq_id : 139 timestamp : 1705561198 rec_date : 2024-01-18 rec_time :07:59:58 papp : -1 Nouvelle index : 237546.5 Ancien index237547
[2024-01-18 08:01:02]DEBUG : --- Valeur non enregistrée car index inférieur au précédent ->eq_id : 139 timestamp : 1705561262 rec_date : 2024-01-18 rec_time :08:01:02 papp : -1 Nouvelle index : 237546.5 Ancien index237547
[2024-01-18 12:08:26]DEBUG : --- Valeur non enregistrée car index inférieur au précédent ->eq_id : 139 timestamp : 1705576106 rec_date : 2024-01-18 rec_time :12:08:26 papp : -1 Nouvelle index : 237551.5 Ancien index237552
[2024-01-18 12:09:30]DEBUG : --- Valeur non enregistrée car index inférieur au précédent ->eq_id : 139 timestamp : 1705576170 rec_date : 2024-01-18 rec_time :12:09:30 papp : -1 Nouvelle index : 237551.5 Ancien index237552
....
Entre 08:01 et 12:09, plus de message de ce type et c’est justement l’intervalle de temps pendant lequel les données ont bien été prises en compte.
On dirait que le plugin s’arrête sur cet évènement et ne continue pas sur les autres équipements.
Une idée ?
En creusant un poil sur ce soucis de l’équipement 139, c’est ma conso d’eau chaude.
L’index est actuellement de 237551.5 et il a visiblement enregistré un nombre arrondi le coup d’avant 237552. C’est surement pour ça que ça déconne …
Edit : Bon j’ai mis un round(…) dans la commande de l’equipement suivi-conso, ça devrait débloquer la situation
Tu sais à quoi sert cette ligne "sleep(2);//!!!!obligatoire !!!! sur la ligne 729 parce que du coup c’est pour ça que ça prend pas mal de temps (même si la fonction est sacrément compliquée en première lecture). C’est toi qui l’avait mis ou Mickeys ?
C’est Mickeys. mais je trouve que ça cadence le truc. Pour mois c’est pas gênant. En fait Le return dans le cas d’un index inférieur est mal venu.
Je viens de faire un correctif. conso.class.php.txt (60,8 Ko)
J’ai mis à jour merci. J’ai viré le round, mais je me pense que je ferais mieux de le laisser. C’est juste bizarre que je me sois rendu comp6du soucis que maintenant
Est-ce que c’est l’histoire de l’enregistrement du nombre à virgule dont tu parles ?
Si on arrive avec une valeur de 10,5 et qu’il est enregistré avec une valeur à 11, sans évolution de cet index, la valeur sera inférieur à ce qui est dans la base lors de traitement suivant et un message apparaîtra (maintenant il n’y aura toutefois plus de soucis pour le traitement des autres équipements).
Je parle du contrôle « Valeur non enregistrée car index inférieur au précédent ». Avant il n’y était pas et l’enregistrement de valeurs des autres équipements continuait
Bon, ben j’ai eu le même soucis, un peu comme prévu depuis hier soir et donc j’ai aucune donnée, ni de puissance, ni de consommation depuis cette nuit :
[2024-01-18 23:00:24][DEBUG] : ===Lancement d une série de maj =====
[2024-01-18 23:00:24][DEBUG] : ===Equipement dans boucle : 132=====
[2024-01-18 23:00:26][DEBUG] : ===Equipement dans boucle : 59=====
[2024-01-18 23:00:28][DEBUG] : ===Equipement dans boucle : 139=====
[2024-01-18 23:00:28][DEBUG] : --- Valeur non enregistrée car index inférieur au précédent ->eq_id : 139 timestamp : 1705615228 rec_date : 2024-01-18 rec_time :23:00:28 papp : -1 Nouvelle index : 237577.5 Ancien index237578
[2024-01-18 23:01:28][DEBUG] : ===Lancement d une série de maj =====
[2024-01-18 23:01:28][DEBUG] : ===Equipement dans boucle : 132=====
[2024-01-18 23:01:30][DEBUG] : ===Equipement dans boucle : 59=====
[2024-01-18 23:01:32][DEBUG] : ===Equipement dans boucle : 139=====
[2024-01-18 23:01:32][DEBUG] : --- Valeur non enregistrée car index inférieur au précédent ->eq_id : 139 timestamp : 1705615292 rec_date : 2024-01-18 rec_time :23:01:32 papp : -1 Nouvelle index : 237577.5 Ancien index237578
Je vais remettre mon round() sur le nombre d’impulsion totale, je pense qu’il y a un truc qui a changé là dessus quand même depuis les dernières versions, et le dernier fichier que tu as mis ici n’a pas l’air de régler le soucis.