26/05/2011, 16:26:11
Bonjour,
je viens d’essayer le script (heu, oui, le temps me manque en ce moment...)
et j'ai une erreur :
1306422864 ERROR Action : LuaScriptAction error: [string "BP1 = obj("BP1");
BP2 = obj("BP2"); M1 = obj("M1"); M2 = obj("M..."]:1: 'then' expected near
'='
Voici le script:
############################
<rule id="commutation 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");
if M1 = "on"
if BP1 = "on"
set("Downlight", "off");
set("Acceuil fenetre", "off");
set("Accueil mur", "off");
end;
if BP2 = "on"
set("Downlight", "on");
set("Acceuil fenetre", "on");
set("Accueil mur", "on");
end;
end;
if M2 = "on"
if BP1 = "on"
set("Downlight", "off");
set("Accueil fenetre", "on");
set("Accueil mur", "on");
end;
if BP2 = "on"
set("Downlight", "on");
set("Acceuil fenetre", "off");
set("Accueil mur", "off");
set("Accueil mur", "off");
end;
end;
</action>
</actionlist>
</rule>
#########################
A priori je n'ai pas vu de faute particulière. Je continu de chercher mais
si quelqu'un a une idée de suis preneur.
Merci d'avance !
Le 7 avril 2011 16:13, Anthony PENHARD <a.penhard@gmail.com> a écrit :
> au final voici une solution qui gère aussi le "off" du BP
> exemple pour la rule du BP1 :
> cela traitera la rule à chaque changement d'état de "BP1"
>
> <rule id="commut_mode_BP1">
> <condition type="object" id="BP1" trigger="true"/>
> <actionlist>
> <action type="script">
> BP1 = obj("BP1");
> M1 = obj("M1");
> M2 = obj("M2");
> M3 = obj("M3");
> M4 = obj("M4");
> if BP1 = "on"
> if M1 = "on"
> set("S1", "on");
> set("S2", "off");
> ...
> end;
> if M2 = "on"
> set("S1", "off");
> set("S2", "off");
> ...
> end;
> ...
> end;
> if BP1 = "off"
> if M1 = "on"
> set("S1", "on");
> set("S2", "on");
> set("S2_val_ecl", 50);
> ...
> end;
> if M2 = "on"
> set("S1", "off");
> set("S2", "on");
> ...
> end;
> ...
> end;
> </action>
> </actionlist>
> </rule>
>
>
> > il faudra aussi peut-être ne pas oublier le flag 's' dans la définition
> > des objet M et BP
>
> cela ne sert à "rien" le falg 's' sur M ou BP car on ne fait que les "lire"
> par contre sur les sorties S1 à S6 ça peut-être utile pour forcer l'envoi
>
> @+
> Anthony.
>
>
>
>
>
je viens d’essayer le script (heu, oui, le temps me manque en ce moment...)
et j'ai une erreur :
1306422864 ERROR Action : LuaScriptAction error: [string "BP1 = obj("BP1");
BP2 = obj("BP2"); M1 = obj("M1"); M2 = obj("M..."]:1: 'then' expected near
'='
Voici le script:
############################
<rule id="commutation 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");
if M1 = "on"
if BP1 = "on"
set("Downlight", "off");
set("Acceuil fenetre", "off");
set("Accueil mur", "off");
end;
if BP2 = "on"
set("Downlight", "on");
set("Acceuil fenetre", "on");
set("Accueil mur", "on");
end;
end;
if M2 = "on"
if BP1 = "on"
set("Downlight", "off");
set("Accueil fenetre", "on");
set("Accueil mur", "on");
end;
if BP2 = "on"
set("Downlight", "on");
set("Acceuil fenetre", "off");
set("Accueil mur", "off");
set("Accueil mur", "off");
end;
end;
</action>
</actionlist>
</rule>
#########################
A priori je n'ai pas vu de faute particulière. Je continu de chercher mais
si quelqu'un a une idée de suis preneur.
Merci d'avance !
Le 7 avril 2011 16:13, Anthony PENHARD <a.penhard@gmail.com> a écrit :
> au final voici une solution qui gère aussi le "off" du BP
> exemple pour la rule du BP1 :
> cela traitera la rule à chaque changement d'état de "BP1"
>
> <rule id="commut_mode_BP1">
> <condition type="object" id="BP1" trigger="true"/>
> <actionlist>
> <action type="script">
> BP1 = obj("BP1");
> M1 = obj("M1");
> M2 = obj("M2");
> M3 = obj("M3");
> M4 = obj("M4");
> if BP1 = "on"
> if M1 = "on"
> set("S1", "on");
> set("S2", "off");
> ...
> end;
> if M2 = "on"
> set("S1", "off");
> set("S2", "off");
> ...
> end;
> ...
> end;
> if BP1 = "off"
> if M1 = "on"
> set("S1", "on");
> set("S2", "on");
> set("S2_val_ecl", 50);
> ...
> end;
> if M2 = "on"
> set("S1", "off");
> set("S2", "on");
> ...
> end;
> ...
> end;
> </action>
> </actionlist>
> </rule>
>
>
> > il faudra aussi peut-être ne pas oublier le flag 's' dans la définition
> > des objet M et BP
>
> cela ne sert à "rien" le falg 's' sur M ou BP car on ne fait que les "lire"
> par contre sur les sorties S1 à S6 ça peut-être utile pour forcer l'envoi
>
> @+
> Anthony.
>
>
>
>
>