Ce Forum passera en lecture seule en janvier 2020
Image
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

calcul avec condition dans virtuel

Réservé à l'utilisation et la création des objets virtuels dans JEEDOM
cocolate
Timide
Messages : 46
Inscription : 08 mars 2017, 09:19

calcul avec condition dans virtuel

Message par cocolate » 05 juin 2019, 00:21

Bonsoir,
Je n'ai pas trouvé si ce que je cherche à faire est possible ou alors si c'est que je n'ai pas la bonne logique.
Je récupère les 4 valeurs de température de ma VMC double-flux via une passerelle KNX. J'ai créé un virtuel qui calcul le rendement de ma VMC DF sur la base du calcul constructeur : round(round(#[maison][VMC][Air neuf soufflé]#-#[maison][VMC][Air neuf]#,4)/round(#[maison][VMC][Air repris]#-#[maison][VMC][Air neuf]#,4)*100)
Le problème est que quand ma VMC passe en bypass de l'échangeur (valeur 1/0 booléenne que je récupère sans souci), le calcul du rendement n'a plus de sens et les valeurs calculées viennent polluer l'historique du rendement.
Est-il possible d'ajouter une condition au calcul du rendement dans le virtuel ? Genre, bypass=0 le virtuel calcule le rendement et bypass=1 le calcul ne se fait plus et surtout, aucune valeur ne s'enregistre dans l'historique du virtuel.
J'espère avoir été clair et que ce sujet n'a pas déjà été discuté (si c'est le cas je me contenterai du lien).
Bonne soirée.

madcow
Timide
Messages : 299
Inscription : 06 févr. 2019, 21:41

Re: calcul avec condition dans virtuel

Message par madcow » 05 juin 2019, 07:39

Bonjour,

As-tu essayé avec un opérateur ternaire ?
DIY Proxmox sur HP Proliant
Débutant sur Jeedom

cocolate
Timide
Messages : 46
Inscription : 08 mars 2017, 09:19

Re: calcul avec condition dans virtuel

Message par cocolate » 05 juin 2019, 09:17

Merci pour ta réponse. Non je n'avais pas connaissance de cette possibilité. Je vais essayer, j'ai trouvé un post qui en parle : viewtopic.php?f=30&t=40477

cocolate
Timide
Messages : 46
Inscription : 08 mars 2017, 09:19

Re: calcul avec condition dans virtuel

Message par cocolate » 05 juin 2019, 21:09

Ca fonctionne très bien avec un opérateur ternaire. Pour info si quelqu'un d'autre cherche le même genre de calcul de valeur à condition voici la formule :
(condition==xxx) ? "valeur1" : "valeur2"
Si condition==xxx alors la valeur du virtuel vaudra valeur1 sinon elle vaudra valeur2
Ce qui donne dans mon cas ceci.
(#[maison][VMC][Bypass]# == 0) ? "round(round(#[maison][VMC][Air neuf soufflé]#-#[maison][VMC][Air neuf]#,4)/round(#[maison][VMC][Air repris]#-#[maison][VMC][Air neuf]#,4)*100)" : "0"

Merci beaucoup MADCOW, je ne connaissais pas et c'est trop classe !

julien74
Timide
Messages : 213
Inscription : 02 déc. 2015, 15:11

Re: calcul avec condition dans virtuel

Message par julien74 » 07 juin 2019, 11:47

cocolate a écrit :
05 juin 2019, 21:09
Ca fonctionne très bien avec un opérateur ternaire. Pour info si quelqu'un d'autre cherche le même genre de calcul de valeur à condition voici la formule :
(condition==xxx) ? "valeur1" : "valeur2"
Si condition==xxx alors la valeur du virtuel vaudra valeur1 sinon elle vaudra valeur2
Ce qui donne dans mon cas ceci.
(#[maison][VMC][Bypass]# == 0) ? "round(round(#[maison][VMC][Air neuf soufflé]#-#[maison][VMC][Air neuf]#,4)/round(#[maison][VMC][Air repris]#-#[maison][VMC][Air neuf]#,4)*100)" : "0"

Merci beaucoup MADCOW, je ne connaissais pas et c'est trop classe !
Une autre facon est d'utiliser les "maths":
utiliser le fait que le résultat d'une condition vaut les valeurs numériques 0 ou 1:

Code : Tout sélectionner

(#[maison][VMC][Bypass]# == 0)*round(round(#[maison][VMC][Air neuf soufflé]#-#[maison][VMC][Air neuf]#,4)/round(#[maison][VMC][Air repris]#-#[maison][VMC][Air neuf]#,4)*100)
Aussi écrit:

Code : Tout sélectionner

(!#[maison][VMC][Bypass]#)*round(round(#[maison][VMC][Air neuf soufflé]#-#[maison][VMC][Air neuf]#,4)/round(#[maison][VMC][Air repris]#-#[maison][VMC][Air neuf]#,4)*100)

cocolate
Timide
Messages : 46
Inscription : 08 mars 2017, 09:19

Re: calcul avec condition dans virtuel

Message par cocolate » 07 juin 2019, 13:05

merci Julien74

Répondre

Revenir vers « [Plugin officiel] Virtuels »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité