If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2011-05-24
Bonsoir,
Etrange…
A première vue tout semble correct du côté linknx.
Est-ce que tu utilises des actuateurs différents pour piloter tes volets ?
Tes volets sont-ils tous paramétrés de la même façon dans ETS ?
As tu testé un set on/off tout simple sur les 2 volets récalcitrants ?
Ben
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2011-05-24
C'est le même actuateur, les mêmes paramètres ETS (que j'ai vérifié et revérifié).
Il fonctionne bien si je les pilotes via knxweb (ouverture de 0 à 255 ok), mais avec ce bout de script, rien a faire, je comprends pas.
Et dans une autre rules, je fait un
<action type="set-value" id="Volet_Position_Bureau_fenetre" value="255" />
<action type="set-value" id="Volet_Position_Buanderie_fenetre_avant" value="255" />
et ca, ca marche nickel !
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2011-05-24
Essaie en supprimant les doubles quotes autour de la valeur comme ceci :
set("Volet_Position_Bureau_fenetre", 255);
Ben
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
essaye de faire un "read" dans linknx de la valeur des 2 object qui posent problème
"Volet_Position_Bureau_fenetre" et "Volet_Position_Buanderie_fenetre_avant"
leur valeur est peut-être déjà à 255 (dans linknx et eibd )
si c'est le cas elle n'est et donc n'est pas "ré-envoyée"
il manque soit un listener soit l'info de retour d'état dans la GA dans ETS soit le flag "f" pour forcer l'envoi même si c'est la même valeur
@+
Anthony.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2011-05-26
Supprimer le double quote, j'ai essayer. Ca ne marche pas.
J'ai le flag s qui remplace le f. Ce n'est pas du au flag, c'est sur.
Si je les pilotes directement dans ETS, aucun problème. Si je les pilotes individuellement depuis KNXWEB, aucun soucis.
Nouvelles avancées:
J'ai remplacé le script comme suit:
<actionlist>
<action type="script">
status = obj("Mode_presence");
if status == "on" then value = "120" else value="255" end;
value_down = "255";
set("Volet_Position_Salon_fenetre", value);
set("Volet_Position_Cuisine_fenetre", value);
set("Volet_Position_Bureau_fenetre", value_down);
set("Volet_Position_Buanderie_fenetre_avant", value_down);
</action>
</actionlist>
par
<actionlist>
<action type="script">
status = obj("Mode_presence");
if status == "on" then value = "120" else value="255" end;
value_down = "255";
set("Volet_Position_Salon_fenetre", value);
set("Volet_Position_Cuisine_fenetre", value);
</action>
<action type="set-value" id="Volet_Position_Bureau_fenetre" value="255" />
<action type="set-value" id="Volet_Position_Buanderie_fenetre_avant" value="255" />
</actionlist>
Et ça ne marche pas non plus, alors que ces 2 lignes marche très bien dans mon script qui ferme les volets quand je quitte la maison.
J'ai alors inverser les lignes
set("Volet_Position_Salon_fenetre", value);
set("Volet_Position_Cuisine_fenetre", value);
set("Volet_Position_Bureau_fenetre", value_down);
set("Volet_Position_Buanderie_fenetre_avant", value_down);
en
set("Volet_Position_Bureau_fenetre", value_down);
set("Volet_Position_Buanderie_fenetre_avant", value_down);
set("Volet_Position_Salon_fenetre", value);
set("Volet_Position_Cuisine_fenetre", value);
Et dans ce cas ci, les 2 qui bougeaient ne bougent plus. Les 2 qui ne bougeaient pas si.
On dirait que seulement 2 instructions passent
Quand je regarde le log de linknx, il envoi bien les 4 valeurs (knxConnection: Write …)
Mais je n'ai pas de retour du module volet pour les 2 derniers envoyé.
On dirait que le module hager pour volet ne reçoit pas les 2 derniers, ou ne les execute pas. Ce soir, j'essaye en ajoutant un delai de 2 secondes entre chaque volet
Logs:
1306350900 INFO Action : Execute LuaScriptAction
1306350900 INFO KnxConnection : write(gad=12/7/0, buf, len=3)
1306350900 INFO Object : New value 255 for object Volet_Position_Bureau_fenetre (type: 5.xxx)
1306350900 INFO KnxConnection : write(gad=12/7/3, buf, len=3)
1306350900 INFO Object : New value 255 for object Volet_Position_Buanderie_fenetre_avant (type: 5.xxx)
1306350900 INFO KnxConnection : write(gad=12/7/1, buf, len=3)
1306350900 INFO Object : New value 120 for object Volet_Position_Salon_fenetre (type: 5.xxx)
1306350900 INFO KnxConnection : write(gad=12/7/2, buf, len=3)
1306350900 INFO Object : New value 120 for object Volet_Position_Cuisine_fenetre (type: 5.xxx)
Je reçoit un status 0 sur 2 volets (status 0 = en mouvement). Les 4 volets etait bien à la position 0 en commançant.
1306350900 INFO Object : New value 0 for object Volet_Status_Byte_Bureau_fenetre (type: 5.xxx)
1306350900 INFO Object : New value 0 for object Volet_Status_Byte_Buanderie_fenetre_avant (type: 5.xxx)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2011-05-27
Voila, problème réglé.
J'ai simplement mis un délai entre le démarrage de chaque volet !
Ce serait donc le module Hager pour volet qui ne digère pas 4 instructions si rapide ? Bref, j'ai une solution.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Bonjour,
Je cherche à fermer mes volets automatiquement à la tombée de la nuit
et ce en fonction de la présence ou non.
Pour 2 volets, ils doivent se fermer à 50% si on est présent, à 100%
si on est absent
Pour 2 autres volets, ils doivent se fermer à 100%
J'ai donc écrit la règle suivante:
<rule id="Volet_sunset">
<condition type="timer" trigger="true"><at type="sunset"
offset="+30m" /></condition>
<actionlist>
<action type="script">
status = obj("Mode_presence");
if status == "on" then value = "120" else value="255" end;
value_down = "255";
set("Volet_Position_Salon_fenetre", value);
set("Volet_Position_Cuisine_fenetre", value);
set("Volet_Position_Bureau_fenetre", value_down);
set("Volet_Position_Buanderie_fenetre_avant", value_down);
</action>
</actionlist>
</rule>
Les volet salon et cuisine se ferme bien à 50 ou 100% comme prévu,
mais les 2 autres ne bougent pas.
Quelqu'un aurait-il vu l'erreur que je ne vois pas ?
PS: J'ai aussi essayé en mettant directement
set("Volet_Position_Bureau_fenetre", "255");
Mais rien n'y fait.
PPS:
Définition des objets:
<object id="Volet_Position_Bureau_fenetre" gad="12/7/0"
type="5.xxx" flags="crwts">Volet Bureau fenetre position</object>
<object id="Volet_Position_Salon_fenetre" gad="12/7/1"
type="5.xxx" flags="crwts">Volet Salon fenetre position</object>
<object id="Volet_Position_Cuisine_fenetre" gad="12/7/2"
type="5.xxx" flags="crwts">Volet Cuisine Fenetre position</object>
<object id="Volet_Position_Buanderie_fenetre_avant"
gad="12/7/3" type="5.xxx" flags="crwts">Volet Buanderie Fenetre avant
position</object>
Bonsoir,
Etrange…
A première vue tout semble correct du côté linknx.
Est-ce que tu utilises des actuateurs différents pour piloter tes volets ?
Tes volets sont-ils tous paramétrés de la même façon dans ETS ?
As tu testé un set on/off tout simple sur les 2 volets récalcitrants ?
Ben
C'est le même actuateur, les mêmes paramètres ETS (que j'ai vérifié et revérifié).
Il fonctionne bien si je les pilotes via knxweb (ouverture de 0 à 255 ok), mais avec ce bout de script, rien a faire, je comprends pas.
Et dans une autre rules, je fait un
<action type="set-value" id="Volet_Position_Bureau_fenetre" value="255" />
<action type="set-value" id="Volet_Position_Buanderie_fenetre_avant" value="255" />
et ca, ca marche nickel !
Essaie en supprimant les doubles quotes autour de la valeur comme ceci :
set("Volet_Position_Bureau_fenetre", 255);
Ben
bonsoir,
essaye de faire un "read" dans linknx de la valeur des 2 object qui posent problème
"Volet_Position_Bureau_fenetre" et "Volet_Position_Buanderie_fenetre_avant"
leur valeur est peut-être déjà à 255 (dans linknx et eibd )
si c'est le cas elle n'est et donc n'est pas "ré-envoyée"
il manque soit un listener soit l'info de retour d'état dans la GA dans ETS soit le flag "f" pour forcer l'envoi même si c'est la même valeur
@+
Anthony.
Supprimer le double quote, j'ai essayer. Ca ne marche pas.
J'ai le flag s qui remplace le f. Ce n'est pas du au flag, c'est sur.
Si je les pilotes directement dans ETS, aucun problème. Si je les pilotes individuellement depuis KNXWEB, aucun soucis.
Nouvelles avancées:
J'ai remplacé le script comme suit:
<actionlist>
<action type="script">
status = obj("Mode_presence");
if status == "on" then value = "120" else value="255" end;
value_down = "255";
set("Volet_Position_Salon_fenetre", value);
set("Volet_Position_Cuisine_fenetre", value);
set("Volet_Position_Bureau_fenetre", value_down);
set("Volet_Position_Buanderie_fenetre_avant", value_down);
</action>
</actionlist>
par
<actionlist>
<action type="script">
status = obj("Mode_presence");
if status == "on" then value = "120" else value="255" end;
value_down = "255";
set("Volet_Position_Salon_fenetre", value);
set("Volet_Position_Cuisine_fenetre", value);
</action>
<action type="set-value" id="Volet_Position_Bureau_fenetre" value="255" />
<action type="set-value" id="Volet_Position_Buanderie_fenetre_avant" value="255" />
</actionlist>
Et ça ne marche pas non plus, alors que ces 2 lignes marche très bien dans mon script qui ferme les volets quand je quitte la maison.
J'ai alors inverser les lignes
set("Volet_Position_Salon_fenetre", value);
set("Volet_Position_Cuisine_fenetre", value);
set("Volet_Position_Bureau_fenetre", value_down);
set("Volet_Position_Buanderie_fenetre_avant", value_down);
en
set("Volet_Position_Bureau_fenetre", value_down);
set("Volet_Position_Buanderie_fenetre_avant", value_down);
set("Volet_Position_Salon_fenetre", value);
set("Volet_Position_Cuisine_fenetre", value);
Et dans ce cas ci, les 2 qui bougeaient ne bougent plus. Les 2 qui ne bougeaient pas si.
On dirait que seulement 2 instructions passent
Quand je regarde le log de linknx, il envoi bien les 4 valeurs (knxConnection: Write …)
Mais je n'ai pas de retour du module volet pour les 2 derniers envoyé.
On dirait que le module hager pour volet ne reçoit pas les 2 derniers, ou ne les execute pas. Ce soir, j'essaye en ajoutant un delai de 2 secondes entre chaque volet
Logs:
1306350900 INFO Action : Execute LuaScriptAction
1306350900 INFO KnxConnection : write(gad=12/7/0, buf, len=3)
1306350900 INFO Object : New value 255 for object Volet_Position_Bureau_fenetre (type: 5.xxx)
1306350900 INFO KnxConnection : write(gad=12/7/3, buf, len=3)
1306350900 INFO Object : New value 255 for object Volet_Position_Buanderie_fenetre_avant (type: 5.xxx)
1306350900 INFO KnxConnection : write(gad=12/7/1, buf, len=3)
1306350900 INFO Object : New value 120 for object Volet_Position_Salon_fenetre (type: 5.xxx)
1306350900 INFO KnxConnection : write(gad=12/7/2, buf, len=3)
1306350900 INFO Object : New value 120 for object Volet_Position_Cuisine_fenetre (type: 5.xxx)
Je reçoit un status 0 sur 2 volets (status 0 = en mouvement). Les 4 volets etait bien à la position 0 en commançant.
1306350900 INFO Object : New value 0 for object Volet_Status_Byte_Bureau_fenetre (type: 5.xxx)
1306350900 INFO Object : New value 0 for object Volet_Status_Byte_Buanderie_fenetre_avant (type: 5.xxx)
Voila, problème réglé.
J'ai simplement mis un délai entre le démarrage de chaque volet !
Ce serait donc le module Hager pour volet qui ne digère pas 4 instructions si rapide ? Bref, j'ai une solution.