Suite à un petit souci de serveur, les emails de confirmation d'inscription n'étaient plus envoyés. Si vous n'avez pas reçu votre mot de passe, utilisez l'option "Mot de passe oublié" et vous recevrez le nouveau. (February 23) x

En raison de spams récurrents, les messages des nouveaux inscrits sont modérés a priori. Ne vous inquiétez pas si vous ne voyez pas apparaitre votre message immédiatement sur le forum. (November 04, 2021) x

Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Relevé temperatures et teleinfo avec sonde 1-wire
#1

Bonjour à tous,

J'ai pour projet de relever la température dans ma maison à l'aide de plusieurs sonde 1-wire mais aussi par la suite de relever à intervalle régulier les données de la sortie teleinfo de mon compteur électrique, le tout serais archivé dans un fichier .csv.

Je précise par avance que je ne connaissais pas du-tout linux jusqu'à la semaine dernière et j'ai des connaissances en informatique mais rien d’exceptionnelle 8o

J'arrive bien à lire les infos de mes sondes et le téléinfo mais ça se complique pour moi au moment d'envoyer le tout dans le fichier .csv 8.(

J'ai trouvé le code ci-dessous sur internet et réussi à le faire fonctionner, il permet de mettre la température du raspberry dans dans fichier .csv

Code :
[== Indéfini ==]
#!/bin/bash
FIC=/home/pi/temperature/temp.txt
DATE=`date +%R`
TEMP=`cat /sys/class/thermal/thermal_zone0/temp`
echo  "${TEMP:0:2},${TEMP:3:1};$DATE" >> $FIC

Je l'ai modifié pour ajouter une sonde 1-wire :

Code :
[== Indéfini ==]

#!/bin/bash
FIC=/home/pi/temperature/temprasp.csv
DATE=`date +%R`
TEMP=`cat /sys/class/thermal/thermal_zone0/temp`
TEMPCELLIER=` cat /sys/bus/w1/devices/28-00000558c7cf/w1_slave`
echo  "${TEMP:0:2},${TEMP:3:1};$TEMPCELLIER;$DATE" >> $FIC

mais depuis plus rien ne s'ajoute dans mon fichier .csv

Quelqu'un d'entre vous aurait-il une idée sur la provenace du problème ?

Merci d'avance pour votre aide.
#2

Bon en fait ça à l'air de fonctionner, par contre j’obtiens ce type d'info :

38,7;43 01 4b 46 7f ff 0d 10 bd : crc=bd YES
43 01 4b 46 7f ff 0d 10 bd t=20187;17:48

Comment ne garder que t=20187;17:48 puis transformer t=20187 en t=20,187 ?
#3

pour la 1ere partie:

Code :
[== Indéfini ==]
$ cat > toto
38,7;43 01 4b 46 7f ff 0d 10 bd : crc=bd YES
43 01 4b 46 7f ff 0d 10 bd t=20187;17:48
^C
$ cat toto
38,7;43 01 4b 46 7f ff 0d 10 bd : crc=bd YES
43 01 4b 46 7f ff 0d 10 bd t=20187;17:48
$ cat toto | grep "t="
43 01 4b 46 7f ff 0d 10 bd t=20187;17:48
$ cat toto | grep "t=" | awk -F"t=" '{print $2}'
20187;17:48
$ cat toto | grep "t=" | awk -F"t=" '{print $2}' | awk -F";" '{print $1}'
20187
$
#4

Merci pour votre réponse néanmoins avec mes pauvre base, j'ai beaucoup de mal à comprendre 8o

Je viens tout juste de réussir à faire ce que je voulais :

Code :
[== Indéfini ==]
#!/bin/bash
FIC=/home/pi/temperature/temprasp.csv
DATE=`date +%R`
TEMP=`cat /sys/class/thermal/thermal_zone0/temp`
TEMPCELLIER=` cat /sys/bus/w1/devices/28-00000558c7cf/w1_slave`
echo  "${TEMP:0:2},${TEMP:3:1};${TEMPCELLIER:69:2},${TEMPCELLIER:71:2};$DATE" >> $FIC

Maintenant je m'attaque à la téléinfo...
#5

Pour la seconde
Code :
[== Indéfini ==]

$ cat toto
20187
$ cat toto | rev | sed 's/.../&./g;s/:$//' | rev
20.187
$

A voir a quoi resemble les température négatives et si mon truc fonctionne toujours..etc...

Ce qui donne en tout:

Code :
[== Indéfini ==]
TEMPCELLIER=`cat /sys/bus/w1/devices/28-00000558c7cf/w1_slave | grep "t=" | awk -F"t=" '{print $2}' | awk -F";" '{print $1}' | rev | sed 's/.../&./g;s/:$//' | rev `
Sujet fermé


Atteindre :


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