Messages : 1,463
	Sujets : 137
	Inscription : May 2011
	
Réputation : 
0
	 
	
	
		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.
	
	
	
	
		
	
 
 
	
	
	
		
	Messages : 192
	Sujets : 1
	Inscription : May 2011
	
	
 
	
	
		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/In...th_Linknx/
tu veux faire quoi exactement ? un "read" sur un object ?
@+
Anthony
	
		
	
 
 
	
	
	
		
	Messages : 1,463
	Sujets : 137
	Inscription : May 2011
	
Réputation : 
0
	 
	
	
		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 ?
	
	
	
	
		
	
 
 
	
	
	
		
	Messages : 192
	Sujets : 1
	Inscription : May 2011
	
	
 
	
	
		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
	
	
	
	
		
	
 
 
	
	
	
		
	Messages : 1,463
	Sujets : 137
	Inscription : May 2011
	
Réputation : 
0
	 
	
	
		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.
	
	
	
	
		
	
 
 
	
	
	
		
	Messages : 192
	Sujets : 1
	Inscription : May 2011
	
	
 
	
	
		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.
	
	
	
	
		
	
 
 
	
	
	
		
	Messages : 1,463
	Sujets : 137
	Inscription : May 2011
	
Réputation : 
0
	 
	
	
		Super, merci ! La clé était qu'il s'agissait de rules, et non d'objets...