mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 04:36:36 +00:00
new arrangement of the PHP-graphics, FHT-Pulldown will now called by "adjust", FHT-PHP-Graphics now with Temperature/desired-temp and actuator
git-svn-id: https://svn.fhem.de/fhem/trunk@33 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
64a9932936
commit
07161ce44b
@ -110,3 +110,4 @@ Changelog
|
||||
-- Feature: WS300 is now supported
|
||||
-- Internal: Adjusted to the new internal structure of FHEM. YOU MUST HAVE FHEM >=4.0
|
||||
-- Internal: random-device for one-time at-order (define <randdev> at set ...)
|
||||
-- Feature: new arrangement of the graphics, FHT-Pulldown will now called by "adjust", FHT-PHP-Graphics now with Temperature/desired-temp and actuator
|
||||
|
@ -4,3 +4,9 @@
|
||||
- Martin 2007-03-19
|
||||
- Feature: WS300 ist now supported
|
||||
- Adjusted to new structure of FHEM (IT NEEDS now FHZ1000/FHEM >= v3.4!)
|
||||
|
||||
- Martin 2007-03-22
|
||||
- New arrangement of the graphics.
|
||||
- Better support for WS300
|
||||
- FHT-Pulldown will now be called by the button "adjust"
|
||||
- FHT-PHP-Grafics now with temperature, desired-temp and actuator
|
||||
|
@ -1,16 +1,16 @@
|
||||
<?php
|
||||
|
||||
##################################################################################
|
||||
#### pgm3 -- a PHP-webfrontend for fhem.pl
|
||||
#### pgm3 -- a PHP-webfrontend for fhz1000.pl
|
||||
|
||||
|
||||
###### required settings
|
||||
$fhz1000="localhost"; #only php5 ! On which machine is fhz1000 runnning??
|
||||
$fhz1000="fhz"; #only php5 ! On which machine is fhz1000 runnning??
|
||||
# if it is not localhost then the fhz1000.cfg must
|
||||
# run global: "port <nr> global"
|
||||
$fhz1000port="7072"; # port of fhz1000.pl
|
||||
$logpath="/var/tmp"; # where are your logs?
|
||||
$fhz1000_pl="/home/FHEM/fhem/fhem.pl"; #only required if you are using PHP4
|
||||
$fhz1000_pl="/home/FHZ/fhz1000/fhz1000.pl"; #only required if you are using PHP4
|
||||
|
||||
##################################################################################
|
||||
###### nice to have
|
||||
@ -67,11 +67,17 @@
|
||||
|
||||
##############################################################################################
|
||||
## FHT-Devices
|
||||
$imgmaxxfht=450; #Size of the pictures Default: 450 for faster systems else 380
|
||||
$imgmaxxfht=685; #Size of the pictures Default: 685
|
||||
$imgmaxyfht=52;
|
||||
$show_desiredtemp=1; # show the desired_temp as a graphic (0/1)
|
||||
$desR='255'; $desG='255'; $desB='255'; # Color of desired-temp-line Red/Green/Blue (Default: 255/255/255)
|
||||
$show_actuator=1; # show the actuator-value as a graphic (0/1)
|
||||
$actR='255'; $actG='247'; $actB='200'; # Color of Actuator-line Red/Green/Blue (Default: 255/247/200)
|
||||
$FHTyrange='15:31'; # Temperature in gnuplot. Default 15 to 31 (Celsius)
|
||||
$FHTy2range='0:70'; # Actuator in gnuplot. Default 0 to 70 (Percent)
|
||||
$maxcount='460'; # Maximum count of pixel (from right to left) (Default:460)
|
||||
$XcorrectDate=325; # Text of e.g. Date from the right side (Default:325)
|
||||
$XcorrectMainText=35; # Text of main text from the right side (Default: 35)
|
||||
$logrotateFHTlines=4300; # automatic Logrotate; $logrotate must be 'yes'.
|
||||
# Default:4300
|
||||
# read docs/logrotate if you want adjust it manually!
|
||||
@ -83,8 +89,10 @@
|
||||
|
||||
##############################################################################################
|
||||
## HMS-Devices
|
||||
$imgmaxxhms=620; #Size of the pictures. Default: 620 for faster systems else 380
|
||||
$imgmaxxhms=685; #Size of the pictures. Default: 685
|
||||
$imgmaxyhms=52;
|
||||
$maxcountHMS='525'; # Maximum count of pixel (from right to left) (Default:525)
|
||||
$XcorrectMainTextHMS=25; # Text of main text from the right side (Default:)
|
||||
$logrotateHMSlines=1200; # automatic Logrotate; $logrotate must be 'yes'.
|
||||
# Default:1200
|
||||
# read docs/logrotate if you want adjust it manually!
|
||||
@ -94,13 +102,15 @@
|
||||
|
||||
##############################################################################################
|
||||
## KS300-Device
|
||||
$imgmaxxks=620; #Size of the pictures Default: 620 for faster systems else 380
|
||||
$imgmaxxks=685; #Size of the pictures Default: 685
|
||||
|
||||
$imgmaxyks=52;
|
||||
$showbft=1; # Display values additionaly in Beafort. Values: 0 /1 Default:1
|
||||
$maxcountKS='525'; # Maximum count of pixel (from right to left) (Default:525)
|
||||
$XcorrectMainTextKS=35; # Text of main text from the right side (Default: 35)
|
||||
|
||||
$logrotateKS300lines=2000; # automatic Logrotate; $logrotate must be 'yes'.
|
||||
# Default:1900
|
||||
# Default:2000
|
||||
# read docs/logrotate if you want adjust it manually
|
||||
# otherwise the system will slow down
|
||||
# pgm3 (user www-data) needs the rights to write the logs
|
||||
|
@ -35,6 +35,8 @@ setlocale (LC_ALL, 'de_DE.utf8');
|
||||
$yellow= ImageColorAllocate($im, 255, 255, 0);
|
||||
$lightyellow= ImageColorAllocate($im, 255, 247,222 );
|
||||
$orange= ImageColorAllocate($im, 255, 230, 25);
|
||||
$actuatorcolor = ImageColorAllocate($im, $actR, $actG, $actB);
|
||||
$desiredcolor = ImageColorAllocate($im, $desR, $desG, $desB);
|
||||
|
||||
|
||||
ImageFill($im, 0, 0, $bg2p);
|
||||
@ -47,6 +49,7 @@ setlocale (LC_ALL, 'de_DE.utf8');
|
||||
$actuator_date="unknown";
|
||||
$counter=count($array);
|
||||
$arraydesired=array();
|
||||
$arrayactuator=array();
|
||||
|
||||
#echo $counter; exit;
|
||||
|
||||
@ -69,12 +72,14 @@ setlocale (LC_ALL, 'de_DE.utf8');
|
||||
$oldhour=$array[$x][12];
|
||||
array_push( $_SESSION["arraydata"],array($date,$type,$temp));
|
||||
array_push( $arraydesired,$desired_temp);
|
||||
array_push( $arrayactuator,$actuator);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$resultreverse = array_reverse($_SESSION["arraydata"]);
|
||||
$reversedesired = array_reverse($arraydesired);
|
||||
$reverseactuator = array_reverse($arrayactuator);
|
||||
$xold=$imgmaxxfht;
|
||||
|
||||
if ( $imgmaxxfht > count ($resultreverse) )
|
||||
@ -95,68 +100,75 @@ setlocale (LC_ALL, 'de_DE.utf8');
|
||||
$tempdiff=$maxtemp-$mintemp;
|
||||
if ($tempdiff==0) $tempdiff=1;
|
||||
$fac=$imgmaxyfht/$tempdiff;
|
||||
$fac2=$imgmaxyfht/100;
|
||||
$yold=round($imgmaxyfht-(($resultreverse[0][1]-$mintemp)*$fac));
|
||||
###################
|
||||
|
||||
|
||||
|
||||
for ($x = 0; $x < $_SESSION["maxdata"]; $x++)
|
||||
|
||||
if ($maxcount > $_SESSION["maxdata"]) {$counter=$_SESSION["maxdata"];} else {$counter=$maxcount;};
|
||||
for ($x = 0; $x < $counter; $x++)
|
||||
|
||||
{
|
||||
$parts = explode("_", $resultreverse[$x][0]);
|
||||
if ( ($parts[0] != $olddate) )
|
||||
{
|
||||
$olddate=$parts[0];
|
||||
#ImageLine($im, $imgmaxxfht-$x, 0,$imgmaxxfht-$x , $imgmaxyfht, $bg1p);
|
||||
ImageLine($im, $imgmaxxfht-$x, 0,$imgmaxxfht-$x , $imgmaxyfht, $bg1p);
|
||||
};
|
||||
$y = round($imgmaxyfht-(($resultreverse[$x][2]-$mintemp)*$fac));
|
||||
$y2 = round($imgmaxyfht-(($reversedesired[$x]-$mintemp)*$fac));
|
||||
#ImageLine($im, $imgmaxxfht-$x, $y2, $xold, $yold2, $bg1p);
|
||||
if ($show_desiredtemp == 1) ImageLine($im, $imgmaxxfht-$x+1, $y2, $xold, $yold2, $lightyellow);
|
||||
$y3 = round($imgmaxyfht-(($reverseactuator[$x])*$fac2));
|
||||
if ($show_actuator== 1) ImageLine($im, $imgmaxxfht-$x+1, $y3, $xold, $yold3, $actuatorcolor);
|
||||
if ($show_desiredtemp == 1) ImageLine($im, $imgmaxxfht-$x+1, $y2, $xold, $yold2, $desiredcolor);
|
||||
ImageLine($im, $imgmaxxfht-$x, $y, $xold, $yold, $red);
|
||||
$xold=$imgmaxxfht-$x;
|
||||
$yold=$y;
|
||||
$yold2=$y2;
|
||||
$yold3=$y3;
|
||||
};
|
||||
|
||||
#print_r($resultreverse);
|
||||
#print_r($reversedesired);
|
||||
#exit;
|
||||
ImageLine($im, $imgmaxxfht-$x, 0,$imgmaxxfht-$x , $imgmaxyfht, $yellow);
|
||||
ImageLine($im, $imgmaxxfht-$maxcount, 0,$imgmaxxfht-$maxcount , $imgmaxyfht, $white);
|
||||
###ttf
|
||||
|
||||
# $text2=$resultreverse[0][0];
|
||||
$text="Temperature";
|
||||
$fontsize=7;
|
||||
$txtcolor=$bg3p;
|
||||
ImageTTFText ($im, $fontsize, 0, 5, 12, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 3, 10, $txtcolor, $fontttf, $text);
|
||||
$text=$resultreverse[0][2]." °C";
|
||||
|
||||
ImageTTFText ($im, 9, 0, 90, 35, $txtcolor, $fontttfb, $text);
|
||||
ImageTTFText ($im, 9, 0, 90-$XcorrectMainText, 37, $txtcolor, $fontttfb, $text);
|
||||
|
||||
$text= $drawfht;
|
||||
ImageTTFText ($im, 8, 0, 90, 18, $txtcolor, $fontttfb, $text);
|
||||
ImageTTFText ($im, 8, 0, 90-$XcorrectMainText, 22, $txtcolor, $fontttfb, $text);
|
||||
$txtcolor=$bg3p;
|
||||
$fontsize=7;
|
||||
$text="min= $mintemp max= $maxtemp";
|
||||
ImageTTFText ($im, $fontsize, 0, 67, 47, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 67-$XcorrectMainText, 49, $txtcolor, $fontttf, $text);
|
||||
|
||||
$text=$txtroom.$room;
|
||||
ImageTTFText ($im, $fontsize, 0, 5, $imgmaxyfht-7, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 3, 49, $txtcolor, $fontttf, $text);
|
||||
|
||||
$text="desired-temp: $desired_temp";
|
||||
ImageTTFText ($im, $fontsize, 0, $imgmaxxfht-230, 23, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, $imgmaxxfht-230-$XcorrectDate, 23, $txtcolor, $fontttf, $text);
|
||||
|
||||
$text=$desired_date;
|
||||
ImageTTFText ($im, $fontsize, 0, $imgmaxxfht-127, 23, $txtcolor, $fontttf, $text);
|
||||
#$text=$desired_date;
|
||||
#ImageTTFText ($im, $fontsize, 0, $imgmaxxfht-127-$XcorrectDate, 23, $txtcolor, $fontttf, $text);
|
||||
|
||||
$text="Actuator [%]: $actuator";
|
||||
ImageTTFText ($im, $fontsize, 0, $imgmaxxfht-230, 33, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, $imgmaxxfht-230-$XcorrectDate, 33, $txtcolor, $fontttf, $text);
|
||||
|
||||
$text=$actuator_date;
|
||||
ImageTTFText ($im, $fontsize, 0, $imgmaxxfht-127, 33, $txtcolor, $fontttf, $text);
|
||||
#$text=$actuator_date;
|
||||
#ImageTTFText ($im, $fontsize, 0, $imgmaxxfht-127-$XcorrectDate, 33, $txtcolor, $fontttf, $text);
|
||||
|
||||
$text=$resultreverse[0][0];
|
||||
ImageTTFText ($im, $fontsize, 0, $imgmaxxfht-127, 13, $txtcolor, $fontttf, $text);
|
||||
#ImageTTFText ($im, $fontsize, 0, $imgmaxxfht-127-$XcorrectDate, 13, $txtcolor, $fontttf, $text);
|
||||
|
||||
header("Content-type: image/png");
|
||||
imagePng($im);
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
echo "
|
||||
<tr>
|
||||
<td colspan=3 align=right $bg2><font $fontcolor3>FHT: </font></td><td align=left $bg2><font $fontcolor3>
|
||||
<td colspan=2 align=right $bg2><font $fontcolor3>FHT: </font></td><td align=left $bg2><font $fontcolor3>
|
||||
<form action=$forwardurl method='POST'>";
|
||||
#<input type=hidden name=showfht value=$showfht>
|
||||
#<input type=hidden name=showhms value=$showhms>
|
||||
@ -86,7 +86,7 @@
|
||||
echo "<option>$m.0</option>";
|
||||
echo "<option>$m.5</option>";
|
||||
}
|
||||
|
||||
if (isset($valuetime)) echo"<option selected>$valuetime</option>";
|
||||
echo"</select>";
|
||||
|
||||
#$order="$atorder $attime set $fhtdev $orderpulldown $valuetime";
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
echo "
|
||||
<tr>
|
||||
<td colspan=3 align=right $bg2><font $fontcolor3>FS20: </font></td><td align=left $bg2><font $fontcolor3>
|
||||
<td colspan=2 align=right $bg2><font $fontcolor3>FS20: </font></td><td align=left $bg2><font $fontcolor3>
|
||||
<form action=$forwardurl method='POST'>
|
||||
<input type=hidden name=showfht value=$showfht>
|
||||
<input type=hidden name=showhms value=$showhms>
|
||||
|
@ -47,6 +47,7 @@ $supported_HMS= array('HMS100T','HMS100TF','HMS100WD','HMS100MG','HMS100TFK','HM
|
||||
$mintemp=100;
|
||||
$maxtemp=-100;
|
||||
$counter=count($array);
|
||||
#if ($maxcountHMS < $counter) {$counter=$maxcountHMS;};
|
||||
|
||||
#Logrotate
|
||||
if ((($logrotateHMSlines+100) < $counter) and ($logrotate == 'yes')) LogRotate($array,$file,$logrotateHMSlines);
|
||||
@ -94,7 +95,8 @@ if ( $type == "HMS100T" or $type == "HMS100TF" ) ## hms100t-Device.
|
||||
###################
|
||||
|
||||
|
||||
for ($x = 0; $x <= $_SESSION["maxdata"]; $x++)
|
||||
if ($maxcountHMS < $_SESSION["maxdata"]) {$anzlines=$maxcountHMS;} else {$anzlines= $_SESSION["maxdata"];}
|
||||
for ($x = 0; $x < $anzlines; $x++)
|
||||
|
||||
{
|
||||
$parts = explode("_", $resultreverse[$x][0]);
|
||||
@ -109,6 +111,7 @@ if ( $type == "HMS100T" or $type == "HMS100TF" ) ## hms100t-Device.
|
||||
$yold=$y;
|
||||
};
|
||||
ImageLine($im, $imgmaxxhms-$x, 0,$imgmaxxhms-$x , $imgmaxyhms, $yellow);
|
||||
ImageLine($im, $imgmaxxhms-$maxcountHMS, 0,$imgmaxxhms-$maxcountHMS , $imgmaxyhms, $white);
|
||||
$tempTEMP=$temp;
|
||||
}; #HMS100T
|
||||
|
||||
@ -121,7 +124,8 @@ if ( $type == "HMS100TF") ## hms100tf-Device.
|
||||
$min=100;
|
||||
$max=-100;
|
||||
|
||||
for ($x = 0; $x <= $_SESSION["maxdata"]; $x++)
|
||||
if ($maxcountHMS < $_SESSION["maxdata"]) {$anzlines=$maxcountHMS;} else {$anzlines= $_SESSION["maxdata"];}
|
||||
for ($x = 0; $x < $anzlines; $x++)
|
||||
{
|
||||
$temp=$resultreverse[$x][2];
|
||||
if ( $temp > $max ) $max=$temp;
|
||||
@ -135,7 +139,9 @@ if ( $type == "HMS100TF") ## hms100tf-Device.
|
||||
$xold=$imgmaxxhms;
|
||||
$yold=round($imgmaxyhms-(($resultreverse[0][2]-$min)*$fac));
|
||||
|
||||
for ($x = 0; $x < count($resultreverse); $x++)
|
||||
if ($maxcountHMS < $_SESSION["maxdata"]) {$anzlines=$maxcountHMS;} else {$anzlines= $_SESSION["maxdata"];}
|
||||
for ($x = 0; $x < $anzlines; $x++)
|
||||
#for ($x = 0; $x < count($resultreverse); $x++)
|
||||
{
|
||||
$y = round($imgmaxyhms-(($resultreverse[$x][2]-$min)*$fac));
|
||||
ImageLine($im, $imgmaxxhms-$x, $y, $xold, $yold, $white);
|
||||
@ -180,17 +186,17 @@ if ( $type == "HMS100T" or $type == "HMS100TF" )
|
||||
$text="Temperature";
|
||||
$fontsize=7;
|
||||
$txtcolor=$bg3p;
|
||||
ImageTTFText ($im, $fontsize, 0, 5, 12, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 3, 10, $txtcolor, $fontttf, $text);
|
||||
$txtcolor=$bg3p;
|
||||
$fontsize=9;
|
||||
$text=$tempTEMP." °C";
|
||||
$tvalue=$tempTEMP;
|
||||
ImageTTFText ($im, $fontsize, 0, 80, 35, $txtcolor, $fontttfb, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 90-$XcorrectMainTextHMS, 37, $txtcolor, $fontttfb, $text);
|
||||
|
||||
$txtcolor=$bg3p;
|
||||
$fontsize=7;
|
||||
$text="min= $mintemp max= $maxtemp";
|
||||
ImageTTFText ($im, $fontsize, 0, 62, 47, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 67-$XcorrectMainTextHMS, 49, $txtcolor, $fontttf, $text);
|
||||
$text=$resultreverse[0][0];
|
||||
ImageTTFText ($im, $fontsize, 0, $imgmaxxhms-127, 13, $txtcolor, $fontttf, $text);
|
||||
};
|
||||
@ -199,10 +205,10 @@ if ( $type == "HMS100T" or $type == "HMS100TF" )
|
||||
$txtcolor=$bg3p;
|
||||
$fontsize=9;
|
||||
$text= $drawhms;
|
||||
ImageTTFText ($im, 8, 0, 80, 18, $txtcolor, $fontttfb, $text);
|
||||
ImageTTFText ($im, 8, 0,90-$XcorrectMainTextHMS, 22, $txtcolor, $fontttfb, $text);
|
||||
$fontsize=7;
|
||||
$text=$txtroom.$room;
|
||||
ImageTTFText ($im, $fontsize, 0, 5, $imgmaxyhms-7, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 3, $imgmaxyhms-7, $txtcolor, $fontttf, $text);
|
||||
$text=$type;
|
||||
ImageTTFText ($im, $fontsize, 0, 5, $imgmaxyhms-17, $txtcolor, $fontttf, $text);
|
||||
|
||||
@ -232,8 +238,8 @@ if ( $type == "HMS100WD" or $type == "HMS100MG" or $type == "HMS100W"
|
||||
else
|
||||
{ $_SESSION["maxdata"] = $imgmaxxhms; };
|
||||
|
||||
for ($x = 0; $x < $_SESSION["maxdata"]-1; $x++)
|
||||
|
||||
if ($maxcountHMS < $_SESSION["maxdata"]) {$anzlines=$maxcountHMS;} else {$anzlines= $_SESSION["maxdata"];}
|
||||
for ($x = 0; $x < $anzlines; $x++)
|
||||
{
|
||||
$parts = explode("_", $resultreverse[$x][0]);
|
||||
if ( ($parts[0] != $olddate) )
|
||||
|
@ -13,7 +13,7 @@ $drawks=$_GET['drawks'];
|
||||
$room=$_GET['room'];
|
||||
$avgday=$_GET['avgday'];
|
||||
$avgmonth=$_GET['avgmonth'];
|
||||
|
||||
#$drawks="ks300";
|
||||
|
||||
$file="$logpath/$drawks.log";
|
||||
if (! file_exists($file)) show_error($file,$drawks,$imgmaxxks,$imgmaxyks);
|
||||
@ -94,8 +94,8 @@ $avgmonth=$_GET['avgmonth'];
|
||||
$yold=round($imgmaxyks-(($resultreverse[0][1]-$mintemp)*$fac));
|
||||
###################
|
||||
|
||||
|
||||
for ($x = 0; $x <= $maxdata; $x++)
|
||||
if ($maxcountKS < $maxdata) {$anzlines=$maxcountKS;} else {$anzlines=$maxdata;}
|
||||
for ($x = 0; $x < $anzlines; $x++)
|
||||
{
|
||||
$y = round($imgmaxyks-(($resultreverse[$x][1]-$mintemp)*$fac));
|
||||
ImageLine($im, $imgmaxxks-$x, $y, $xold, $yold, $red);
|
||||
@ -109,6 +109,7 @@ $avgmonth=$_GET['avgmonth'];
|
||||
};
|
||||
};
|
||||
ImageLine($im, $imgmaxxks-$x, 0,$imgmaxxks-$x , $imgmaxyks, $yellow);
|
||||
ImageLine($im, $imgmaxxks-$maxcountKS, 0,$imgmaxxks-$maxcountKS , $imgmaxyks, $white);
|
||||
if ($mintemp < 0)
|
||||
{
|
||||
$y = round($imgmaxyks-((0-$mintemp)*$fac));
|
||||
@ -117,15 +118,15 @@ $avgmonth=$_GET['avgmonth'];
|
||||
$text="Temperature";
|
||||
$fontsize=7;
|
||||
$txtcolor=$bg3p;
|
||||
ImageTTFText ($im, $fontsize, 0, 5, 12, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 3, 10, $txtcolor, $fontttf, $text);
|
||||
$fontsize=9;
|
||||
$text=$temp." °C";
|
||||
ImageTTFText ($im, $fontsize, 0, 80, 35, $txtcolor, $fontttfb, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 90-$XcorrectMainTextKS, 37, $txtcolor, $fontttfb, $text);
|
||||
$text= $drawks;
|
||||
ImageTTFText ($im, 8, 0, 80, 18, $txtcolor, $fontttfb, $text);
|
||||
ImageTTFText ($im, 8, 0, 90-$XcorrectMainTextKS, 22, $txtcolor, $fontttfb, $text);
|
||||
$fontsize=7;
|
||||
$text="min= $mintemp max= $maxtemp";
|
||||
ImageTTFText ($im, $fontsize, 0, 60, 47, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 67-$XcorrectMainTextKS, 49, $txtcolor, $fontttf, $text);
|
||||
$imt=$im;
|
||||
|
||||
#humidity
|
||||
@ -140,7 +141,8 @@ $avgmonth=$_GET['avgmonth'];
|
||||
$min=100;
|
||||
$max=-100;
|
||||
|
||||
for ($x = 0; $x <= $maxdata-1; $x++)
|
||||
if ($maxcountKS < $maxdata) {$anzlines=$maxcountKS;} else {$anzlines=$maxdata;}
|
||||
for ($x = 0; $x < $anzlines; $x++)
|
||||
{
|
||||
$temp=$resultreverse[$x][2];
|
||||
if ( $temp > $max ) $max=$temp;
|
||||
@ -156,7 +158,9 @@ $avgmonth=$_GET['avgmonth'];
|
||||
$yold=round($imgmaxyks-(($resultreverse[0][2]-$min)*$fac));
|
||||
|
||||
$olddate = ($resultreverse[0][0][9]);
|
||||
for ($x = 0; $x < count($resultreverse); $x++)
|
||||
$countresultrev=count($resultreverse);
|
||||
if ($maxcountKS < $countresultrev) {$anzlines=$maxcountKS;}else {$anzlines=$countresultrev;}
|
||||
for ($x = 0; $x < $anzlines; $x++)
|
||||
{
|
||||
$y = round($imgmaxyks-(($resultreverse[$x][2]-$min)*$fac));
|
||||
ImageLine($im, $imgmaxxks-$x, $y, $xold, $yold, $red);
|
||||
@ -170,16 +174,17 @@ $avgmonth=$_GET['avgmonth'];
|
||||
};
|
||||
};
|
||||
ImageLine($im, $imgmaxxks-$x, 0,$imgmaxxks-$x , $imgmaxyks, $yellow);
|
||||
ImageLine($im, $imgmaxxks-$maxcountKS, 0,$imgmaxxks-$maxcountKS , $imgmaxyks, $white);
|
||||
$text="Humidity";
|
||||
$fontsize=7;
|
||||
$txtcolor=$bg3p;
|
||||
ImageTTFText ($im, $fontsize, 0, 5, 12, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 3, 10, $txtcolor, $fontttf, $text);
|
||||
$fontsize=9;
|
||||
$text=$temp." %";
|
||||
ImageTTFText ($im, $fontsize, 0, 80, 35, $txtcolor, $fontttfb, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 90-$XcorrectMainText, 37, $txtcolor, $fontttfb, $text);
|
||||
$fontsize=7;
|
||||
$text="min= $min max= $max";
|
||||
ImageTTFText ($im, $fontsize, 0, 60, 47, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 67-$XcorrectMainText, 49, $txtcolor, $fontttf, $text);
|
||||
|
||||
$imh=$im;
|
||||
|
||||
@ -192,7 +197,8 @@ $avgmonth=$_GET['avgmonth'];
|
||||
$min=120000;
|
||||
$max=-100;
|
||||
|
||||
for ($x = 0; $x <= $maxdata; $x++)
|
||||
if ($maxcountKS < $maxdata) {$anzlines=$maxcountKS;} else {$anzlines=$maxdata;}
|
||||
for ($x = 0; $x < $anzlines; $x++)
|
||||
{
|
||||
$temp=$resultreverse[$x][3];
|
||||
if ( $temp > $max ) $max=$temp;
|
||||
@ -207,7 +213,9 @@ $avgmonth=$_GET['avgmonth'];
|
||||
$xold=$imgmaxxks;
|
||||
$yold=round($imgmaxyks-(($resultreverse[0][3]-$min)*$fac));
|
||||
|
||||
for ($x = 0; $x < count($resultreverse); $x++)
|
||||
$countresultrev=count($resultreverse);
|
||||
if ($maxcountKS < $countresultrev) {$anzlines=$maxcountKS;}else {$anzlines=$countresultrev;}
|
||||
for ($x = 0; $x < $anzlines; $x++)
|
||||
{
|
||||
$y = round($imgmaxyks-(($resultreverse[$x][3]-$min)*$fac));
|
||||
ImageLine($im, $imgmaxxks-$x, $y, $xold, $yold, $red);
|
||||
@ -221,26 +229,27 @@ $avgmonth=$_GET['avgmonth'];
|
||||
};
|
||||
};
|
||||
ImageLine($im, $imgmaxxks-$x, 0,$imgmaxxks-$x , $imgmaxyks, $yellow);
|
||||
ImageLine($im, $imgmaxxks-$maxcountKS, 0,$imgmaxxks-$maxcountKS , $imgmaxyks, $white);
|
||||
if (isset($willi)) $text="Air Pressure"; else $text="Wind";
|
||||
$fontsize=7;
|
||||
$txtcolor=$bg3p;
|
||||
ImageTTFText ($im, $fontsize, 0, 5, 12, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 3, 10, $txtcolor, $fontttf, $text);
|
||||
$fontsize=9;
|
||||
if (isset($willi)) $text=$temp." hPa"; else $text=$temp." km/h";
|
||||
ImageTTFText ($im, $fontsize, 0, 80, 35, $txtcolor, $fontttfb, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 80-$XcorrectMainTextKS, 37, $txtcolor, $fontttfb, $text);
|
||||
$fontsize=7;
|
||||
|
||||
if (($showbft==1) and (! isset($willi)))
|
||||
{
|
||||
$text="( ".bft($temp)." Bft)";
|
||||
ImageTTFText ($im, $fontsize, 0, 150, 35, $txtcolor, $fontttfb, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 140-$XcorrectMainTextKS, 37, $txtcolor, $fontttfb, $text);
|
||||
$text2="min= $min max= $max (".bft($max)." Bft)";
|
||||
}
|
||||
else
|
||||
{
|
||||
$text2="min= $min max= $max";
|
||||
}
|
||||
ImageTTFText ($im, $fontsize, 0, 60, 47, $txtcolor, $fontttf, $text2);
|
||||
ImageTTFText ($im, $fontsize, 0, 57-$XcorrectMainTextKS, 49, $txtcolor, $fontttf, $text2);
|
||||
|
||||
$imw=$im;
|
||||
|
||||
@ -256,7 +265,8 @@ if (! isset($willi))
|
||||
$min=120;
|
||||
$max=-100;
|
||||
|
||||
for ($x = 0; $x <= $maxdata; $x++)
|
||||
if ($maxcountKS < $maxdata) {$anzlines=$maxcountKS;} else {$anzlines=$maxdata;}
|
||||
for ($x = 0; $x < $anzlines; $x++)
|
||||
{
|
||||
$temp=$resultreverse[$x][4];
|
||||
if ( $temp > $max ) $max=$temp;
|
||||
@ -272,7 +282,8 @@ if (! isset($willi))
|
||||
$xold=$imgmaxxks;
|
||||
$yold=round($imgmaxyks-(($resultreverse[0][4]-$min)*$fac));
|
||||
|
||||
for ($x = 0; $x <= $maxdata; $x++)
|
||||
if ($maxcountKS < $maxdata) {$anzlines=$maxcountKS;} else {$anzlines=$maxdata;}
|
||||
for ($x = 0; $x < $anzlines; $x++)
|
||||
{
|
||||
$parts = explode("_", $resultreverse[$x][0]);
|
||||
if ( ($parts[0] != $olddate) )
|
||||
@ -293,6 +304,7 @@ if (! isset($willi))
|
||||
|
||||
};
|
||||
ImageLine($im, $imgmaxxks-$x, 0,$imgmaxxks-$x , $imgmaxyks, $yellow);
|
||||
ImageLine($im, $imgmaxxks-$maxcountKS, 0,$imgmaxxks-$maxcountKS , $imgmaxyks, $white);
|
||||
$fontsize=7;
|
||||
$text="Is raining:";
|
||||
ImageTTFText ($im, $fontsize, 0, 50, 14, $txtcolor, $fontttf, $text);
|
||||
@ -304,21 +316,21 @@ if (! isset($willi))
|
||||
$text="Rain";
|
||||
$fontsize=7;
|
||||
$txtcolor=$bg3p;
|
||||
ImageTTFText ($im, $fontsize, 0, 5, 12, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 3, 10, $txtcolor, $fontttf, $text);
|
||||
$fontsize=9;
|
||||
$text=$temp." l/m2";
|
||||
ImageTTFText ($im, $fontsize, 0, 80, 35, $txtcolor, $fontttfb, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 90-$XcorrectMainTextKS, 37, $txtcolor, $fontttfb, $text);
|
||||
$fontsize=7;
|
||||
$text="min= $min max= $max";
|
||||
ImageTTFText ($im, $fontsize, 0, $imgmaxxks-130, 30, $txtcolor, $fontttf, $text);
|
||||
$text=$resultreverse[0][0];
|
||||
ImageTTFText ($im, $fontsize, 0, $imgmaxxks-130, 15, $txtcolor, $fontttf, $text);
|
||||
$text="avg_day: ".$avgday;
|
||||
ImageTTFText ($im, $fontsize, 0, 70, 47, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 70, 49, $txtcolor, $fontttf, $text);
|
||||
$text="avg_mon: ".$avgmonth;
|
||||
ImageTTFText ($im, $fontsize, 0, 320, 47, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 320, 49, $txtcolor, $fontttf, $text);
|
||||
$text=$room;
|
||||
ImageTTFText ($im, $fontsize, 0, 7, 47, $txtcolor, $fontttf, $text);
|
||||
ImageTTFText ($im, $fontsize, 0, 3, 49, $txtcolor, $fontttf, $text);
|
||||
$imr=$im;
|
||||
}
|
||||
else # Willi:
|
||||
@ -331,7 +343,8 @@ else # Willi:
|
||||
$min=120000;
|
||||
$max=-100;
|
||||
|
||||
for ($x = 0; $x <= $maxdata; $x++)
|
||||
if ($maxcountKS < $maxdata) {$anzlines=$maxcountKS;} else {$anzlines=$maxdata;}
|
||||
for ($x = 0; $x < $anzlines; $x++)
|
||||
{
|
||||
$temp=$resultreverse[$x][4];
|
||||
if ( $temp > $max ) $max=$temp;
|
||||
@ -360,6 +373,7 @@ else # Willi:
|
||||
};
|
||||
};
|
||||
ImageLine($im, $imgmaxxks-$x, 0,$imgmaxxks-$x , $imgmaxyks, $yellow);
|
||||
ImageLine($im, $imgmaxxks-$maxcountKS, 0,$imgmaxxks-$maxcountKS , $imgmaxyks, $white);
|
||||
$text="Willi";
|
||||
$fontsize=7;
|
||||
$txtcolor=$bg3p;
|
||||
@ -373,7 +387,8 @@ else # Willi:
|
||||
ImageTTFText ($im, $fontsize, 0, 60, 47, $txtcolor, $fontttf, $text2);
|
||||
$text=$resultreverse[0][0];
|
||||
ImageTTFText ($im, $fontsize, 0, $imgmaxxks-130, 15, $txtcolor, $fontttf, $text);
|
||||
|
||||
$text=$room;
|
||||
ImageTTFText ($im, $fontsize, 0, 7, 47, $txtcolor, $fontttf, $text);
|
||||
$imr=$im;
|
||||
}
|
||||
|
||||
|
@ -141,7 +141,7 @@ $pgm3version='0.8.0cvs';
|
||||
if (isset ($showat)) { $forwardurl=$forwardurl.'&showat';};
|
||||
if (isset ($showhist)) { $forwardurl=$forwardurl.'&showhist';};
|
||||
if (isset ($showmenu))
|
||||
{ $forwardurl=$forwardurl.'&fs20dev='.$fs20dev.'&orderpulldown='.$orderpulldown.'&showmenu='.$showmenu.'&showroom='.$showroom;}
|
||||
{ $forwardurl=$forwardurl.'&fs20dev='.$fs20dev.'&orderpulldown='.$orderpulldown.'&valuetime='.$valuetime.'&showmenu='.$showmenu.'&showroom='.$showroom;}
|
||||
unset($link);
|
||||
if (isset ($showlogs)) $link=$link.'&showlogs';
|
||||
if (isset ($shownoti)) $link=$link.'&shownoti';
|
||||
@ -384,6 +384,7 @@ xml_parser_free($xml_parser);
|
||||
|
||||
#print_r($rooms); echo "Count: $countrooms"; exit;
|
||||
#print_r($fs20devs); exit;
|
||||
#echo count($stack[0][children]);exit;
|
||||
|
||||
# Print Array on Screen
|
||||
|
||||
@ -428,22 +429,26 @@ xml_parser_free($xml_parser);
|
||||
echo "</font></td></tr>";
|
||||
|
||||
|
||||
if (($show_general=='1') AND ($showmenu=='1'))
|
||||
{echo "
|
||||
if ($showmenu=='1')
|
||||
{
|
||||
if ($show_general=='1')
|
||||
{echo "
|
||||
<tr>
|
||||
<td colspan=3 align=right $bg2><font $fontcolor3>
|
||||
General: </font></td><td align=left $bg2><font $fontcolor3>
|
||||
<td colspan=2 align=right $bg2><font $fontcolor3> General: </font></td>
|
||||
<td align=left $bg2 colspan=2><font $fontcolor3>
|
||||
<form action=$forwardurl method='POST'>
|
||||
<input type=text name=order size=30>
|
||||
<input type=hidden name=showfht value=$showfht>
|
||||
<input type=hidden name=showhms value=$showhms>
|
||||
<input type=hidden name=showmenu value=$showmenu>
|
||||
<input type=hidden name=Action value=exec>
|
||||
<input type=submit value='go!'></form></td></tr>";
|
||||
};
|
||||
<input type=submit value='go!'></form></td>
|
||||
</tr>";
|
||||
};
|
||||
|
||||
if (($show_fs20pulldown=='1') AND ($showmenu=='1')) include 'include/fs20pulldown.php';
|
||||
if (($show_fhtpulldown=='1') AND ($showmenu=='1')) include 'include/fhtpulldown.php';
|
||||
if ($show_fs20pulldown=='1') include 'include/fs20pulldown.php';
|
||||
if ($show_fhtpulldown=='1') include 'include/fhtpulldown.php';
|
||||
};
|
||||
|
||||
############################ ROOMS
|
||||
if (($showroombuttons==1) and (count($rooms)>1))
|
||||
@ -468,6 +473,13 @@ xml_parser_free($xml_parser);
|
||||
}
|
||||
|
||||
#####################################################################################################################
|
||||
|
||||
##### Check Version of FHEM
|
||||
if (! ($stack[0][children][0][name]=='Internal_LIST')) ##older FHZ100 have no Internal_LIST
|
||||
{echo "Error!! You need at least FHEM-4.0 to run this pgm3!!";}
|
||||
|
||||
|
||||
|
||||
##### Let's go.... :-)))))
|
||||
for($i=0; $i < count($stack[0][children]); $i++)
|
||||
{
|
||||
@ -538,7 +550,9 @@ xml_parser_free($xml_parser);
|
||||
<input type=hidden name=Action value=hide>
|
||||
<input type=hidden name=showfht value=none>
|
||||
<input type=hidden name=showroom value=$showroom>
|
||||
<input type=submit value='hide'></form>";}
|
||||
<input type=submit value='hide'></form>
|
||||
<a href=$forwardurl&showmenu=1&fhtdev=$FHTdev&orderpulldown=desired-temp&valuetime=20.0>adjust</a></td>";
|
||||
}
|
||||
else
|
||||
{echo "<tr valign=center><td align=center $bg2 valign=center>
|
||||
<form action=$forwardurl method='POST'>
|
||||
@ -546,24 +560,11 @@ xml_parser_free($xml_parser);
|
||||
<input type=hidden name=showfht value=$FHTdev>
|
||||
<input type=hidden name=showroom value=$showroom>
|
||||
<input type=hidden name=showhms value=$showhms>
|
||||
<input type=submit value='show'></form></td>";
|
||||
};
|
||||
echo "<td align=center valign=center $bg2><b>
|
||||
<font $fontcolor3>$FHTdev</font></b></td><td $bg2 align=center valign=center>
|
||||
<form action=$forwardurl method='POST'><font $fontcolor3>desired-temp</font>
|
||||
<input type=hidden name=Action value=execfht>
|
||||
<input type=hidden name=showfht value=$showfht>
|
||||
<input type=hidden name=showroom value=$showroom>
|
||||
<input type=hidden name=showhms value=$showhms>
|
||||
<input type=hidden name=dofht value=$FHTdev>";
|
||||
echo "<select name=temp size=1>
|
||||
<option>12.0</option><option>17.0</option><option>18.0</option>
|
||||
<option>19.0</option><option>20.0</option><option>21.0</option><option selected>22.0</option>
|
||||
<option>23.0</option><option>24.0</option><option>25.0</option><option>26.0</option></select>
|
||||
<input type=submit value=go></form></td>
|
||||
";
|
||||
<input type=submit value='show'></form>
|
||||
<a href=$forwardurl&showmenu=1&fhtdev=$FHTdev&orderpulldown=desired-temp&valuetime=20.0>adjust</a></td>";
|
||||
};
|
||||
|
||||
echo "<td $bg2>
|
||||
echo "<td $bg2 colspan='3'>
|
||||
<img src='include/fht.php?drawfht=$FHTdev&room=$room' width='$imgmaxxfht' height='$imgmaxyfht'>
|
||||
</td>";
|
||||
echo "</tr>";
|
||||
@ -577,16 +578,18 @@ xml_parser_free($xml_parser);
|
||||
</td></tr>
|
||||
<tr><td colspan=4><hr color='#AFC6DB'></td></tr>";
|
||||
}
|
||||
if ( $showfht==$FHTdev)
|
||||
{
|
||||
echo "<tr><td colspan=4><table border=0><tr>";
|
||||
for($k=0; $k < count($stack[0][children][$i][children][$j][children]); $k++)
|
||||
{
|
||||
if ( $showfht==$FHTdev)
|
||||
{
|
||||
$name=$stack[0][children][$i][children][$j][children][$k][attrs][name];
|
||||
$name=$stack[0][children][$i][children][$j][children][$k][attrs][key];
|
||||
$value=$stack[0][children][$i][children][$j][children][$k][attrs][value];
|
||||
$measured=$stack[0][children][$i][children][$j][children][$k][attrs][measured];
|
||||
echo "<tr><td colspan=1> $FHTdev (FHT): </td><td>$name</td><td>$value
|
||||
</td><td>$measured</td></tr>";
|
||||
echo "<td><tr><td colspan=1> $FHTdev (FHT): </td><td>$name</td><td>$value
|
||||
</td><td>$measured</td></tr></td>";
|
||||
}
|
||||
echo "</tr></table></td></tr>";
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -613,21 +616,20 @@ xml_parser_free($xml_parser);
|
||||
$HMSdev=$stack[0][children][$i][children][$j][attrs][name];
|
||||
if ($type=="HMS100T" or $type=="HMS100TF")
|
||||
{
|
||||
if ($showhmsgnu== $HMSdev)
|
||||
{$formvalue="hide";$gnuvalue="";}
|
||||
if ($showhmsgnu== $HMSdev) {$formvalue="hide";$gnuvalue="";}
|
||||
else {$formvalue="show";$gnuvalue=$HMSdev;};
|
||||
echo "</td></tr><tr valign=center><td align=center $bg2 valign=center>
|
||||
echo "<tr valign=center><td align=center $bg2 valign=center>
|
||||
<form action=$forwardurl method='POST'>
|
||||
<input type=hidden name=Action value=showhmsgnu>
|
||||
<input type=hidden name=showroom value=$showroom>
|
||||
<input type=hidden name=showhmsgnu value=$gnuvalue>
|
||||
<input type=submit value='$formvalue'></form></td><td $bg2>";
|
||||
<input type=submit value='$formvalue'></form></td><td $bg2 colspan=2>";
|
||||
|
||||
}
|
||||
else
|
||||
echo "</td></tr><tr><td $bg2 colspan=2>";
|
||||
echo "<font $fontcolor3><b> $HMSdev</b></font> </td>
|
||||
<td $bg2 colspan=2><img src='include/hms100.php?drawhms=$HMSdev&room=$room&type=$type' width='$imgmaxxhms' height='$imgmaxyhms'></td> </tr>";
|
||||
{echo "<tr><td $bg2 colspan=3>";}
|
||||
|
||||
echo "<img src='include/hms100.php?drawhms=$HMSdev&room=$room&type=$type' width='$imgmaxxhms' height='$imgmaxyhms'></td> </tr>";
|
||||
|
||||
if ($showhmsgnu == $HMSdev and $showgnuplot == 1)
|
||||
{ drawgnuplot($HMSdev,$type,$gnuplot,$pictype,$logpath,0,0);
|
||||
@ -655,7 +657,11 @@ xml_parser_free($xml_parser);
|
||||
$check=$stack[0][children][$i][children][$j][children][$k][attrs][key];
|
||||
$check2=$stack[0][children][$i][children][$j][children][$k][attrs][name];
|
||||
if ($check=='room') $room=$stack[0][children][$i][children][$j][children][$k][attrs][value];
|
||||
|
||||
elseif ($check=='willi') $willi=1;
|
||||
elseif ($check=='avg_day') $KSavgday=$stack[0][children][$i][children][$j][children][$k][attrs][value];
|
||||
elseif ($check=='temperature') $KSmeasured=$stack[0][children][$i][children][$j][children][$k][attrs][measured];
|
||||
elseif ($check=='avg_month') $KSavgmonth=$stack[0][children][$i][children][$j][children][$k][attrs][value];
|
||||
# for older versions...
|
||||
if ($check2=='avg_month') $KSavgmonth=$stack[0][children][$i][children][$j][children][$k][attrs][value];
|
||||
elseif ($check2=='avg_day') $KSavgday=$stack[0][children][$i][children][$j][children][$k][attrs][value];
|
||||
elseif ($check2=='temperature') $KSmeasured=$stack[0][children][$i][children][$j][children][$k][attrs][measured];
|
||||
@ -688,7 +694,7 @@ xml_parser_free($xml_parser);
|
||||
<input type=submit value='show'></form></td>";
|
||||
};
|
||||
|
||||
echo "<td $bg2<font $fontcolor3><b> $KSdev</font></b> </td><td $bg2 center=align colspan=2>";
|
||||
echo "<td $bg2 center=align colspan=3>";
|
||||
echo "<img src='include/ks300.php?drawks=$KSdev&room=$room&avgmonth=$KSavgmonth&avgday=$KSavgday' width='$Xks' height='$Yks'>";
|
||||
echo "</td></tr>";
|
||||
if (! isset ($willi)) $drawtype="KS300"; else $drawtype="WS300";
|
||||
|
Loading…
x
Reference in New Issue
Block a user