Erreur sur Min Max

Je n’avais pas vu cette formule. Je suis resté sur le titre de la discussion et le 1er post avec les valeurs max inférieures à la temp actuelle. Le scénario, c’est l’étape après.

Salut @jpty,
Entre temps j’ai fait quelques essais . Le « ° » n’empêche pas la formule de fonctionner effectivement (testeur d’expression), même avec une commande info numérique. Cependant on ne devrait pas pouvoir exploiter le résultat dans un calcul numérique.
Ton exemple tend à monter qu’il ne suffit pas que la valeur d’une commande change (ton slider) dans un virtuel pour qu’il y ait un refresh automatique, ce que je croyais naïvement .

Je n’avais pas bien appréhendé le concept de lissage tous les 5mn (pas trouvé dans la doc officielle qui parle surtout de l’archivage de l’historique par paquet de 2heures).

sinon j’ai glané des infos dans ce post « filtrage-des-donnees-recues-min-max-errones/5267 » (je sais pas l’insérer).
Je me demande par ailleurs quelle valeur de la commande utilise le paramètre « Now » dans les formules type between: la valeur #value# ou la dernière valeur historisée ??

Voilà pour l’insertion de ton lien :

Tu sélectionnes le bouton « … » en bas du post souhaité puis le bouton de lien (chaîne) que tu peux copier et coller dans un autre post

Super! Marci…

Bonjour,
Je n’ai trouvé les 5 minutes pour le lissage qu’en surveillant la bdd. Je n’ai pas regardé le code source.
AMHA, il ne devrait pas y avoir de lissage dans la table history. Toutes les valeurs devraient être conservées et uniquement lissées chaque nuit lors de leur archivage.
Si on prend un exemple de 5 valeurs arrivant dans un intervalle de 5 minutes, 200 180 170 200 0 Jeedom va les lisser au fur et à mesure de leur arrivée en (200+180)/2= 190 puis (190+170)/2 = 180 puis (180+200)/2 = 190 puis (190+0)/2 = 95 alors que la moyenne des 5 valeurs sur les 5 minutes est 150.

now c’est une des valeurs possible du 1er paramètre de strtotime PHP: strtotime - Manual
Dans l’exemple de cette discussion, il veut la valeur max d’une commande entre minuit et maintenant.

OK. Ca correspond bien à ça:

J’ai bien compris le sens php de « now ». Je me demandais simplement si, quand on demandait la valeur d’une commande à l’instant « now », il allait chercher cette valeur « value », stockée je ne sais où (table des commandes ?) ou bien prendre la dernière valeur enregistrée dans la fameuse table history. Pure curiosité…

Oui, l’historisation est un vaste sujet déjà abordé maintes fois. :thinking:

Pour les valeurs actuelles, il va les chercher en priorité en cache.

Alors, peut on dire que le max (des températures dans mon cas) sur une journée n’est pas forcément le max des valeurs discrètes mesurées lors de cette même journée ?

@ste.che , @jpty ,

AMHA ( :grin: Je ne connaissais pas cet acronyme) pas forcément « exactement »… . J’ai reproduit un virtuel similaire au tien et j’ai déjà constaté des soucis similaires : température actuelle inférieure au minimum calculé. Je pense que le refresh du virtuel est la cause principale.

Ce sujet m’a interpellé car j’ai rencontré des problèmes similaires sur des consos de convecteurs électriques. Mes radiateurs connectés indiquent la consommation globale d’énergie depuis leur mise en service, en KWxh. Le rythme est beaucoup plus lent : minimum 1 h pour 1 kWxh avec un convecteur de puissance 1 KW pendant 1 heure. Croisé avec le CRON au 1/4h du plugin qui va chercher l’information ça ne fait pas beaucoup de valeurs au final. Pas perturbé par le lissage « 5 mn » et très peu par le lissage 24h.
Sauf que si il n y a pas eu de changement sur une journée il n’y a pas de valeur dans la bdd « archive-history » et les formules max min… basées sur yesterday, to day-1 etc n’aiment pas beaucoup. Le but: calculer la consommation du jour et de la veille).

En conclusion si on veut utiliser efficacement ces formules il faut bien comprendre les mécanismes d’historisation, d’archivage et d’interprétation des dates au format relatif PHP.

Enfin pour le problème des températures min max, des widgets ont étés développés (voir @jag notamment) mais je n’ai aucune idée de comment ils traitent le problème ni même si ils le traitent.

Il vous reste à faire:

  • Changer le lissage des valeurs remontées par vos capteurs en Aucun dans le plugin.
  • Sur le virtuel, passer le type des valeurs où il y a les calculs maxBetween en Numérique et enlever les ° pour avoir des valeurs numériques utilisables ensuite dans des scénarios. ( ° à mettre dans le champ Unité de la commande si besoin)
  • Mettre l’auto actualisation du virtuel à la minute * * * * *

Vous en êtes où ? :wink:

1 « J'aime »

Hello je vais lire tout simplement l historique de la commande et je ne fais rien d autre

@JAG
Merci de ton intervention. Donc il peut arriver épisodiquement et temporairement que l atempérature affichée soit supérieure au max ou inférieure au Min…

Ah je ne pense pas

J’ai ouvert un ticket pour avoir le retour de l’équipe Jeedom !

Vous avez déjà eu le retour de l’équipe Jeedom dans ce que Garnoulle62 a écrit au dessus:

J’ai quand même du mal à comprendre si on peut avoir le vrai max et le vrai min ou si on ne peut pas. Un max et un min sont des valeurs discrètes qui ne doivent pas être modifiées par un méthode de lissage ou autre. Si ce n’est pas un vrai min ni un vrai max, il faut l’indiquer dans la doc et pourquoi ne pas corriger ce comportement ?

Les valeurs sont lissées avant le calcul des max, min.
Lisez toute la discussion fournie en lien juste au dessus. Toutes les réponses à vos questions sont déjà dedans.

Vous n’avez pas répondu:

Et e faisant ça on a le VRAI Max et le VRAI Min ?

Bah oui puisqu’il n’y a plus de lissage qui écrête les données avant calcul des maxs/mins.
C’est ce que j’ai essayé de vous expliquer dans le message 29

Dans mon cas, pour faire le test, il faut changer l’auto actualisation d’un équipement Zigbee, ce qui est déconseillé par Jeedom (voir photo). Je ferai donc la manip quand j’aurai une solution de backup complète. Si quelqu’un peut le faire sans prendre de risque, je suis preneur de la réponse.