01/03/2011, 23:45:00
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&input=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&input=http://xxx/mfm.php")
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
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&input=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&input=http://xxx/mfm.php")
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