Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[linknx] Éxécuter un script
#1
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.
Répondre
#2
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

Knxweb : http://www.knxweb.fr/
Dépot des sources : https://github.com/linknx/knxweb
Version de démo de Knxweb : http://www.knxweb.fr/demo/setup.php
Script install du trio : https://github.com/linknx/install
Export ETS génère le linknx.xml : http://www.knxweb.fr/ETS/index.php
Répondre
#3
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 ?
Répondre
#4
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
Knxweb : http://www.knxweb.fr/
Dépot des sources : https://github.com/linknx/knxweb
Version de démo de Knxweb : http://www.knxweb.fr/demo/setup.php
Script install du trio : https://github.com/linknx/install
Export ETS génère le linknx.xml : http://www.knxweb.fr/ETS/index.php
Répondre
#5
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.
Répondre
#6
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.
Knxweb : http://www.knxweb.fr/
Dépot des sources : https://github.com/linknx/knxweb
Version de démo de Knxweb : http://www.knxweb.fr/demo/setup.php
Script install du trio : https://github.com/linknx/install
Export ETS génère le linknx.xml : http://www.knxweb.fr/ETS/index.php
Répondre
#7
Super, merci ! La clé était qu'il s'agissait de rules, et non d'objets...
Répondre


Atteindre :


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