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

Status "texte" a valeurs multiples en standard

De l'installation à l'utilisation venez discuter de JEEDOM au quotidien
Dapolux
Timide
Messages : 227
Inscription : 12 déc. 2016, 13:48
Localisation : Lille

Status "texte" a valeurs multiples en standard

Message par Dapolux » 01 sept. 2019, 11:34

Bonjour,

J'ai actuellement des servomoteurs pour le chauffage, pilotés par une vanne 3 voie, qui est pilotée par des relais, et je souhaiterais réussir a avoir en standard (c'est à dire avec un retour de commande direct, pas juste un affichage paramétré dans un widget spécifique), en fonction de la valeur des relais, tout cela dans un Virtuel.

Mon besoin est donc, à partir d'une agréation de statuts (commandes infos binaires), de déterminer une info de type texte (info "Autre" je suppose) .

En gros :
==> si status relais 1 = 0 et status relais 2 = 0 alors nouvelle info = "texte 1"
==> si status relais 1 = 0 et status relais 2 = 1 alors nouvelle info = "texte 2"
==> si status relais 1 = 1 et status relais 2 = 0 alors nouvelle info = "texte 3"
==> si status relais 1 = 1 et status relais 2 = 1 alors nouvelle info = "texte 4"

Par le calcul, je peux gérer 4 résultats numériques différents (par exemple en faisant status relais 1 + 2x status relais 2, j'aurais donc bien 4 résultats possibles: 0,1,2 et 3), mais ce que je voudrais c'est que la commande d'info me renvoi le texte associé et non un numérique.

A part en faisant un widget spécifique une idée qui serait un peu plus simple standard?

Bonne journée,
Dapolux
Jeedom DIY@RPI3
Aeon Stick Zwave : 15 FGR222, 2 FGS222, 6 FGD212, Oeil de Fibaro, 1 Wallplug
RFXCOM : 3 Prises, Téléco, 4 Sondes temp. / Moteur Somfy
Multimédia: Nas Synology / 2 KODI@RPI / Max2Play@RPI3
Xiaomi: 3 RGB Yeelight

Mips2648
Actif
Messages : 929
Inscription : 08 sept. 2018, 17:09

Re: Status "texte" a valeurs multiples en standard

Message par Mips2648 » 02 sept. 2019, 09:36

Bonjour,

Je ne suis certain de comprendre ta question car il me semble que la réponse est dans ton post:
Tu fais ton virtuel avec les valeurs (numérique ou binaire) de tes relais et une commande info avec les conditions en valeurs.
Evidemment au plus du a de relais au plus tu vas complexifier ton test
Mais donc en mettant dans le champs valeur de l'info virtuel qlq chose comme

Code : Tout sélectionner

(condition==xxx) ? "valeur1" : "valeur2"
tu dois t'en sortir.

Autre solution, plus facilement maintenable car le résultat sera plus lisible je pense, en déclenchant un scénario dès que la valeur d'un des relais change et ce scénario test les conditions pour définir la valeur de la commande info.
Donc même principe mais dans un scénario plus facile à lire qu'une ligne surtout si tu dois tester 2 valeurs binaires.
Développeur et auteur des plugins suivants, (entre autre Arlo, Solaredge, Design Image, Gotify...) et aidant sur plein d'autres!

Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648

Dapolux
Timide
Messages : 227
Inscription : 12 déc. 2016, 13:48
Localisation : Lille

Re: Status "texte" a valeurs multiples en standard

Message par Dapolux » 02 sept. 2019, 16:44

Hello,

Avec les scenarios je savais, mais ça devient un peu usina à gaz pour cela (un peu l'impression de sortir le bazooka pour une mouche :) ).

Ta solution répond bien à mon besoin, je vais arriver à imbriquer mes conditions je pense (je ne savais que cette instruction était possible), mais j'ai juste un petit souci peut être de syntax je pense:
Je met dans le testeur d'expressions: (#[En test][MonWemos][Vanne RDC On-Off]# ==1)?"Yes":"No" ==> j'ai comme résultat : Yes (sachant que l'info de la vanne est un binaire qui vaut 1), donc c'est bien ce qu'il me faut.
Je créé une info de type "Autre" dans mon virtuel, avec comme valeur (calcul) : (#[En test][MonWemos][Vanne RDC On-Off]#==1) ? "Yes" : "No" ==> mon résultat: (1==1) ? "Yes" : "No"
J'ai testé avec des espaces en plus entre chaque instruction, je n'arrive pas à mes fins.

Merci!
Jeedom DIY@RPI3
Aeon Stick Zwave : 15 FGR222, 2 FGS222, 6 FGD212, Oeil de Fibaro, 1 Wallplug
RFXCOM : 3 Prises, Téléco, 4 Sondes temp. / Moteur Somfy
Multimédia: Nas Synology / 2 KODI@RPI / Max2Play@RPI3
Xiaomi: 3 RGB Yeelight

winhex
Actif
Messages : 3774
Inscription : 23 janv. 2015, 01:41

Re: Status "texte" a valeurs multiples en standard

Message par winhex » 02 sept. 2019, 19:53

bonjour
un manque connu solutionné en créant ta propre cmd Si ici
viewtopic.php?f=59&t=41804&p=681370&hilit=php#p680439

Dapolux
Timide
Messages : 227
Inscription : 12 déc. 2016, 13:48
Localisation : Lille

Re: Status "texte" a valeurs multiples en standard

Message par Dapolux » 02 sept. 2019, 20:21

Top, ça fonctionne (je ne connaissais pas ces user functions, je sent que ça va bien me servir)

Merci bcp!
Jeedom DIY@RPI3
Aeon Stick Zwave : 15 FGR222, 2 FGS222, 6 FGD212, Oeil de Fibaro, 1 Wallplug
RFXCOM : 3 Prises, Téléco, 4 Sondes temp. / Moteur Somfy
Multimédia: Nas Synology / 2 KODI@RPI / Max2Play@RPI3
Xiaomi: 3 RGB Yeelight

Dapolux
Timide
Messages : 227
Inscription : 12 déc. 2016, 13:48
Localisation : Lille

Re: Status "texte" a valeurs multiples en standard

Message par Dapolux » 02 sept. 2019, 21:10

Bon en fait il va falloir que je potasse encore un peu, car dans la solution d'utiliser une fonction "si" perso, il faut passer en paramètre 1 et 1 seule commande, je ne peux pas lui mettre une somme ou autre.

Je pense que je vais directement créer une commande qui me renvoi le résultat qui va bien
Jeedom DIY@RPI3
Aeon Stick Zwave : 15 FGR222, 2 FGS222, 6 FGD212, Oeil de Fibaro, 1 Wallplug
RFXCOM : 3 Prises, Téléco, 4 Sondes temp. / Moteur Somfy
Multimédia: Nas Synology / 2 KODI@RPI / Max2Play@RPI3
Xiaomi: 3 RGB Yeelight

Avatar de l’utilisateur
tomdom
Actif
Messages : 925
Inscription : 14 nov. 2016, 05:46

Re: Status "texte" a valeurs multiples en standard

Message par tomdom » 03 sept. 2019, 08:12

Bonjour,

Dans une "userFunction", tu peux mettre autant de paramètre que tu veux. Exemple pour ton cas :

Code : Tout sélectionner

public static function vanneStatus($relai1,$relai2) {
	$r1=scenarioExpression::setTags(trim($relai1," \t\n\r\0\x0B'\""));
	$r2=scenarioExpression::setTags(trim($relai2," \t\n\r\0\x0B'\""));
	if($r1==0 && $r2==0) return	"etat1";
	.................
}	
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.

Berry22
Timide
Messages : 3
Inscription : 04 oct. 2019, 17:53

Re: Status "texte" a valeurs multiples en standard

Message par Berry22 » 04 oct. 2019, 21:24

Dans une "userFunction", tu peux mettre autant de paramètre que tu veux. my ip birthday wishes tneb

Merci!!!

Répondre

Revenir vers « Utilisation »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 7 invités