rrdtool 1 wire 2 tempgivare

Hur gör man för att ... ? Hur fungerar ... ? Steg för steg-guider och förklarande artiklar finns i detta forum.

Moderator: elf98

Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
pepspersson
Wannabe
Inlägg: 13
Blev medlem: 05 dec 2013, 01:21
Ort: västerbotten

rrdtool 1 wire 2 tempgivare

Inlägg av pepspersson » 08 aug 2017, 18:25

Skulle vilja ha 2 st tempgivare åt olika väderstreck och att den visar lägsta temperatur på en graph .
Går det ?
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1243
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Re: rrdtool 1 wire 2 tempgivare

Inlägg av Plutonium » 10 aug 2017, 22:48

Absolut går det. Det enklaste sättet är att behandla datan innan rrdtool tar vid.

Så här har jag gjort. Jag har en php fil som körs av cron varje minut. (Nu framgick det inte om du använder dig av linux mots. Men jag antar detta.

Kod: Markera allt

<?php

$north = exec("wget -O - -q http://10.0.20.11/utenorr.txt");
$east = exec("wget -O - -q http://10.0.20.11/uteost.txt");

if ($north < $east){
        $lowest = "North";
        $temp = $north;
}
else{
        $lowest = "East";
        $temp = $east;
}

echo "$lowest har lgst temp: $temp grader";

exec("echo " . $temp . " > /home/essunga/public_html/wwwroot/temperature_lowest.txt");
?>
Sedan låter jag rrdtool läsa av filen temperature_lowest.txt så ritar den en graf av det. Är du i behov av ett kodexempel för rrdtool också?
http://essunga.org
Moderator - Temperatur.nu
pepspersson
Wannabe
Inlägg: 13
Blev medlem: 05 dec 2013, 01:21
Ort: västerbotten

Re: rrdtool 1 wire 2 tempgivare

Inlägg av pepspersson » 24 aug 2017, 11:26

Gärna det.
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1243
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Re: rrdtool 1 wire 2 tempgivare

Inlägg av Plutonium » 24 aug 2017, 20:02

Så här har jag gjort med flera rrd-databaser. Ganska enkel kod så jag tror du luskar ut i strukturen nedan.

Kod: Markera allt

#!/usr/bin/perl

use RRDs;

my $cur_time = time();
my $start_time = $cur_time - 86400;     # set end time to 24 hours ago
use HTTP::Date;
my ($date, $time) = split(" ", HTTP::Date::time2iso());
my ($hour, $min) = split(":", $time);

RRDs::graph "/home/essunga/public_html/wwwroot/onewire/dualindoor_temp_dag.png",
         "--start= $start_time",
         "--end= $cur_time",
         "--title=Inside the house",
         "--lazy",
         "-h", "160", "-w", "550",
         "-a", "PNG",
         "-v Celsius",
         "--slope-mode",
         "--watermark=  http://essunga.org | Graph generated\: $date kl\: $hour\:$min",
         "DEF:livingroom=/home/plutonium/scripts/RRD_DB/owfs-livingroom_temperature.rrd:temp:AVERAGE",
         "DEF:bedroom=/home/plutonium/scripts/RRD_DB/masterbedroom_temp.rrd:temp:AVERAGE",
         "DEF:agust=/home/plutonium/scripts/RRD_DB/agust_temp.rrd:temp:AVERAGE",
         "DEF:jonathan=/home/plutonium/scripts/RRD_DB/jonathan_temp.rrd:temp:AVERAGE",
         "AREA:livingroom#ccffcc",
         "LINE2:livingroom#009900:Living room     ",
         "GPRINT:livingroom:MIN: Min\\:%6.1lf",
         "GPRINT:livingroom:MAX: Max\\:%6.1lf",
         "GPRINT:livingroom:AVERAGE:Avg\\:%6.1lf",
         "GPRINT:livingroom:LAST:Now\\:%6.1lf degrees C\\n",
         "LINE2:bedroom#46E4F9:Master bedroom  ",
         "GPRINT:bedroom:MIN: Min\\:%6.1lf",
         "GPRINT:bedroom:MAX: Max\\:%6.1lf",
         "GPRINT:bedroom:AVERAGE:Avg\\:%6.1lf",
         "GPRINT:bedroom:LAST:Now\\:%6.1lf degrees C\\n",
         "LINE2:agust#191970:Agust bedroom  ",
         "GPRINT:agust:MIN:  Min\\:%6.1lf",
         "GPRINT:agust:MAX: Max\\:%6.1lf",
         "GPRINT:agust:AVERAGE:Avg\\:%6.1lf",
         "GPRINT:agust:LAST:Now\\:%6.1lf degrees C\\n",
         "LINE2:jonathan#CD5C5C:Jonathans bedroom",
         "GPRINT:jonathan:MIN:Min\\:%6.1lf",
         "GPRINT:jonathan:MAX: Max\\:%6.1lf",
         "GPRINT:jonathan:AVERAGE:Avg\\:%6.1lf",
         "GPRINT:jonathan:LAST:Now\\:%6.1lf degrees C\\n";


my $err=RRDs::error;
if ($err) {print "problem generating the graph: $err\n";}

print "Done!\n"

http://essunga.org
Moderator - Temperatur.nu
pepspersson
Wannabe
Inlägg: 13
Blev medlem: 05 dec 2013, 01:21
Ort: västerbotten

Re: rrdtool 1 wire 2 tempgivare

Inlägg av pepspersson » 25 aug 2017, 22:04

Tack så mycket ,nu ska jag testa :D
Skriv svar