Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
1 wire dans linknx et Raspberry pi
#5
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 :

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
dans KNXweb. Cool

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
Répondre


Messages dans ce sujet
1 wire dans linknx et Raspberry pi - par mil3d - 15/10/2015, 06:25:02
RE: 1 wire dans linknx et Raspberry pi - par mil3d - 16/10/2015, 06:09:59
RE: 1 wire dans linknx et Raspberry pi - par mil3d - 18/10/2015, 07:14:22
RE: 1 wire dans linknx et Raspberry pi - par mil3d - 18/10/2015, 21:28:24

Atteindre :


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