0) $rastercolor=imageColorAllocate($im,255,100,60); imageline($im, 0,($i*-$multi+$yversch) ,$width,($i*-$multi+$yversch) ,$rastercolor); if($i%2 ==0) imagestring($im,2,0,($i*-$multi+$yversch-2), $i."°C", $rastertemptext); } //auslesen $werteges=0; //zum wertezählen for ($sensors=0; $sensors<6; $sensors++) { if (substr($show_bin, $sensors,1)==1) //wenn nicht anzeigen dann überspringen { if ($sensors==0) $graphcolor=imageColorAllocate($im,255,100,0); if ($sensors==1) $graphcolor=imageColorAllocate($im,0,100,255); if ($sensors==2) $graphcolor=imageColorAllocate($im,0,200,50); if ($sensors==3) $graphcolor=imageColorAllocate($im,100,255,0); if ($sensors==4) $graphcolor=imageColorAllocate($im,150,50,255); if ($sensors==5) $graphcolor=imageColorAllocate($im,200,150,50); imagesetthickness($im, 3); $davidtempactive=false; if ($sensors<3){ $filename="tempfile".$filedate.".txt"; }else{ $filename="tempdavid".$filedate.".txt"; $davidtempactive=true; } $fp = fopen($filename,"r"); $time=$starttime-100; //damit links kein strich $temp=0; $tempoldset=1; //am anfang die tempold setzen (wegen links stich zu 0) if ($fp) { while(!feof($fp)) { $gelesen = fgets($fp); $sensor=substr($gelesen,0,1); if ($davidtempactive==true){ $sensor=$sensor+2; } if ($sensor==$sensors){ $werteges+=1; $tempold=$temp; $temp=substr($gelesen,14,6); if ($davidtempactive==true){ $temp=substr($gelesen,14,4); $maxdiff=$maxdiff+5*60; //plus 5 minuten (abstand von davidstemps) } if ($tempoldset==1){ $tempold=$temp; $tempoldset=0; } $timeold=$time; $time=substr($gelesen,2,10); if ($starttimeset==1) { $starttime=$time; $starttimeset=0; }elseif($starttimeset==2) { $starttime=mktime(0,0,0,date(n,$time),date(j,$time),date(Y,$time)); $starttimeset=0; } if ($time>0 && $temp<>85.000000 && $tempold<>85.000000 && ($time-$timeold)<$maxdiff){ imageline($im, $timeold/60-$starttime/60,($tempold*-$multi+$yversch),$time/60-$starttime/60,($temp*-$multi+$yversch), $graphcolor); } } //imagestring($im, 2,100,-800+$zeilencount*10, $temp." ".$time, $black); $zeilencount+=1; } fclose($fp); if ($sensors==0) imagestring($im, 2,$timeold/60-$starttime/60,($tempold*-$multi+$yversch), $tempold."°C",$graphcolor); if ($sensors==1) imagestring($im, 2,$time/60-$starttime/60,($temp*-$multi+$yversch), $temp."°C",$graphcolor); if ($sensors==2) imagestring($im, 2,$time/60-$starttime/60,($temp*-$multi+$yversch), $temp."°C",$graphcolor); if ($sensors==3) imagestring($im, 2,$time/60-$starttime/60,($temp*-$multi+$yversch), $temp."°C",$graphcolor); if ($sensors==4) imagestring($im, 2,$time/60-$starttime/60,($temp*-$multi+$yversch), $temp."°C",$graphcolor); if ($sensors==5) imagestring($im, 2,$time/60-$starttime/60,($temp*-$multi+$yversch), $temp."°C",$graphcolor); $endtime=$time; //zuletzt gelesene zeit } } //überspringabfrage ende } //sensors for ende //stundenlinien imagesetthickness($im, 1); $rastercolor=imageColorAllocate($im,100,100,100); $uhrzeit=0; for($j=$starttime; $j<$endtime; $j+=60) { if (date("i",$j)=="0") { imageline($im, $j/60-$starttime/60,0,$j/60-$starttime/60,$height ,$rastercolor); imagestring($im, 2,$j/60-$starttime/60,$height-20, $uhrzeit.":00", $blue); $uhrzeit=$uhrzeit+1; } } imagestring($im, 2,$width-200,20, "Von ".date("j.n.y H:i:s",$starttime), $blue); imagestring($im, 2,$width-200,30, "Bis ".date("j.n.y H:i:s",$endtime), $blue); imagestring($im, 3,$width-150,$height-30, "Werte:".$werteges, $blue); imagestring($im, 1,$width-150,$height-10, "programmcode by fisch", $black); imagePNG($im); imagedestroy($im); ?>