01/03/2011, 23:54:10
Hello,
Tiens, c'est la journée lua.
Pas certains que ca joue, mais il manque pas 1 ";" a chaque fin de ligne ?
http = require("socket.http");
c =
http.request("http://192.168.1.51:8081/requests/status.xml?command=pl_stop")
;
Arnaud
-----Message d'origine-----
De : domotique-eib@googlegroups.com [mailto:domotique-eib@googlegroups.com]
De la part de Casi
Envoyé : mardi 1 mars 2011 23:44
À : domotique-EIB
Objet : Socket lua... tu va me rendre fou !!
Bonsoir !!
J'exécute un script lua via une rule linknx, mais celle-ci ne semble
pas s'exécuter voici en détail le code pour comprendre :
<!-- Règles automatiques -->
<rule id="RadioSDB">
<condition type="object" id="audio_sdb"
value="on" trigger="true"/>
<actionlist type="if-true">
<action type="script">
http = require("socket.http")
c =
http.request("http://192.168.1.51:8081/requests/status.xml?command=in_play&i
nput=http://xxx/mfm.php")
</action>
</actionlist>
<actionlist type="on-false">
<action type="script">
http = require("socket.http")
c =
http.request("http://192.168.1.51:8081/requests/status.xml?command=pl_stop")
</action>
</actionlist>
</rule>
Dans ce code c'est la partie if-true qui ne fonctionne pas !
Pour info, un écouteur vlc est présent sur le 192.168.1.51 port 8081
Si j'exécute cette requête dans un navigateur, cela marche! Si
j'exécute cette requête via lua, cela marche :
bash > lua
> http = require("socket.http")
> c =
http.request("http://192.168.1.51:8081/requests/status.xml?command=in_play&i
nput=ht...")
Par contre via linknx, rien a faire !!!!!!!!!! alors que la condition
on-false est bien exécutée !!!!!!!!
Je vois aussi dans la trace que les deux conditions sont bien
exécutes :
1299018330 INFO Object : New value on for object audio_sdb (type:
1.001)
1299018330 INFO SwitchingObject : SwitchingObject (id=audio_sdb):
Compare value_m='1' to value='1'
1299018330 INFO Condition : ObjectCondition (id='audio_sdb') evaluated
as '1'
1299018330 INFO Action : Execute LuaScriptAction
Write from 1.1.13 to 1/1/5: 00
1299018332 INFO Object : New value off for object audio_sdb (type:
1.001)
1299018332 INFO SwitchingObject : SwitchingObject (id=audio_sdb):
Compare value_m='0' to value='1'
1299018332 INFO Condition : ObjectCondition (id='audio_sdb') evaluated
as '0'
1299018332 INFO Action : Execute LuaScriptAction
Write from 1.1.40 to 1/1/8: 00
Une bonne âme qui connait lua serait le bienvenu !!!!
Cordialement,
Yannick
Tiens, c'est la journée lua.
Pas certains que ca joue, mais il manque pas 1 ";" a chaque fin de ligne ?
http = require("socket.http");
c =
http.request("http://192.168.1.51:8081/requests/status.xml?command=pl_stop")
;
Arnaud
-----Message d'origine-----
De : domotique-eib@googlegroups.com [mailto:domotique-eib@googlegroups.com]
De la part de Casi
Envoyé : mardi 1 mars 2011 23:44
À : domotique-EIB
Objet : Socket lua... tu va me rendre fou !!
Bonsoir !!
J'exécute un script lua via une rule linknx, mais celle-ci ne semble
pas s'exécuter voici en détail le code pour comprendre :
<!-- Règles automatiques -->
<rule id="RadioSDB">
<condition type="object" id="audio_sdb"
value="on" trigger="true"/>
<actionlist type="if-true">
<action type="script">
http = require("socket.http")
c =
http.request("http://192.168.1.51:8081/requests/status.xml?command=in_play&i
nput=http://xxx/mfm.php")
</action>
</actionlist>
<actionlist type="on-false">
<action type="script">
http = require("socket.http")
c =
http.request("http://192.168.1.51:8081/requests/status.xml?command=pl_stop")
</action>
</actionlist>
</rule>
Dans ce code c'est la partie if-true qui ne fonctionne pas !
Pour info, un écouteur vlc est présent sur le 192.168.1.51 port 8081
Si j'exécute cette requête dans un navigateur, cela marche! Si
j'exécute cette requête via lua, cela marche :
bash > lua
> http = require("socket.http")
> c =
http.request("http://192.168.1.51:8081/requests/status.xml?command=in_play&i
nput=ht...")
Par contre via linknx, rien a faire !!!!!!!!!! alors que la condition
on-false est bien exécutée !!!!!!!!
Je vois aussi dans la trace que les deux conditions sont bien
exécutes :
1299018330 INFO Object : New value on for object audio_sdb (type:
1.001)
1299018330 INFO SwitchingObject : SwitchingObject (id=audio_sdb):
Compare value_m='1' to value='1'
1299018330 INFO Condition : ObjectCondition (id='audio_sdb') evaluated
as '1'
1299018330 INFO Action : Execute LuaScriptAction
Write from 1.1.13 to 1/1/5: 00
1299018332 INFO Object : New value off for object audio_sdb (type:
1.001)
1299018332 INFO SwitchingObject : SwitchingObject (id=audio_sdb):
Compare value_m='0' to value='1'
1299018332 INFO Condition : ObjectCondition (id='audio_sdb') evaluated
as '0'
1299018332 INFO Action : Execute LuaScriptAction
Write from 1.1.40 to 1/1/8: 00
Une bonne âme qui connait lua serait le bienvenu !!!!
Cordialement,
Yannick