Kära Tomten!daromer skrev:Ja det är ju relativtlätt att fixa. Är bara att börja koda
Kod: Markera allt
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset="utf-8" />
<title><?php echo $_GET["r"] ?> </title>
</head>
<body>
<?php
$filnamn = "graph/" . $_GET["rrd"] . time() . ".png"; //filnamnet på bilden får en tidsstämpel för att undvika problem med att webläsaren cachear bilderna.
// variabler: start title width height rrd Color
create_graph($_GET["t"], $_GET["r"], $_GET["w"], $_GET["h"], $_GET["rrd"], $_GET["c"], $filnamn);
echo "<img src='" . $filnamn . "' alt='Generated RRD image'>";
exit;
function create_graph($start, $title, $width, $height, $rrd, $color, $output) {
$path = "/var/rrddata/temp_"; // Sökvägen till rrd-databasen (ligger i mappen /var/rrddata, men samtliga RRD-filnamn börjar på "temp_", t.ex temp_outside.rrd)
$options = array(
"--slope-mode",
"--start", $start,
"--title=$title",
"--width=$width",
"--height=$height",
"--vertical-label=Temperatur",
"DEF:temp=$path$rrd.rrd:temp_value:AVERAGE", // I mina RRD:er ligger mätvärdet lagrat i tabellen temp_value.
"LINE1:temp#$color:$rrd",
"GPRINT:temp:LAST:Temperatur %0.2lf\\n",
"GPRINT:temp:MIN:Min\: %0.2lf%s",
"GPRINT:temp:AVERAGE:Medel\: %0.2lf%s",
"GPRINT:temp:MAX:Max\: %0.2lf%s\\n",
"COMMENT:Tid\: $now"
);
$ret = rrd_graph($output, $options, count($options));
if (! $ret) {
echo "<b>Graph error: </b>".rrd_error()."\n";
}
}
?>
</body>
</html>
Kod: Markera allt
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<form action="sh_graph.php" method="get"> <!--scriptet sh_graph.php bör ligga i samma mapp-->
<br>
start: <input type="text" value="-7d" name="t" /> <!-- Default värdet anges i paametern value, i detta fallet -7d som inebär att det hämtas data från 7 dagar bakåt, här går det även att ange, år (y) månad (m) vecka (w) timme (h) etc-->
<br>
Titel: <input type="text" value="null" name="r" />
<br>
Bredd: <input type="text" value="1024" name="w" />
<br>
höjd: <input type="text" value="600" name="h" />
<br>
databas:
<select name="rrd">
<option value="outside">utomhus</option> <!--här läggs de olika rrd:erna till, value är det som filen heter-->
<option value="vardagsrum">inomhus</option>
<option value="server">server</option>
<option value="wine">vinkällare</option>
<option value="boiler">Varmvatten</option>
<option value="tillopp">tillopp</option>
<option value="retur">retur</option>
<option value="brine_retur">Brine_retur</option>
<option value="brine_tillopp">Brine_tillopp</option>
</select>
<br>
färg: <input type="text" value="009900" name="c" />
<br>
<input type="submit" value="generera" />
</form>
</body>
</html>
Kod: Markera allt
<?php
//functions
function create_graph($start, $title, $rrd, $color, $output, $width, $height)
{
//$width = "150";
//$height = "100";
$path = "/var/rrddata/temp_"; // Sökvägengen till rrd-databasen.
$options = array(
"--slope-mode",
"--start", $start,
"--title=$title",
"--width=$width",
"--height=$height",
"DEF:temp=$path$rrd.rrd:temp_value:AVERAGE",
"LINE1:temp#$color:$rrd",
"GPRINT:temp:LAST:temp %0.2lf\\n"
);
$ret = rrd_graph($output, $options, count($options));
if (! $ret)
{
echo "<b>Graph error: </b>".rrd_error()."\n";
}
}
function GetTemp($sensor)
{
$file = fopen("/var/rrddata/last_value/" . $sensor , "r") or exit("Unable to open file!");
//Output a line of the file until the end is reached
echo fgets($file);
fclose($file);
}
//call for graph generating script
$container = htmlentities($_SERVER['HTTP_USER_AGENT']);
$width = "150";
$height = "100";
if(strstr($container,"Windows"))
{
$width = "600";
$height = "250";
}
if(strstr($container,"Android"))
{
$width = "300";
$height = "470";
}
if(strstr($container,"iPhone"))
{
$width = "390";
$height = "360";
}
$filnamn = time();
create_graph("-1d", "utomhus dygn", "outside", "FF9999", "graph/outside1d" . $filnamn . ".png", $width, $height );
create_graph("-7d", "utomhus vecka", "outside", "FF9999", "graph/outside7d" . $filnamn . ".png", $width, $height );
create_graph("-1d", "inomhus dygn", "vardagsrum", "FF9999", "graph/vardagsrum1d" . $filnamn . ".png", $width, $height );
create_graph("-7d", "inomhus vecka", "vardagsrum", "FF9999", "graph/vardagsrum7d" . $filnamn . ".png", $width, $height );
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>
Temperaturer på Vattuvägen 3
</title>
</head>
<body>
<table border=1 cellpadding=1 cellspacing=1>
<tr>
<th>Placering</th><th>Temperatur</th>
</tr>
<tr>
<td>
Utomhus norr
</td>
<td>
<?php
GetTemp("outside");
?>
grader C
</td>
</tr>
<tr>
<td>
Vardagsrummet
</td>
<td>
<?php
GetTemp("vardagsrum");
?>
grader C
</td>
</tr>
<tr>
<td>
Pannan
</td>
<td>
<?php
GetTemp("boiler");
?>
grader C
</td>
</tr>
<tr>
<td>
<a href="sh_graph.php?t=-1d&r=utomhus senaste dygn&w=1024&h=600&rrd=outside&c=009900">
<?php
echo "<img src=graph/outside1d" . $filnamn . ".png />"
?>
</a>
</td>
<td>
<a href="sh_graph.php?t=-7d&r=utomhus senaste vecka&w=1024&h=600&rrd=outside&c=009900">
<?php
echo "<img src=graph/outside7d" . $filnamn . ".png />"
?>
</a>
</td>
</tr>
<tr>
<td>
<a href="sh_graph.php?t=-1d&r=inomhus senaste dygn&w=1024&h=600&rrd=vardagsrum&c=000043">
<?php
echo "<img src=graph/vardagsrum1d" . $filnamn . ".png />"
?>
</a>
</td>
<td>
<a href="sh_graph.php?t=-7d&r=inomhus senaste vecka&w=1024&h=600&rrd=vardagsrum&c=000043">
<?php
echo "<img src=graph/vardagsrum7d" . $filnamn . ".png />"
?>
</a>
</td>
</tr>
</table>
<a href="custom.php">generera gustom grafer</a>
</body>
</html>