Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Linknx forcer execution d'un script
#1
Bonjour,

J'ai un bouton poussoir qui envoie une valeur de 1 dans une adresse de
groupe.
Dans linknx j'ai cette objet :

<object id="music_cuisine_PLAY_TOPMUSIC" gad="8/0/3"
flags="cwtuf">Musique cuisine play Top Music</object>

et cette règle :

<rule id="radio cuisine play Top Music">
<condition type="object" id="music_cuisine_PLAY_TOPMUSIC" value="1"
trigger="true"/>
<actionlist>
<action type="script">
socket = require('socket');
client = socket.connect('192.168.1.150',9090);
clientConfusedend("00:04:20:17:38:0c favorites playlist play item_id:
1.1\n");
client:close();
</action>
</actionlist>
</rule>

La première pression sur le poussoir lance bien ma radio mais les fois
suivante non. Existe t-il une astuce pour que Linknx exécute le script
chaque fois que j'envoie la valeur sur le bus même si celle-ci ne
change pas?

Merci,

Christophe
#2
Bonjour,

si je ne me trompe pas ton objet est de type type="1.001"
donc les valeurs son on/off (a priori avec "1" ça a l'air de fonctionner)
essai en forçant à off ton objet comme ça :

<rule id="radio cuisine play Top Music">
<condition type="object" id="music_cuisine_PLAY_ TOPMUSIC" value="on"
trigger="true"/>
<actionlist>
<action type="script">socket = require('socket'); client =
socket.connect('192.168.1.150',9090); clientConfusedend("00:04:20:17:38:0c
favorites playlist play item_id: 1.1\n"); client:close();</action>
<action type="set-value" id="music_cuisine_PLAY_TOPMUSIC" value="off"/>
</actionlist>
</rule>

@+
Anthony.

Le 31 décembre 2010 10:16, kraven <ohl.christophe@gmail.com> a écrit :

> Bonjour,
>
> J'ai un bouton poussoir qui envoie une valeur de 1 dans une adresse de
> groupe.
> Dans linknx j'ai cette objet :
>
> <object id="music_cuisine_PLAY_TOPMUSIC" gad="8/0/3"
> flags="cwtuf">Musique cuisine play Top Music</object>
>
> et cette règle :
>
> <rule id="radio cuisine play Top Music">
> <condition type="object"
> id="music_cuisine_PLAY_TOPMUSIC" value="1"
> trigger="true"/>
> <actionlist>
> <action type="script">
> socket = require('socket');
> client = socket.connect('192.168.1.150',9090);
> clientConfusedend("00:04:20:17:38:0c favorites playlist
> play item_id:
> 1.1\n");
> client:close();
> </action>
> </actionlist>
> </rule>
>
> La première pression sur le poussoir lance bien ma radio mais les fois
> suivante non. Existe t-il une astuce pour que Linknx exécute le script
> chaque fois que j'envoie la valeur sur le bus même si celle-ci ne
> change pas?
>
> Merci,
>
> Christophe
>
#3
Super merci ca marche pour le cas présent.

Par contre il faudrait quand meme que je puisse forcer le script si la
valeur ne change pas pour la gestion du volume.

A+

On 31 déc, 10:50, Anthony PENHARD <a.penh...@gmail.com> wrote:
> Bonjour,
>
> si je ne me trompe pas ton objet est de type type="1.001"
> donc les valeurs son on/off (a priori avec "1" ça a l'air de fonctionner)
> essai en forçant à off ton objet comme ça :
>
> <rule id="radio cuisine play Top Music">
>   <condition type="object" id="music_cuisine_PLAY_ TOPMUSIC" value="on"
> trigger="true"/>
>   <actionlist>
>     <action type="script">socket = require('socket'); client =
> socket.connect('192.168.1.150',9090); clientConfusedend("00:04:20:17:38:0c
> favorites playlist play item_id: 1.1\n"); client:close();</action>
>     <action type="set-value" id="music_cuisine_PLAY_TOPMUSIC" value="off"/>
>   </actionlist>
> </rule>
>
> @+
> Anthony.
>
> Le 31 décembre 2010 10:16, kraven <ohl.christo...@gmail.com> a écrit :
>
>
>
> > Bonjour,
>
> > J'ai un bouton poussoir qui envoie une valeur de 1 dans une adresse de
> > groupe.
> > Dans linknx j'ai cette objet  :
>
> > <object id="music_cuisine_PLAY_TOPMUSIC" gad="8/0/3"
> > flags="cwtuf">Musique cuisine play Top Music</object>
>
> > et cette règle :
>
> > <rule id="radio cuisine play Top Music">
> >                        <condition type="object"
> > id="music_cuisine_PLAY_TOPMUSIC" value="1"
> > trigger="true"/>
> >                        <actionlist>
> >                        <action type="script">
> >                        socket = require('socket');
> >                        client = socket.connect('192.168.1.150',9090);
> >                        clientConfusedend("00:04:20:17:38:0c favorites playlist
> > play item_id:
> > 1.1\n");
> >                        client:close();
> >                        </action>
> >                        </actionlist>
> > </rule>
>
> > La première pression sur le poussoir lance bien ma radio mais les fois
> > suivante non. Existe t-il une astuce pour que Linknx exécute le script
> > chaque fois que j'envoie la valeur sur le bus même si celle-ci ne
> > change pas?
>
> > Merci,
>
> > Christophe- Masquer le texte des messages précédents -
>
> - Afficher le texte des messages précédents -
#4
Salut,

Si tu as la version 0.0.1.27, tu peux utiliser <actionlist type="if-
true"> a la place de <actionlist>, de cette manière, la liste
d'actions est exécutée chaque fois que la condition est évaluée à
"true" et pas uniquement lorsque la condition passe de "false" a
"true"

Bonne année 2011 avec un peu d'avance,

Jean-François

On 31 déc, 15:11, kraven <ohl.christo...@gmail.com> wrote:
> Super merci ca marche pour le cas présent.
>
> Par contre il faudrait quand meme que je puisse forcer le script si la
> valeur ne change pas pour la gestion du volume.
>
> A+
>
> On 31 déc, 10:50, Anthony PENHARD <a.penh...@gmail.com> wrote:
>
> > Bonjour,
>
> > si je ne me trompe pas ton objet est de type type="1.001"
> > donc les valeurs son on/off (a priori avec "1" ça a l'air de fonctionner)
> > essai en forçant à off ton objet comme ça :
>
> > <rule id="radio cuisine play Top Music">
> >   <condition type="object" id="music_cuisine_PLAY_ TOPMUSIC" value="on"
> > trigger="true"/>
> >   <actionlist>
> >     <action type="script">socket = require('socket'); client =
> > socket.connect('192.168.1.150',9090); clientConfusedend("00:04:20:17:38:0c
> > favorites playlist play item_id: 1.1\n"); client:close();</action>
> >     <action type="set-value" id="music_cuisine_PLAY_TOPMUSIC" value="off"/>
> >   </actionlist>
> > </rule>
>
> > @+
> > Anthony.
>
> > Le 31 décembre 2010 10:16, kraven <ohl.christo...@gmail.com> a écrit :
>
> > > Bonjour,
>
> > > J'ai un bouton poussoir qui envoie une valeur de 1 dans une adresse de
> > > groupe.
> > > Dans linknx j'ai cette objet  :
>
> > > <object id="music_cuisine_PLAY_TOPMUSIC" gad="8/0/3"
> > > flags="cwtuf">Musique cuisine play Top Music</object>
>
> > > et cette règle :
>
> > > <rule id="radio cuisine play Top Music">
> > >                        <condition type="object"
> > > id="music_cuisine_PLAY_TOPMUSIC" value="1"
> > > trigger="true"/>
> > >                        <actionlist>
> > >                        <action type="script">
> > >                        socket = require('socket');
> > >                        client = socket.connect('192.168.1.150',9090);
> > >                        clientConfusedend("00:04:20:17:38:0c favorites playlist
> > > play item_id:
> > > 1.1\n");
> > >                        client:close();
> > >                        </action>
> > >                        </actionlist>
> > > </rule>
>
> > > La première pression sur le poussoir lance bien ma radio mais les fois
> > > suivante non. Existe t-il une astuce pour que Linknx exécute le script
> > > chaque fois que j'envoie la valeur sur le bus même si celle-ci ne
> > > change pas?
>
> > > Merci,
>
> > > Christophe- Masquer le texte des messages précédents -
>
> > - Afficher le texte des messages précédents -
>
>
#5
Merci Jeff ta solution fonctionne à merveille.
A priori le wiki de linknx n'est pas à jour car je n'ai pas trouvé
cette fonction. Existe t'il un fichier reprenant toute les
fonctionnalité de Linknx?

A+ et bonne année 2011 à tous.

On 31 déc 2010, 16:23, jef2000 <jef2...@ouaye.net> wrote:
> Salut,
>
> Si tu as la version 0.0.1.27, tu peux utiliser <actionlist type="if-
> true"> a la place de <actionlist>, de cette manière, la liste
> d'actions est exécutée chaque fois que la condition est évaluée à
> "true" et pas uniquement lorsque la condition passe de "false" a
> "true"
>
> Bonne année 2011 avec un peu d'avance,
>
> Jean-François
>
> On 31 déc, 15:11, kraven <ohl.christo...@gmail.com> wrote:
>
>
>
>
>
>
>
> > Super merci ca marche pour le cas présent.
>
> > Par contre il faudrait quand meme que je puisse forcer le script si la
> > valeur ne change pas pour la gestion du volume.
>
> > A+
>
> > On 31 déc, 10:50, Anthony PENHARD <a.penh...@gmail.com> wrote:
>
> > > Bonjour,
>
> > > si je ne me trompe pas ton objet est de type type="1.001"
> > > donc les valeurs son on/off (a priori avec "1" ça a l'air de fonctionner)
> > > essai en forçant à off ton objet comme ça :
>
> > > <rule id="radio cuisine play Top Music">
> > >   <condition type="object" id="music_cuisine_PLAY_ TOPMUSIC" value="on"
> > > trigger="true"/>
> > >   <actionlist>
> > >     <action type="script">socket = require('socket'); client =
> > > socket.connect('192.168.1.150',9090); clientConfusedend("00:04:20:17:38:0c
> > > favorites playlist play item_id: 1.1\n"); client:close();</action>
> > >     <action type="set-value" id="music_cuisine_PLAY_TOPMUSIC" value="off"/>
> > >   </actionlist>
> > > </rule>
>
> > > @+
> > > Anthony.
>
> > > Le 31 décembre 2010 10:16, kraven <ohl.christo...@gmail.com> a écrit :
>
> > > > Bonjour,
>
> > > > J'ai un bouton poussoir qui envoie une valeur de 1 dans une adresse de
> > > > groupe.
> > > > Dans linknx j'ai cette objet  :
>
> > > > <object id="music_cuisine_PLAY_TOPMUSIC" gad="8/0/3"
> > > > flags="cwtuf">Musique cuisine play Top Music</object>
>
> > > > et cette règle :
>
> > > > <rule id="radio cuisine play Top Music">
> > > >                        <condition type="object"
> > > > id="music_cuisine_PLAY_TOPMUSIC" value="1"
> > > > trigger="true"/>
> > > >                        <actionlist>
> > > >                        <action type="script">
> > > >                        socket = require('socket');
> > > >                        client = socket.connect('192.168.1.150',9090);
> > > >                        clientConfusedend("00:04:20:17:38:0c favorites playlist
> > > > play item_id:
> > > > 1.1\n");
> > > >                        client:close();
> > > >                        </action>
> > > >                        </actionlist>
> > > > </rule>
>
> > > > La première pression sur le poussoir lance bien ma radio mais les fois
> > > > suivante non. Existe t-il une astuce pour que Linknx exécute le script
> > > > chaque fois que j'envoie la valeur sur le bus même si celle-ci ne
> > > > change pas?
>
> > > > Merci,
>
> > > > Christophe- Masquer le texte des messages précédents -
>
> > > - Afficher le texte des messages précédents -
#6
> A priori le wiki de linknx n'est pas à jour car  je n'ai pas trouvé
> cette fonction. Existe t'il un fichier reprenant toute les
> fonctionnalité de Linknx?

Non, c'est bien ça le souci ;-)


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)