Forum KNX francophone / English KNX forum
pushme ou Prowl sous linknx - Version imprimable

+- Forum KNX francophone / English KNX forum (https://www.knx-fr.com)
+-- Forum : Français (https://www.knx-fr.com/forumdisplay.php?fid=3)
+--- Forum : Archives eib-domotique (https://www.knx-fr.com/forumdisplay.php?fid=8)
+--- Sujet : pushme ou Prowl sous linknx (/showthread.php?tid=1545)



pushme ou Prowl sous linknx - chitloft - 28/02/2011

bjr a tous,
q1 aurait il intégré cette fonction de push dans linknx ? j''aimerai
etre orienté pour démarrer sur le choix du socle technique.

L'idée est d'envoyer 1 notification vers l'iphone sur des alertes
éventuelles, basées sur 1 logique. Ex : si je dors et que la porte du
garage, push sur l'iphone (ouais, il dort avec moi) ou si porte
ouverte durant mon abscence et alarme activée, etc.

j'ai trouvé des solutions, notamment ici (http://www.poulpy.com/tag/
domotique/) en xPL...

J'attends vos opinions sur la manière d'aborder le bazard dans
linknx .

Merci a vous.
Arnaud


pushme ou Prowl sous linknx - Anthony PENHARD - 28/02/2011

Salut,
ça doit être possible avec un script lua dans un rule
un truc du genre : (pas testé)

<rule id="push">
<condition type="and">
<condition type="object" id="Arnaud_dors" value="on" trigger="true"/>
<condition type="or">
<condition type="object" id="porte_grarage" value="on"
trigger="true"/>
<condition type="object" id="lumiere_salon" value="on"
trigger="true"/>
...
</condition>
</condition>
<actionlist>
<action type="script">
io.popen("curl -d "message=Votre message&signature=Maison"
http://pushme.to/YOUR_ID_PUSHME/");
</action>
</actionlist>
</rule>

@+
Anthony.

Le 28 février 2011 19:01, chitloft <arnaud.cognard@laposte.net> a écrit :

> bjr a tous,
> q1 aurait il intégré cette fonction de push dans linknx ? j''aimerai
> etre orienté pour démarrer sur le choix du socle technique.
>
> L'idée est d'envoyer 1 notification vers l'iphone sur des alertes
> éventuelles, basées sur 1 logique. Ex : si je dors et que la porte du
> garage, push sur l'iphone (ouais, il dort avec moi) ou si porte
> ouverte durant mon abscence et alarme activée, etc.
>
> j'ai trouvé des solutions, notamment ici (http://www.poulpy.com/tag/
> domotique/) en xPL...
>
> J'attends vos opinions sur la manière d'aborder le bazard dans
> linknx .
>
> Merci a vous.
> Arnaud
>


pushme ou Prowl sous linknx - chitloft - 28/02/2011

Merci Anthony encore 1 fois,
j'ai implémenté tout ca, au + simple, sur 1 PC.

voici la regle
<rule id="push">
<!--condition type="or">
<condition type="object" id="PC_Status_POMPE" value="off"
trigger="true"/-->
<condition type="object" id="PC_Status_Bureau" value="off"
trigger="true"/>
<!--/condition-->
<actionlist>
<action type="script">
io.popen("curl -d 'message=PC_Status_POMPE
OFF&signature=Maison' http://pushme.to/arnaud/");
</action>
</actionlist>
</rule>

et voici la trace.

Send request
2011-02-28 23:55:19 [ INFO] Object: New value on for object PC_BUREAU
(type: 1.001)
2011-02-28 23:55:19 [ INFO] FilePersistentStorage: Writing 'on' for
object 'PC_BUREAU'
2011-02-28 23:55:19 [ INFO] FilePersistentStorage: Writing log'on' for
object 'PC_BUREAU'
Write from 0.0.0 to 2/1/3: 01
Write from 1.1.4 to 2/6/3: 01
2011-02-28 23:55:19 [ INFO] Object: New value on for object
PC_Status_Bureau (type: 1.001)
2011-02-28 23:55:19 [ INFO] SwitchingObject: SwitchingObject
(id=PC_Status_Bureau): Compare value_m='1' to value='0'
2011-02-28 23:55:19 [ INFO] Condition: ObjectCondition
(id='PC_Status_Bureau') evaluated as '0'
2011-02-28 23:55:20 [ INFO] KnxConnection: write(gad=9215, buf,
len=2):
Send request
Read from 0.0.0 to 4/3/255
2011-02-28 23:55:20 [ INFO] KnxConnection: write(gad=4355, buf,
len=2):
Send request
2011-02-28 23:55:20 [ INFO] Object: New value off for object PC_BUREAU
(type: 1.001)
2011-02-28 23:55:20 [ INFO] FilePersistentStorage: Writing 'off' for
object 'PC_BUREAU'
2011-02-28 23:55:20 [ INFO] FilePersistentStorage: Writing log'off'
for object 'PC_BUREAU'
Write from 0.0.0 to 2/1/3: 00
Write from 1.1.4 to 2/6/3: 00
2011-02-28 23:55:20 [ INFO] Object: New value off for object
PC_Status_Bureau (type: 1.001)
2011-02-28 23:55:20 [ INFO] SwitchingObject: SwitchingObject
(id=PC_Status_Bureau): Compare value_m='0' to value='0'
2011-02-28 23:55:20 [ INFO] Condition: ObjectCondition
(id='PC_Status_Bureau') evaluated as '1'
2011-02-28 23:55:20 [ INFO] Action: Execute LuaScriptAction
% Total % Received % Xferd Average Speed Time Time
Time Current
Dload Upload Total Spent
Left Speed
0 43 0 0 0 43 0 192 --:--:-- --:--:--
--:--:-- 1922011-02-28 23:55:21 [ INFO] KnxConnection:
write(gad=2560, buf, len=2):
Send request
Read from 0.0.0 to 1/2/0
100 4012 0 3969 0 43 7328 79 --:--:-- --:--:--
--:--:-- 12345
2011-02-28 23:55:22 [ INFO] KnxConnection: write(gad=2561, buf,
len=2):
Send request

A noter que curl -d 'message=PC_Status_POMPE OFF&signature=Maison'
http://pushme.to/arnaud/ en ligne de commande fonctionne super bien...
j'ai essayé en virant les " etc, mais non, ca ne sort rien. des
idées ?

Arnaud


On 28 fév, 20:40, Anthony PENHARD <a.penh...@gmail.com> wrote:
> Salut,
> ça doit être possible avec un script lua dans un rule
> un truc du genre : (pas testé)
>
> <rule id="push">
>   <condition type="and">
>     <condition type="object" id="Arnaud_dors" value="on" trigger="true"/>
>     <condition type="or">
>        <condition type="object" id="porte_grarage" value="on"
> trigger="true"/>
>        <condition type="object" id="lumiere_salon" value="on"
> trigger="true"/>
>        ...
>     </condition>
>   </condition>
>   <actionlist>
>     <action type="script">
>         io.popen("curl -d "message=Votre message&signature=Maison"http://pushme.to/YOUR_ID_PUSHME/");
>     </action>
>   </actionlist>
> </rule>
>
> @+
> Anthony.
>
> Le 28 février 2011 19:01, chitloft <arnaud.cogn...@laposte.net> a écrit :
>
> > bjr a tous,
> > q1 aurait il intégré cette fonction de push dans linknx ? j''aimerai
> > etre orienté pour démarrer sur le choix du socle technique.
>
> > L'idée est d'envoyer 1 notification vers l'iphone sur des alertes
> > éventuelles, basées sur 1 logique. Ex : si je dors et que la porte du
> > garage, push sur l'iphone (ouais, il dort avec moi) ou si porte
> > ouverte durant mon abscence et alarme activée, etc.
>
> > j'ai trouvé des solutions, notamment ici (http://www.poulpy.com/tag/
> > domotique/) en xPL...
>
> > J'attends vos opinions sur la manière d'aborder le bazard dans
> > linknx .
>
> > Merci a vous.
> > Arnaud


pushme ou Prowl sous linknx - Anthony PENHARD - 01/03/2011

Salut,

regarde la doc lua ici
http://www.lua.org/manual/5.1/manual.html#pdf-io.open

peut-être utiliser io.open en non io.popen

et inverser les ' et "
résultat :

io.open('curl -d "message=PC_Status_POMPE OFF&signature=Maison"
http://pushme.to/arnaud/');

cela va peut-être mieux marcher ...
@+
Anthony.


> Merci Anthony encore 1 fois,
> j'ai implémenté tout ca, au + simple, sur 1 PC.
>
> voici la regle
> <rule id="push">
> <!--condition type="or">
> <condition type="object" id="PC_Status_POMPE" value="off"
> trigger="true"/-->
> <condition type="object" id="PC_Status_Bureau" value="off"
> trigger="true"/>
> <!--/condition-->
> <actionlist>
> <action type="script">
> io.popen("curl -d 'message=PC_Status_POMPE
> OFF&signature=Maison' http://pushme.to/arnaud/");
> </action>
> </actionlist>
> </rule>
>
> et voici la trace.
>
> Send request
> 2011-02-28 23:55:19 [ INFO] Object: New value on for object PC_BUREAU
> (type: 1.001)
> 2011-02-28 23:55:19 [ INFO] FilePersistentStorage: Writing 'on' for
> object 'PC_BUREAU'
> 2011-02-28 23:55:19 [ INFO] FilePersistentStorage: Writing log'on' for
> object 'PC_BUREAU'
> Write from 0.0.0 to 2/1/3: 01
> Write from 1.1.4 to 2/6/3: 01
> 2011-02-28 23:55:19 [ INFO] Object: New value on for object
> PC_Status_Bureau (type: 1.001)
> 2011-02-28 23:55:19 [ INFO] SwitchingObject: SwitchingObject
> (id=PC_Status_Bureau): Compare value_m='1' to value='0'
> 2011-02-28 23:55:19 [ INFO] Condition: ObjectCondition
> (id='PC_Status_Bureau') evaluated as '0'
> 2011-02-28 23:55:20 [ INFO] KnxConnection: write(gad=9215, buf,
> len=2):
> Send request
> Read from 0.0.0 to 4/3/255
> 2011-02-28 23:55:20 [ INFO] KnxConnection: write(gad=4355, buf,
> len=2):
> Send request
> 2011-02-28 23:55:20 [ INFO] Object: New value off for object PC_BUREAU
> (type: 1.001)
> 2011-02-28 23:55:20 [ INFO] FilePersistentStorage: Writing 'off' for
> object 'PC_BUREAU'
> 2011-02-28 23:55:20 [ INFO] FilePersistentStorage: Writing log'off'
> for object 'PC_BUREAU'
> Write from 0.0.0 to 2/1/3: 00
> Write from 1.1.4 to 2/6/3: 00
> 2011-02-28 23:55:20 [ INFO] Object: New value off for object
> PC_Status_Bureau (type: 1.001)
> 2011-02-28 23:55:20 [ INFO] SwitchingObject: SwitchingObject
> (id=PC_Status_Bureau): Compare value_m='0' to value='0'
> 2011-02-28 23:55:20 [ INFO] Condition: ObjectCondition
> (id='PC_Status_Bureau') evaluated as '1'
> 2011-02-28 23:55:20 [ INFO] Action: Execute LuaScriptAction
> % Total % Received % Xferd Average Speed Time Time
> Time Current
> Dload Upload Total Spent
> Left Speed
> 0 43 0 0 0 43 0 192 --:--:-- --:--:--
> --:--:-- 1922011-02-28 23:55:21 [ INFO] KnxConnection:
> write(gad=2560, buf, len=2):
> Send request
> Read from 0.0.0 to 1/2/0
> 100 4012 0 3969 0 43 7328 79 --:--:-- --:--:--
> --:--:-- 12345
> 2011-02-28 23:55:22 [ INFO] KnxConnection: write(gad=2561, buf,
> len=2):
> Send request
>
> A noter que curl -d 'message=PC_Status_POMPE OFF&signature=Maison'
> http://pushme.to/arnaud/ en ligne de commande fonctionne super bien...
> j'ai essayé en virant les " etc, mais non, ca ne sort rien. des
> idées ?
>
> Arnaud
>
>
> On 28 fév, 20:40, Anthony PENHARD <a.penh...@gmail.com> wrote:
>> Salut,
>> ça doit être possible avec un script lua dans un rule
>> un truc du genre : (pas testé)
>>
>> <rule id="push">
>>   <condition type="and">
>>     <condition type="object" id="Arnaud_dors" value="on"
>> trigger="true"/>
>>     <condition type="or">
>>        <condition type="object" id="porte_grarage" value="on"
>> trigger="true"/>
>>        <condition type="object" id="lumiere_salon" value="on"
>> trigger="true"/>
>>        ...
>>     </condition>
>>   </condition>
>>   <actionlist>
>>     <action type="script">
>>         io.popen("curl -d "message=Votre
>> message&signature=Maison"http://pushme.to/YOUR_ID_PUSHME/");
>>     </action>
>>   </actionlist>
>> </rule>
>>
>> @+
>> Anthony.
>>
>> Le 28 février 2011 19:01, chitloft <arnaud.cogn...@laposte.net> a écrit
>> :
>>
>> > bjr a tous,
>> > q1 aurait il intégré cette fonction de push dans linknx ? j''aimerai
>> > etre orienté pour démarrer sur le choix du socle technique.
>>
>> > L'idée est d'envoyer 1 notification vers l'iphone sur des alertes
>> > éventuelles, basées sur 1 logique. Ex : si je dors et que la porte du
>> > garage, push sur l'iphone (ouais, il dort avec moi) ou si porte
>> > ouverte durant mon abscence et alarme activée, etc.
>>
>> > j'ai trouvé des solutions, notamment ici (http://www.poulpy.com/tag/
>> > domotique/) en xPL...
>>
>> > J'attends vos opinions sur la manière d'aborder le bazard dans
>> > linknx .
>>
>> > Merci a vous.
>> > Arnaud


pushme ou Prowl sous linknx - Arnaud Cognard - 01/03/2011

Salut Anthony,
Merci pour tes réponses.

Rien a faire. Pour info, le io.open est pour l'utilisation de fichiers;
io.popen est pour les prog.

Le message qui fonctionne est
curl -d "message=PC_Status_POMPE OFF&signature=Maison"
http://pushme.to/arnaud/

J'ai essayé toutes les combinaisons
io.popen("curl -d \"message=PC_Status_POMPE OFF&signature=Maison\"
http://pushme.to/acognard/");
io.popen("curl -d "message=PC_Status_POMPE OFF&signature=Maison"
http://pushme.to/arnaud/");
io.popen('curl -d "message=PC_Status_POMPE OFF&signature=Maison"
http://pushme.to/arnaud /');
io.popen('curl -d \"message=PC_Status_POMPE OFF&signature=Maison\"
http://pushme.to/arnaud /');

Faut que j'approfondisse la doc LUA je crois Smile
Je vous tiens informés.

Arnaud

-----Message d'origine-----
De : domotique-eib@googlegroups.com [mailto:domotique-eib@googlegroups.com]
De la part de Anthony PENHARD
Envoyé : mardi 1 mars 2011 10:06
À : domotique-eib@googlegroups.com
Objet : Re: pushme ou Prowl sous linknx


Salut,

regarde la doc lua ici
http://www.lua.org/manual/5.1/manual.html#pdf-io.open

peut-être utiliser io.open en non io.popen

et inverser les ' et "
résultat :

io.open('curl -d "message=PC_Status_POMPE OFF&signature=Maison"
http://pushme.to/arnaud/');

cela va peut-être mieux marcher ...
@+
Anthony.


> Merci Anthony encore 1 fois,
> j'ai implémenté tout ca, au + simple, sur 1 PC.
>
> voici la regle
> <rule id="push">
> <!--condition type="or">
> <condition type="object" id="PC_Status_POMPE" value="off"
> trigger="true"/-->
> <condition type="object" id="PC_Status_Bureau" value="off"
> trigger="true"/>
> <!--/condition-->
> <actionlist>
> <action type="script">
> io.popen("curl -d 'message=PC_Status_POMPE
> OFF&signature=Maison' http://pushme.to/arnaud/");
> </action>
> </actionlist>
> </rule>
>
> et voici la trace.
>
> Send request
> 2011-02-28 23:55:19 [ INFO] Object: New value on for object PC_BUREAU
> (type: 1.001)
> 2011-02-28 23:55:19 [ INFO] FilePersistentStorage: Writing 'on' for
> object 'PC_BUREAU'
> 2011-02-28 23:55:19 [ INFO] FilePersistentStorage: Writing log'on' for
> object 'PC_BUREAU'
> Write from 0.0.0 to 2/1/3: 01
> Write from 1.1.4 to 2/6/3: 01
> 2011-02-28 23:55:19 [ INFO] Object: New value on for object
> PC_Status_Bureau (type: 1.001)
> 2011-02-28 23:55:19 [ INFO] SwitchingObject: SwitchingObject
> (id=PC_Status_Bureau): Compare value_m='1' to value='0'
> 2011-02-28 23:55:19 [ INFO] Condition: ObjectCondition
> (id='PC_Status_Bureau') evaluated as '0'
> 2011-02-28 23:55:20 [ INFO] KnxConnection: write(gad=9215, buf,
> len=2):
> Send request
> Read from 0.0.0 to 4/3/255
> 2011-02-28 23:55:20 [ INFO] KnxConnection: write(gad=4355, buf,
> len=2):
> Send request
> 2011-02-28 23:55:20 [ INFO] Object: New value off for object PC_BUREAU
> (type: 1.001)
> 2011-02-28 23:55:20 [ INFO] FilePersistentStorage: Writing 'off' for
> object 'PC_BUREAU'
> 2011-02-28 23:55:20 [ INFO] FilePersistentStorage: Writing log'off'
> for object 'PC_BUREAU'
> Write from 0.0.0 to 2/1/3: 00
> Write from 1.1.4 to 2/6/3: 00
> 2011-02-28 23:55:20 [ INFO] Object: New value off for object
> PC_Status_Bureau (type: 1.001)
> 2011-02-28 23:55:20 [ INFO] SwitchingObject: SwitchingObject
> (id=PC_Status_Bureau): Compare value_m='0' to value='0'
> 2011-02-28 23:55:20 [ INFO] Condition: ObjectCondition
> (id='PC_Status_Bureau') evaluated as '1'
> 2011-02-28 23:55:20 [ INFO] Action: Execute LuaScriptAction
> % Total % Received % Xferd Average Speed Time Time
> Time Current
> Dload Upload Total Spent
> Left Speed
> 0 43 0 0 0 43 0 192 --:--:-- --:--:--
> --:--:-- 1922011-02-28 23:55:21 [ INFO] KnxConnection:
> write(gad=2560, buf, len=2):
> Send request
> Read from 0.0.0 to 1/2/0
> 100 4012 0 3969 0 43 7328 79 --:--:-- --:--:--
> --:--:-- 12345
> 2011-02-28 23:55:22 [ INFO] KnxConnection: write(gad=2561, buf,
> len=2):
> Send request
>
> A noter que curl -d 'message=PC_Status_POMPE OFF&signature=Maison'
> http://pushme.to/arnaud/ en ligne de commande fonctionne super bien...
> j'ai essayé en virant les " etc, mais non, ca ne sort rien. des
> idées ?
>
> Arnaud
>
>
> On 28 fév, 20:40, Anthony PENHARD <a.penh...@gmail.com> wrote:
>> Salut,
>> ça doit être possible avec un script lua dans un rule
>> un truc du genre : (pas testé)
>>
>> <rule id="push">
>>   <condition type="and">
>>     <condition type="object" id="Arnaud_dors" value="on"
>> trigger="true"/>
>>     <condition type="or">
>>        <condition type="object" id="porte_grarage" value="on"
>> trigger="true"/>
>>        <condition type="object" id="lumiere_salon" value="on"
>> trigger="true"/>
>>        ...
>>     </condition>
>>   </condition>
>>   <actionlist>
>>     <action type="script">
>>         io.popen("curl -d "message=Votre
>> message&signature=Maison"http://pushme.to/YOUR_ID_PUSHME/");
>>     </action>
>>   </actionlist>
>> </rule>
>>
>> @+
>> Anthony.
>>
>> Le 28 février 2011 19:01, chitloft <arnaud.cogn...@laposte.net> a écrit
>> :
>>
>> > bjr a tous,
>> > q1 aurait il intégré cette fonction de push dans linknx ? j''aimerai
>> > etre orienté pour démarrer sur le choix du socle technique.
>>
>> > L'idée est d'envoyer 1 notification vers l'iphone sur des alertes
>> > éventuelles, basées sur 1 logique. Ex : si je dors et que la porte du
>> > garage, push sur l'iphone (ouais, il dort avec moi) ou si porte
>> > ouverte durant mon abscence et alarme activée, etc.
>>
>> > j'ai trouvé des solutions, notamment ici (http://www.poulpy.com/tag/
>> > domotique/) en xPL...
>>
>> > J'attends vos opinions sur la manière d'aborder le bazard dans
>> > linknx .
>>
>> > Merci a vous.
>> > Arnaud