Forum KNX francophone / English KNX forum
[linknx] Éxécuter un script - 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 : Logiciels libres (linknx, knxweb, pKNyX,...) (https://www.knx-fr.com/forumdisplay.php?fid=10)
+--- Sujet : [linknx] Éxécuter un script (/showthread.php?tid=3821)



[linknx] Éxécuter un script - fma38 - 20/07/2015

Bonjour,

Y a-t-il moyen, avec linknx, de récupérer une valeur via un script (bash, python, etc...) ? Un peu comme les connexion Tcp des IOports...

Si oui, comment fait-on ça ?

Merci d'avance.


RE: [linknx] Éxécuter un script - Energy01 - 20/07/2015

Salut,

bas oui c'est le pincipe même de linknx mettre a dispo un serveur tcp interrogeable via des requêtes xml

le wiki : https://sourceforge.net/p/linknx/wiki/Interacting_with_Linknx/

tu veux faire quoi exactement ? un "read" sur un object ?

@+
Anthony




RE: [linknx] Éxécuter un script - fma38 - 21/07/2015

Désolé, je me suis mal exprimé... Je veux créer un objet (DP purement logiciel) dont la valeur (il s'agit d'une température) serait récupérée depuis un script.

Est-ce faisable ?


RE: [linknx] Éxécuter un script - Energy01 - 21/07/2015

Salut,

OK si j'ai bien compris tu veux un object qui n'a pas de GA associé sur le bus KNX

Si c'est ça tu créé un object du type que tu veux sans GAD il ne sera que logiciel que dans linknx un peu comme un variable
Que tu peux valoriser comme tu le souhaite avec un script lua par exemple dans une rule

Ce principe est utiliser pour récupérer les température de sonde onewire par exemple

@+
Anthony


RE: [linknx] Éxécuter un script - fma38 - 21/07/2015

En fait, si, je veux qu'il ait une GA associée ; quand je disais purement logiciel, c'est pour distinguer d'un vrai appareil KNX, avec de l'électronique et tout. En gros, je veux créer une pseudo sonde de température KNX, qui lit la température via un script (lui-même connecté à une sonde, bien sûre, mais qui pourrait être sur le web), et la balance sur le bus KNX, pour pouvoir être utilisée normalement.

En fait, ce qu'il me manque, c'est l'utilisation du script lua ; tu as un exemple ? Je ne retrouve pas dans la doc...

Merci d'avance.


RE: [linknx] Éxécuter un script - Energy01 - 21/07/2015

Re,

exemple de script :

<rule id="1wire-read">
<condition type="timer" trigger="true">
<every>2m</every>
</condition>
<actionlist>
<action type="script">
function read1wire(id, objname)
out = io.popen("/usr/local/bin/owread -s localhost:4304 "..id);
value = string.match(out:read("*a"), "[0-9.]+");
out:close();
if (value ~= nil) then
set(objname, value);
end
end;
read1wire("28.000000000000/temperature","temperature");
</action>
</actionlist>
</rule>

@+
Anthony.


RE: [linknx] Éxécuter un script - fma38 - 21/07/2015

Super, merci ! La clé était qu'il s'agissait de rules, et non d'objets...