Syntax condition dans rules linknx - Version imprimable +- Forum KNX francophone / English KNX forum (https://www.knx-fr.com) +-- Forum : Français (https://www.knx-fr.com/forumdisplay.php?fid=3) +--- Forum : Logiciels libres (linknx, knxweb, pKNyX,...) (https://www.knx-fr.com/forumdisplay.php?fid=10) +--- Sujet : Syntax condition dans rules linknx (/showthread.php?tid=592) |
Syntax condition dans rules linknx - Casi - 05/04/2011 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> Syntax condition dans rules linknx - Anthony PENHARD - 05/04/2011 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 <yannick@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> Syntax condition dans rules linknx - Casi - 05/04/2011 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> Syntax condition dans rules linknx - Stephane Triglia - 07/04/2011 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> > Syntax condition dans rules linknx - Anthony PENHARD - 07/04/2011 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> >> > Syntax condition dans rules linknx - Stephane Triglia - 07/04/2011 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> > >> > > > > > Syntax condition dans rules linknx - Anthony PENHARD - 07/04/2011 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> >> >> >> > >> >> >> > Syntax condition dans rules linknx - Stephane Triglia - 07/04/2011 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> > >> >> > >> > > >> > >> > >> > > > > > Syntax condition dans rules linknx - Anthony PENHARD - 07/04/2011 pour lua il y a quelques infos ici pour linknx : https://sourceforge.net/apps/mediawiki/linknx/index.php?title=Lua_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> >> >> >> >> >> > >> >> >> >> >> >> >> > >> >> >> > Syntax condition dans rules linknx - frederic Gilliard - 07/04/2011 il faudra aussi peut-être ne pas oublier le flag 's' dans la définition des objet M et BP |