Fonction Statistics

Bonjour, je voudrais écrire plusieurs infos dans un plugin virtuel pour calculer les consommation d’éléctricité de chaque mois.
j’ai un Ecocompteur Legrand dont je récupère les valeurs de conso sur plusieurs circuits.
pour chaque circuit je veux en faire le total mensuel pour chaque mois.
je l’ai fait avec la fonction statisticsbetween mais avec juste la fonction statistics quelle serait la syntaxe ?

statistics(#[Energie][Conso Globale][Production]#,sum,periode) ==> mais c’est la période pour laquelle je ne trouve pas comment je peux spécifier un mois précis de l’année.
exemple si je veux le total de ma conso pour le mois d’avril 2021… comment dois je écrire la période ?

1 « J'aime »

bon, j’ai regardé plein de tutos, testé xx syntaxes, je n’en trouve aucune qui fonctionne pour statistics…
exemples :
statistics(#[Energie][Conso Globale][Production]#,sum,period=2021,04)/1000
statistics(#[Energie][Conso Globale][Production]#,avg,period=2021-04)2430/1000

la seule qui semble donner un résultat cohérent est celle ci
statisticsBetween(#[Energie][Conso Globale][Production]#,sum,1-4-2021 00:00,30-4-2021 23:59)/1000

même celle là ne donne pas le bon résultat
statisticsBetween(#[Energie][Conso Globale][Production]#,avg,1-4-2021 00:00,30-4-2021 23:59)*24/1000

apparemment la fonction statistics ne sait travailler qu’avec le mois, heure, minute si je comprends bien, mais pas avec l’année, donc si on veut un résultat pour un mois d’une année c’est pas possible ?

donc seule la between permet de fixer une période précise en donnant le 1er jour/heure et le dernier jour/heure…

mais reste la différence entre sum et avg

sum je comprends bien, on totalise toutes les valeurs
mais dans beaucoup de tutos je trouve la fonction avg plutot que sum et ensuite on multiplie par 24 souvent et là je ccomprends pas non plus, cette fonction avg fait une moyenne mais quelle moyenne ? horaire ? jour ? minute ? comment sait on de quelle moyenne on parle ?

bref bien compliqué tout ça… j’ai vraiment du mal avec jeedom et ses fonctions… et c’est pas faute d’avoir regardé des tutos… trop de tutos sans doutes…

Bonjour,

StatisticsBetween fonctionne très bien avec les années, et correspond à ce que tu veux faire.

statisticsBetween(commande,calcul,start,end) : Donnent le résultat de différents calculs statistiques (sum, count, std, variance, avg, min, max) sur la période (period=[month,day,hour,min] ou expression PHP) ou entre les 2 bornes demandées (sous la forme Y-m-d H:i:s ou expression PHP).

Statistics c’est pour la « période avant maintenant », par exemple les 30 précédents jours.

C’est ce que je vois, avec between ça marche, j’aurais pensé qu’avec Statistics on pouvait le faire aussi mais j’ai pas trouvé. Edit : ah ok, « avant maintenant »’… merci de la précision…

par contre quand on utilise avg comme on le voit dans beaucoup de tutos, comment sait on quelle moyenne on fait ? moyenne d’heures, minutes, jours ? là j’ai un grand trou de compréhension… ça dépend peut être de l’intervalle que représente chaque valeur ?

1 « J'aime »

S’il y 10 valeurs alors avg = (somme valeurs) / 10.

Si j’ai bien compris :wink:

ça semble logique, reste à comprendre comment sont récupérées mes valeurs, via l’ecocompteur legrand et le plugin qui va avec…

voilà ce qui est dit dans la doc du plugin, donc moyennes de périodes de 2 minutes…
mais si le sum fonctionne finalement… peut etre pas besoin de se creuser le ciboulot…

Oui sur un ecocompteur le cumulé fonctionne, mais ce n’est pas parce que le plugin interroge toutes les 2 minutes que l’ecocompteur le fait à cette fréquence (il le fait à partir d’un seuil).

ok, bon de toutes façons je vais travailler avec la fonction sum, donc finalement peu importe la longueur des intervalles.
par contre, pour tenter de nettoyer mon jeedom, j’ai recréé un plugin virtuel avec juste l’ecocompteur en equipement, puis je recrée les variables (infos) de base puis celles qui totalisent mois par mois, mais elles sortent à zéro…
ça semble vouloir dire que je n’ai l’historique que sur le plugin virtuel d’origine, et que si je le recrée maintenant mon historique repartira depuis aujourd’hui… c’est bien ça ?
Si oui, y a t il un moyen (« simple » ?) de recréer les valeurs calculées dans le plugin d’origine depuis le début ?
Ou suis je condamné à n’utiliser que le plugin d’origine qui a bien tout l’historique ?

Tu ne peux pas de manière simple transfèrer un historique.
Mais sinon il faut revenir à ce que tu voulais faire au début : dans ton virtuel tu utilises les fonctions statistiques mais sur les commandes de ton équipement du plugin ecocompteur qui sont elles historisées.

Après il n’y a pas beaucoup d’intérêt à dupliquer dans un virtuel.

hmmm oui je pense que c’est ce que j’ai fait
j’ai créé un virtuel et dans ce virtuel j’ai ajouté des infos avec les statistiques dont j’ai besoin basées sur les commandes du plugin ecocompteur
mais comme ça fait longtemps que fais divers essais dans ce virtuel j’avais envie de faire une raz en recréant un nouveau virtuel basé toujours sur les variables de l’ecocompteur, puis recréer proprement mes stats.
mais je vois que mes stats commencent à fonctionner, j’ai trouvé une commande de copie des historiques d’un virtuel vers un autre, variable par variable, dans la config de la variable, il y a ça, après les paramètres de purge. Je sais pas si c’est ça qui fait que ça fonctionne mais là j’ai bien mes stats dispo dans le nouveau virtuel…

et… j’ai oublié de te remercier de tenter de suivre mes élucubrations jeedomesques :slight_smile:
c’est sympa, parce que je trouve ça d’un compliqué… mais ça vient doucement, très doucement…

question subsidiaire, y a t il un moyen de faire des modifs, sur les variables du virtuel, en masse ?
par exemple, je dois spécifier 0 décimales, et là je le fais variable par variable, des fois c’est immédiat, mais d’autres fois, souvent, ça prend 30sec à 1 voire 2 mins par modif ! c’est catastrophique !
et je vais en voir d’autres, changer le widget d’affichage par exemple, pour chaque variable etc…

Non pas pour ce type de modification…
Mais après une fois que c’est fait on n’y touche plus !

Par contre pour que ça rame autant ton matériel doit être un peu limité. Car sinon c’est pas normal.
Ça se ressent souvent pas dans le fonctionnement mais plutôt dans l’édition.
Tu peux regarder dans charge dans la page Santé de Jeedom s’il n’y a pas une consommation anormale du cpu.

Si ton problème initial est réglé il faudrait choisir une réponse comme solution pour clôturer le post.
1 post = 1 solution.

Ok, merci, à cloturer donc, solution retenue : utiliser la fonction sum et statisticsbetween

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.