User defined logs with several values in one file are now supported.
git-svn-id: https://fhem.svn.sourceforge.net/svnroot/fhem/trunk/fhem@96 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
@@ -19,6 +19,7 @@ function drawgnuplot($gnudraw,$gnutyp,$gnuplot,$pictype,$logpath,$FHTyrange,$FHT
|
||||
$drawuserdef=$userdef['name'];
|
||||
$SemanticLong=$userdef['semlong'];
|
||||
$SemanticShort=$userdef['semshort'];
|
||||
$valuefield=$userdef['valuefield'];
|
||||
$type='UserDef '.$userdefnr;
|
||||
$IN="$gnudraw ($gnutyp $userdefnr)";
|
||||
}
|
||||
@@ -137,7 +138,7 @@ EOD;
|
||||
Case userdef: ############################################
|
||||
$gplotmain=<<<EOD
|
||||
\n set ylabel '$SemanticLong ( $SemanticShort )'
|
||||
plot "$logfile" using 1:4 axes x1y1 title '$SemanticLong' with lines lw 3
|
||||
plot "$logfile" using 1:$valuefield axes x1y1 title '$SemanticLong' with lines lw 3
|
||||
EOD;
|
||||
break;
|
||||
|
||||
|
||||
@@ -14,9 +14,6 @@ include "functions.php";
|
||||
$userdefnr=$_GET['userdefnr'];
|
||||
|
||||
$room=$userdef[$userdefnr]['room'];
|
||||
#echo "Raum: $room"; exit;
|
||||
|
||||
|
||||
|
||||
$file= $userdef[$userdefnr]['logpath'];
|
||||
$drawuserdef=$userdef[$userdefnr]['name'];
|
||||
@@ -24,6 +21,7 @@ include "functions.php";
|
||||
$imgmaxyuserdef=$userdef[$userdefnr]['imagemay'];
|
||||
$SemanticLong=$userdef[$userdefnr]['semlong'];
|
||||
$SemanticShort=$userdef[$userdefnr]['semshort'];
|
||||
$valuefield=$userdef[$userdefnr]['valuefield'];
|
||||
$type='UserDef '.$userdefnr;
|
||||
$logrotateUSERDEFlines=$userdef[0]['logrotatelines'];
|
||||
$maxcountUSERDEF=$userdef[0]['maxcount'];
|
||||
@@ -69,13 +67,26 @@ include "functions.php";
|
||||
|
||||
for ($x = 0; $x < $counter; $x++)
|
||||
{
|
||||
list ($date,$userdef,$t,$temp,$h,$hum) = preg_split("/[\s,]+/", $array[$x]);
|
||||
list ($date,$f2,$f3,$f4,$f5,$f6,$f7,$f8,$f9,$f10) = preg_split("/[\s,]+/", $array[$x]);
|
||||
if ((($array[$x][14] != $oldmin) or ($array[$x][12] != $oldhour) or ($x==$counter-1))
|
||||
and ( $date !="NEWLOGS"))
|
||||
{
|
||||
|
||||
switch ($valuefield):
|
||||
Case 2: $value=$f2;break;
|
||||
Case 3: $value=$f3;break;
|
||||
Case 4: $value=$f4;break;
|
||||
Case 5: $value=$f5;break;
|
||||
Case 6: $value=$f6;break;
|
||||
Case 7: $value=$f7;break;
|
||||
Case 8: $value=$f8;break;
|
||||
Case 9: $value=$f9;break;
|
||||
Case 10: $value=$f10;break;
|
||||
endswitch;
|
||||
$oldmin=$array[$x][14];
|
||||
$oldhour=$array[$x][12];
|
||||
array_push( $_SESSION["arraydata"],array($date,$temp,$hum));
|
||||
array_push( $_SESSION["arraydata"],array($date,$value));
|
||||
$temp=$value;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,12 +100,12 @@ include "functions.php";
|
||||
|
||||
###################
|
||||
### min/max
|
||||
$mintemp=100;
|
||||
$maxtemp=-100;
|
||||
$mintemp=1000;
|
||||
$maxtemp=-1000;
|
||||
for ($x = 0; $x <= $_SESSION["maxdata"]; $x++)
|
||||
{
|
||||
if ( $resultreverse[$x][1] > $maxtemp ) $maxtemp=$resultreverse[$x][1];
|
||||
if ( ($resultreverse[$x][1] < $mintemp) and ($resultreverse[$x][1]>-100) ) $mintemp=$resultreverse[$x][1];
|
||||
if ( ($resultreverse[$x][1] < $mintemp) and ($resultreverse[$x][1]>-1000) ) $mintemp=$resultreverse[$x][1];
|
||||
}
|
||||
$tempdiff=$maxtemp-$mintemp;
|
||||
if ($tempdiff==0) $tempdiff=1;
|
||||
|
||||
Reference in New Issue
Block a user