Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Syntax condition dans rules linknx
#9
pour lua il y a quelques infos ici pour linknx :
https://sourceforge.net/apps/mediawiki/l..._Scripting

sinon la doc ici : http://www.lua.org/manual/5.1/

après réflexion tu va devoir faire 2 rule une par BP je pense
donc la condition n'est plus :
<condition type="or">
<condition type="object" id="BP1" value="on" trigger="true"/>
<condition type="object" id="BP2" value="on" trigger="true"/>
</condition>

mais uniquement :
<condition type="object" id="BP1" value="on" trigger="true"/>

et dans ce que je t'ai donner comme exemple il n'y a des actions que sur le
"on" il faut peut-être aussi géré le "off" mais après a toi de jouer le
principe est là...

@+
Anthony



Le 7 avril 2011 12:12, Stephane Triglia <stephane.triglia@gmail.com> a écrit
:

> C'est exactement comme ça que je voyais la chose mais je ne savait pas
> comment le faire (je ne connais pas LUA...) mais je me voyais avec mes "if
> then else" ... ><
>
> Je vais essayer de mettre ça en place avec l'exemple que tu m'a donné je te
> tiens au courant.
> Ça m'ouvre de nouvelle perspective pour ma supervision, je vais regarder le
> LUA d'un peut plus prêt (tu sait ou je peut trouver pour me documenter ?)
>
> Merci encore !!
>
> Stephane
>
> Le 7 avril 2011 11:51, Anthony PENHARD <a.penhard@gmail.com> a écrit :
>
> j'essaye de bien comprendre
>> tu as donc :
>>
>> 4 modes:
>> M1
>> M2
>> M3
>> M4
>>
>> 6 sorties :
>> S1 à S6
>>
>> BP1 = on ou off (entrée 1 des 2 BP de la pièce)
>> BP2 = on ou off (entrée 2 des 2 BP de la pièce)
>>
>> donc un truc du genre :
>>
>> Si M1 = on
>> si BP1 = on => les 6 sorties dans un certain état
>> si BP2 = on => les 6 sorties dans un certain état
>>
>> Si M2 = on
>> si BP1 = on => les 6 sorties dans un certain état
>> si BP2 = on => les 6 sorties dans un certain état
>>
>> ... et idem pour M3 et M4
>>
>> pour moi le plus "simple" c'est de faire 1 "rule" avec un script lua
>> parce que sinon tu vas avoir plusieurs "rule" super longues et "chiante" a
>> écrire pour gérer toutes les combinaisons
>> un truc du genre :
>>
>> <rule id="commut_mode">
>> <condition type="or">
>> <condition type="object" id="BP1" value="on" trigger="true"/>
>> <condition type="object" id="BP2" value="on" trigger="true"/>
>> </condition>
>> <actionlist>
>> <action type="script">
>> BP1 = obj("BP1");
>> BP2 = obj("BP2");
>> M1 = obj("M1");
>> M2 = obj("M2");
>> M3 = obj("M3");
>> M4 = obj("M4");
>> if M1 = "on"
>> if BP1 = "on"
>> set("S1", "on");
>> set("S2", "off");
>> ...
>> end;
>> if BP2 = "on"
>> set("S1", "off");
>> set("S2", "on");
>> ...
>> end;
>> end;
>> if M2 = "on"
>> if BP1 = "on"
>> set("S1", "off");
>> set("S2", "off");
>> ...
>> end;
>> if BP2 = "on"
>> set("S1", "on");
>> set("S2", "on");
>> set("S2_val_ecl", 50);
>> ...
>> end;
>> end;
>> ...
>> </action>
>> </actionlist>
>> </rule>
>>
>>
>> > En fait j'ai un commutateur 4 positions (branché sur un module 4
>> entrées)
>> > qui vas définir l'occupation:
>> >
>> > Soirée,
>> > Projection de film,
>> > Repas,
>> > Normal.
>> >
>> > ET j'ai 2x2 BP (à différent endroit de la pièce) qui doivent agir de la
>> > même
>> > manière (pour les deux entrée 1 des deux BP et les 2 entrée 2 des deux
>> BP)
>> > en fonction de l'activation d'un des 4 modes (donc le on de l'entrée 1
>> ou
>> > 2
>> > ou 3 ou 4).
>> >
>> > Donc c'est bien le principe que tu a retranscrit mais j'ai 6 sorties a
>> > commander (pour faire varier "l'intensité" lumineuse de la pièce en
>> > allumant
>> > plus ou moins de lampes et plus ou moins fort car j'ai un groupes de
>> > lampes
>> > en variation).
>> >
>> > Mais le principe c'est surtout que je ne veut pas une usine a gaz avec
>> 40
>> > BP
>> > pour choisir quelle lampe allumer et le définir en fonction de mon
>> > commutateur.
>> >
>> > Alors la question est est-ce que je suis obligé de faire comme j'ai
>> > présenté
>> > sur mon premier post ou si il y a une solution plus rapide et plus
>> > efficace.
>> >
>> > En tout cas, merci pour ta réponse.
>> >
>> > Stephane
>> >
>> > Le 7 avril 2011 10:47, Anthony PENHARD <a.penhard@gmail.com> a écrit :
>> >
>> >> bonjour,
>> >>
>> >> si je comprends bien tu as 2 BP et pour 1 des deux l'action est
>> >> différente
>> >> en fonction de l'état du premier
>> >>
>> >> états des BP :
>> >> BP1 = on ou off
>> >> BP2 = on ou off
>> >>
>> >> donc un truc du genre :
>> >>
>> >> Si BP1 = on
>> >> si BP2 = on => lampe1 = on
>> >> si BP2 = off => lampe1 = off
>> >> sinon
>> >> si BP2 = on => lampe2 = on
>> >> si BP2 = off => lampe2 = off
>> >>
>> >> est-ce bien ça ?
>> >>
>> >> qu'entends tu par 4 modes et 4 inter ?
>> >>
>> >> sinon oui tu peux envoyer une valeur d'éclairement ce n'est pas en hexa
>> >> mais soit 0-255 ou 0-100 (%) en fonction de la définition de l'object
>> de
>> >> commande valeur d'éclairement respectivement 5.xxx ou 5.001
>> >>
>> >> exemple :
>> >> <action type="set-value" id="Set_valeur_eclairement_lampe1"
>> value="50"/>
>> >>
>> >> @+
>> >> Anthony.
>> >>
>> >>
>> >> > Bonjour,
>> >> >
>> >> > je me permet de poster a la suite de ton sujet car mon problème ce
>> >> situe
>> >> > aussi dans la rédaction de rules linknx.
>> >> >
>> >> > En fait, j'aimerai définir l'action d'un bouton a partir d'un autre
>> >> > bouton.
>> >> > Je m'explique:
>> >> >
>> >> > Si le bouton A est on, alors lors de l'appui sur le bouton 1 vas
>> >> allumer
>> >> > une
>> >> > certaine lumière, mais si le bouton B est on, alors je voudrais que
>> le
>> >> > bouton 1 allume une autre lumière.
>> >> >
>> >> > Plus clairement j'aimerai définir l'action d'un bouton en fonction du
>> >> > contexte dans lequel ce situ une pièce de ma maison (salle de
>> >> projection
>> >> > mais aussi de réception) que je définit en tournant un commutateur...
>> >> >
>> >> > La seule manière de faire que j'ai trouvé:
>> >> >
>> >> > <rule id="alarme">
>> >> > <condition type="and">
>> >> > <condition type="object" id="commut1"
>> >> value="on"
>> >> > trigger="true"/>
>> >> > <condition type="object" id="interrupteur 1"
>> >> > value="on" trigger="true"/>
>> >> > </condition>
>> >> > <actionlist>
>> >> > <action type="set-value" id="lampe1"
>> >> > value="on"/>
>> >> > </actionlist>
>> >> > </rule>
>> >> >
>> >> > <rule id="alarme">
>> >> > <condition type="and">
>> >> > <condition type="object" id="commut2"
>> >> value="on"
>> >> > trigger="true"/>
>> >> > <condition type="object" id="interrupteur 1"
>> >> > value="on" trigger="true"/>
>> >> > </condition>
>> >> > <actionlist>
>> >> > <action type="set-value" id="lampe1"
>> >> > value="off"/>
>> >> > </actionlist>
>> >> > </rule>
>> >> >
>> >> > mais il y a peut être plus simple et moins lourd, car j'ai 4 modes et
>> >> 4
>> >> > interrupteurs avec a chaque fois des ambiances différentes...
>> >> >
>> >> > Autre question, est-ce que je peut envoyer une valeur d'éclairement
>> (a
>> >> ce
>> >> > moment la en hexa)?
>> >> >
>> >> > Merci
>> >> >
>> >> > Si je doit refaire une nouvelle discutions dites le moi.
>> >> >
>> >> > Le 5 avril 2011 13:49, Casi <yannick@magikdo.com> a écrit :
>> >> >
>> >> >> Super, effectivement ça fonctionne! Merci je n'avait pas du tout
>> >> >> pensé a cette syntaxe.
>> >> >>
>> >> >> On 5 avr, 13:45, Anthony PENHARD <a.penh...@gmail.com> wrote:
>> >> >> > Bonjour,
>> >> >> >
>> >> >> > comme ça c'est mieux je pense :
>> >> >> >
>> >> >> > <rule id="escalier_Auto">
>> >> >> > <condition type="and">
>> >> >> > <condition type="or">
>> >> >> > <condition type="object" id="a" value="on" trigger="true"/>
>> >> >> > <condition type="object" id="b" value="on" trigger="true"/>
>> >> >> > <condition type="object" id="c" value="on" trigger="true"/>
>> >> >> > </condition>
>> >> >> > <condition type="object" id="d" value="on" trigger="true" />
>> >> >> > </condition>
>> >> >> > <actionlist>
>> >> >> > <action type="set-value" id="xxx" value="on" flags="f"/>
>> >> >> > </actionlist>
>> >> >> > </rule>
>> >> >> >
>> >> >> > @+
>> >> >> > Anthony.
>> >> >> >
>> >> >> > Le 5 avril 2011 13:39, Casi <yann...@magikdo.com> a écrit :
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > > Bonjour je cherche la syntax pour faire ceci :
>> >> >> >
>> >> >> > > Si a=on ou b=on ou c=on ET d=on Alors xxx=on
>> >> >> >
>> >> >> > > Je l'ai traduit comme ça mais ça ne fonctione pas :
>> >> >> >
>> >> >> > > <rule id="escalier_Auto">
>> >> >> > > <condition type="or">
>> >> >> > > <condition type="object" id="a"
>> >> >> value="on"
>> >> >> > > trigger="true"/>
>> >> >> > > <condition type="object" id="b"
>> >> >> value="on"
>> >> >> > > trigger="true"/>
>> >> >> > > <condition type="object" id="c"
>> >> >> value="on"
>> >> >> > > trigger="true"/>
>> >> >> > > </condition>
>> >> >> > > <condition type="and">
>> >> >> > > <condition type="object" id="d"
>> >> >> value="on"
>> >> >> > > trigger="true" />
>> >> >> > > </condition>
>> >> >> > > <actionlist>
>> >> >> > > <action type="set-value" id="xxx"
>> >> >> value="on"
>> >> >> > > flags="f"/>
>> >> >> > > </actionlist>
>> >> >> > > </rule>
>> >> >>
>> >> >
>> >>
>> >>
>> >>
>> >
>>
>>
>>
>
Répondre


Messages dans ce sujet
Syntax condition dans rules linknx - par Casi - 05/04/2011, 12:39:35
Syntax condition dans rules linknx - par Anthony PENHARD - 05/04/2011, 12:45:58
Syntax condition dans rules linknx - par Casi - 05/04/2011, 12:49:00
Syntax condition dans rules linknx - par Stephane Triglia - 07/04/2011, 09:20:26
Syntax condition dans rules linknx - par Anthony PENHARD - 07/04/2011, 09:47:44
Syntax condition dans rules linknx - par Stephane Triglia - 07/04/2011, 10:06:08
Syntax condition dans rules linknx - par Anthony PENHARD - 07/04/2011, 10:51:48
Syntax condition dans rules linknx - par Stephane Triglia - 07/04/2011, 11:12:56
Syntax condition dans rules linknx - par Anthony PENHARD - 07/04/2011, 12:18:57
Syntax condition dans rules linknx - par frederic Gilliard - 07/04/2011, 14:12:36

Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)