Sida 1 av 1

Siffror från RRDtool

Postat: 04 okt 2018, 21:55
av Bizmarck
Hej.

Jag använder RRDtool och lägger ut den temp somjag får ut av sensorerna i en textfil med denna rad:

Kod: Markera allt

grep . /mnt/1wire/28.xxxxxxxxxxxx/temperature | sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}' >> /var/www/html/utetemp.txt
i PHP-filen hämtar jag sedan temperaturen med:

Kod: Markera allt

<?php
	$fp = fopen('utetemp.txt', 'r');
	fseek($fp, -4, SEEK_END);
	$data = fread($fp, 100);
	echo $data;
	fclose($fp);
	?>  &#186;C
När det är dubbla siffror (t.ex 12,33) så fungerar det bra men när det är bara en framför decimalen (t.ex 3,57) så tar den sista siffran och lägger den framför så det blir 73,57.

Textfilen har en massa temperaturer utan mellanslag och att koden tar de 4 första siffrorna...

Då här ser textfilen ut:
4.633.633.633.633.693.633.693.633.633.573.633.633.573.573.633.633.573.573.573.573.573.573.503.503.503.503.503.443.503.443.443.443.443.443.493.553.493.423.42

de första tre är tempen 4,63 sedan 3.63 osv

tänkte att man kanske lösa det med att få dit ett mellanslag eller en 0:a eller något annat som jag inte kommer på..dock inte framför första siffran, [EDIT] kanske man bara kan sätta en radbrytning efter varje temperatur så den nyaste tempen är längst upp?

Hänger ni med fortfarande?

Några tips på hur man kan göra?

Re: Siffror från RRDtool

Postat: 05 okt 2018, 09:55
av Bizmarck
Löste det själv genom att enkel lägga till en radbrytning vid varje dkrivning till filen

grep . /mnt/1wire/28.xxxxxxxxxxxx/temperature | sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f\n", $1}' >> /var/www/html/utetemp.txt