J'ai essayé ta dernière proposition, ça ne fonctionnait pas encore. J'ai donc essayé de décomposer le tout et reconstruire petit à petit.
Et après quelques heures de recherche, le problème était le $ dans "..$id.." sur la 1ère ligne. Le $ ne peut pas être là.
voici donc le code qui fonctionne :
me renvoi
dans KNXweb.
Merci encore pour ton aide !
Par contre je n'arrive pas encore à afficher cette valeur dans un objet type="9.xxx", j'ai été obligé de créer un objet "16.000 string".
Est-ce le point (".") dans le résultat qui pose problème?
pour info, la commande :
me donne :
le seule valeur intéressante est t=19687
Et après quelques heures de recherche, le problème était le $ dans "..$id.." sur la 1ère ligne. Le $ ne peut pas être là.
voici donc le code qui fonctionne :
Code :
function read1wire(id, objname)
out = io.popen("cat /sys/bus/w1/devices/"..id.."/w1_slave | grep 't=' | awk -F 't=' '{print $2/1000}'");
value = string.match(out:read("*a"), "[0-9.%-]+");
out:close();
if (value ~= nil) then set(objname, value);end;
end;
read1wire("28-000003039154", "TestText");
me renvoi
Code :
19.687
Merci encore pour ton aide !
Par contre je n'arrive pas encore à afficher cette valeur dans un objet type="9.xxx", j'ai été obligé de créer un objet "16.000 string".
Est-ce le point (".") dans le résultat qui pose problème?
pour info, la commande :
Code :
$ cat /sys/bus/w1/devices/28-000003039154/w1_slave
me donne :
Code :
3b 01 4b 46 7f ff 05 10 54 : crc=54 YES
3b 01 4b 46 7f ff 05 10 54 t=19687
le seule valeur intéressante est t=19687