MultiGraph mit GoogleChart

So hier die beiden Skripte für GooogleChart Area.
Ich hoffe das hilft dir weiter. Die Daten lese ich aus der Postgres Datenbank aus.

Skript 1 als externe Webseite aufrufen.

<?php
	
	include ("c:ip-symcon/scripts/10059.ips.php");

	$time = time();
	$daten = "";
	$datenreihe        = array();

	for($i=0;$i<24;$i++)
		{
		$j = $i;
		$date = time();
		$start = date ("d-m-Y ".$j.":00:00",$date);
		$end   = date ("d-m-Y ".$j.":59:59",$date);
		$datum = date ($j.":i d-m-Y",$date);
		$Summe1 = AVG_auslesen2("Daten_Steindorf","10100",$start,$end);
		$Summe2 = AVG_auslesen2("Daten_Steindorf","36145",$start,$end);
		array_push($datenreihe,  array($datum, round(floatval($Summe1),2), round(floatval($Summe2),2)));
		}
?>	

<html>
  <head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">

      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);

		function drawChart()
			{
  			var data = new google.visualization.DataTable();
  			data.addColumn('string', 'Datum');
  			data.addColumn('number', 'Rücklauf');
			data.addColumn('number', 'Vorlauf');
  			data.addRows(<?php  echo json_encode($datenreihe);  ?>);

        	var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
        	chart.draw(data, {width: 1200, height: 600, title: 'Company Performance',hAxis: {title: 'Year', titleTextStyle: {color: '#FF0000'}}});
      	}
    </script>
  </head>
  <body>
    <div id="chart_div"></div>
  </body>
</html>

Skript 2 in IPS/Skript-Ordner

<?
//*******************
//Daten_auslesen();
//*******************
//print_r (Daten_auslesen("SteindorfII","value1","1B000801E16C2C10","2011-11-10 00:00:00","2011-11-12 00:00:00"));
print_r (AVG_auslesen2("Daten_Steindorf","10100","2012-04-10 00:00:00","2012-04-16 00:00:00"));

function Daten_auslesen($db,$value,$romid,$time1,$time2)
	{
	$dbconn = pg_connect("host=127.0.0.1 port=5432 dbname=".$db." user=postgres password=ips") or die ('Verbindungsaufbau fehlgeschlagen: ' . pg_last_error());
//	$setSQL = "SELECT variablen.updatezeit, variablen.romid FROM public.variablen ORDER BY variablen.updatezeit DESC;";
	$setSQL  = "SELECT  variablen.updatezeit,  variablen.romid,  variablen.".$value."  FROM  public.variablen  ";
	$setSQL .= "WHERE variablen.romid = '".$romid."'  AND  variablen.updatezeit < '".$time2."' AND  variablen.updatezeit > '".$time1."';";

	$result = pg_query($setSQL) or die ('Abfrage fehlgeschlagen: ' .pg_last_error());
	$i = 0;
	while($data = pg_fetch_assoc($result))
   	{
      //print_r($data);
      //echo $data['updatezeit']." ".$data['romid']." ".$data['value1']."<br>";
		$dat[$i] =$data['updatezeit'].",".$data['romid'].",".$data['value1'];
		$i++;
      }
	pg_close($dbconn);
	return ($dat);
	}
	
//**********
//  Summe
//**********
//echo Sum_auslesen("SteindorfII","value2","8F00000009EF241D","2011-11-10 00:00:00","2011-11-13 00:00:00");

function Sum_auslesen($db,$value,$romid,$time1,$time2)
	{
	$dbconn = pg_connect("host=127.0.0.1 port=5432 dbname=".$db." user=postgres password=ips") or die ('Verbindungsaufbau fehlgeschlagen: ' . pg_last_error());
//	$setSQL = "SELECT variablen.updatezeit, variablen.romid FROM public.variablen ORDER BY variablen.updatezeit DESC;";
	$setSQL  = "SELECT sum(variablen.".$value.") FROM public.variablen  ";
	$setSQL .= "WHERE variablen.romid = '".$romid."'  AND  variablen.updatezeit < '".$time2."' AND  variablen.updatezeit > '".$time1."';";

	$result = pg_query($setSQL) or die ('Abfrage fehlgeschlagen: ' .pg_last_error());
    while($data = pg_fetch_assoc($result))
    {
        //print_r($data);
        $dat = $data['sum']."<br>";
    }
	pg_close($dbconn);
	return ($dat);
	}
	
//****************
//  Durchschnitt
//****************
//echo AVG_auslesen("SteindorfII","value1","8F00000009EF241D","2011-11-10 00:00:00","2011-11-11 00:00:00");

function AVG_auslesen($db,$value,$romid,$time1,$time2)
	{
	$dbconn = pg_connect("host=127.0.0.1 port=5432 dbname=".$db." user=postgres password=ips") or die ('Verbindungsaufbau fehlgeschlagen: ' . pg_last_error());
//	$setSQL = "SELECT variablen.updatezeit, variablen.romid FROM public.variablen ORDER BY variablen.updatezeit DESC;";
	$setSQL  = "SELECT avg(variablen.".$value.") FROM public.variablen  ";
	$setSQL .= "WHERE variablen.romid = '".$romid."'  AND  variablen.updatezeit < '".$time2."' AND  variablen.updatezeit > '".$time1."';";

	$result = pg_query($setSQL) or die ('Abfrage fehlgeschlagen: ' .pg_last_error());
    while($data = pg_fetch_assoc($result))
    {
        //print_r($data);
        $dat = $data['avg']."<br>";
    }
	pg_close($dbconn);
	return ($dat);
	}
	
function Daten_auslesen2($db,$varid,$time1,$time2)
	{
	$dbconn = pg_connect("host=127.0.0.1 port=5432 dbname=".$db." user=ips password=ips") or die ('Verbindungsaufbau fehlgeschlagen: ' . pg_last_error());
//	$setSQL = "SELECT variablen.updatezeit, variablen.romid FROM public.variablen ORDER BY variablen.updatezeit DESC;";
	$setSQL  = "SELECT  variablen.updatezeit,  variablen.varid,  variablen.value FROM  public.variablen  ";
	$setSQL .= "WHERE variablen.varid = '".$varid."'  AND  variablen.updatezeit < '".$time2."' AND  variablen.updatezeit > '".$time1."';";

	$result = pg_query($setSQL) or die ('Abfrage fehlgeschlagen: ' .pg_last_error());
	$i = 0;
	while($data = pg_fetch_assoc($result))
   	{
      //print_r($data);
      //echo $data['updatezeit']." ".$data['romid']." ".$data['value1']."<br>";
		$dat[$i] =$data['updatezeit'].",".$data['varid'].",".$data['value'];
		$i++;
      }
	pg_close($dbconn);
	return ($dat);
	}
	
//****************
//  Durchschnitt
//****************
//echo AVG_auslesen("SteindorfII","value1","8F00000009EF241D","2011-11-10 00:00:00","2011-11-11 00:00:00");

function AVG_auslesen2($db,$varid,$time1,$time2)
	{
	$dbconn = pg_connect("host=127.0.0.1 port=5432 dbname=".$db." user=ips password=ips") or die ('Verbindungsaufbau fehlgeschlagen: ' . pg_last_error());
//	$setSQL = "SELECT variablen.updatezeit, variablen.romid FROM public.variablen ORDER BY variablen.updatezeit DESC;";
	$setSQL  = "SELECT avg(variablen.value) FROM public.variablen  ";
	$setSQL .= "WHERE variablen.varid = '".$varid."'  AND  variablen.updatezeit < '".$time2."' AND  variablen.updatezeit > '".$time1."';";

	$result = pg_query($setSQL) or die ('Abfrage fehlgeschlagen: ' .pg_last_error());
    while($data = pg_fetch_assoc($result))
    {
        //print_r($data);
        $dat = $data['avg']."<br>";
    }
	pg_close($dbconn);
	return ($dat);
	}
?>

Die Umsetzung für deinen Grph sollte so ähnlich funktionieren.:rolleyes:

Lieber Karlheinz
vielen Dank, das ist sehr nett. Ich werde mich damit beschäftigen, und die Erzeugnisse ebenfalls posten. Ich sehe, dass Du auf Postgres umgestiegen bist - ich überlege mir ähnliches, um die Datenflut besser zu managen.

Ich versuche, ein bisschen weiter zu kommen.

Wenn ich richtig verstehe, basiert GoogleChart auf den Server-seitigen Google-Chart tool. Die Daten werden nach Mountain View (oder wo auch immer im Cloud) geschickt, und Google retourniert ein Diagramm.

Auf der Google-Webseite steht aber, dass dieser Tool „deprecated“ ist und in April 2015 nicht mehr verfügbar sein wird.

Die von Google nun favorisierte Version von GoogleChartist hingegen Client-seitig und arbeitet mit Javascript.

Müssen wir uns darauf gefasst machen, dass in 3 Jahren GoogleChart nicht mehr geht? Eventuell habe ich das alles komplett falsch verstanden!

Hallo Karlheiz,

ich möchte noch einen 5ten Fall Zeitraum "Tag 12h " einfügen:

Start und Endzeit nach Astrotimer (Z.B Sonnenaufgang und Untergang) für PV und Solarthermie.

Wo tausch ich am Besten die Start- und Endzeit aus?
3x in case5:…

Gruß Konny

Das wären mal Start und Endzeit für das GoogleChart

<?
$heute= time();

 //Sonnenaufgang aus Astro
  $SA=GetValueString(22574 /*[Solarthermie\Sonnenscheindauer\Astronom\Sonnenaufgang]*/ );
  $split = explode(':', $SA); //aufteilen in einzelne Datenzeilen
  $SAh = $split[0];  //Stunde
  $SAi= $split[1] ; //Minute
  $SAs= $split[2] ; //Sekunde
  	//echo date($SA)."
";
  	
  //Sonnenuntergang aus Astro
  $SU=GetValueString(15541 /*[Solarthermie\Sonnenscheindauer\Astronom\Sonnenuntergang]*/);
  $split = explode(':', $SU); //aufteilen in einzelne Datenzeilen
  $SUh= $split[0];  //Stunde
  $SUi= $split[1] ; //minute
  $SUs= $split[2] ; //Sekunde

	//echo date($SU)."
";

	$heutem= date("m",$heute);
	$heuted= date("d",$heute);
	$heutey= date("y",$heute);

	$starttime   = mktime($SAh,$SAi,$SAs,$heutem,$heuted,$heutey);
	$endtime     = mktime($SUh,$SUi,$SUs,$heutem,$heuted,$heutey);
	//echo date("H:i:s d.m.y",$starttime)."
";
	//echo date("H:i:s d.m.y",$endtime)."
";
?>

Der Graph sollte bis zur aktuellen Zeit mit den heutigen Daten laufen und ab da mit denen von gestern…

so jetzt nur noch die Daten strecken…

Hallo Karlheinz,

könntest Du mir hierzu noch ein wenig „Anschubhilfe“ geben?!?

Danke.

Lieber Karlheinz

Dank Deines Beispiels habe ich es geschafft, einige Variablen aus SqLite zu holen und mit der neuen Version von GoogleChart zu visualisieren. Siehe Abbildung (linechart und barchart von Bewegungstriggern).

Die Visualisierung auf dem Client hat Vor- und Nachteile. Vorteil ist die Interaktivität. Nachteil ist, dass die Bilder „on demand“ generiert werden, und das geht länger, als bei einem bereits existierenden PNG. Weil aber Google auf-kurz-oder-lang die Server-seitige Herstellung abknipsen wird, haben wir wohl keine Wahl…

Ich werde nun weiter daran basteln - und hoffe, dass ich bald eine weitere Variante von GoogleChartForIps werde anbieten können. Im Moment kämpfe ich mich mit der Herstellung von PIVOT queries (wird von SqLite nicht unterstützt, und bedarf deswegen eigenen Codes. Falls jemand Code hat, um ein Array zu pivoten, wäre ich darum dankbar!). Pivots sind notwendig, um mehrere Serien darzustellen.

Gruss
AAG

@Dirk75
Passt nur die Wochenansicht nicht oder die anderen auch nicht?

@konny
Ja du mußt eine neue Zeitspanne anlegen,
im Skript GoogleChart.

Hallo Karlheiz…
hatte ich schon „Hell“…


$Diff=GetValueString(51551 /*[Solarthermie\Sonnenscheindauer\dauer\Sonnenscheindauer]*/);
$Stunden=round($Diff+1);

$Zeit			 		= array(3600,86400 /*[Objekt #20864 existiert nicht]*/,604800,2419200,31104000,$Stunden*3600);

5 Fall Zeit als $STunden*3600

   
			   //Sonnentag
		   case 5:
			 //........................
		  	 //Sonnenaufgang aus Astro
				$SA=GetValueString(22574 /*[Solarthermie\Sonnenscheindauer\Astronom\Sonnenaufgang]*/ );
  					$split = explode(':', $SA); //aufteilen in einzelne Datenzeilen
  					$SAh = $split[0];  //Stunde
  					//$SAi= $split[1] ; //Minute
  					//$SAs= $split[2] ; //Sekunde

  				//Sonnenuntergang aus Astro
  				$SU=GetValueString(15541 /*[Solarthermie\Sonnenscheindauer\Astronom\Sonnenuntergang]*/);
  					$split = explode(':', $SU); //aufteilen in einzelne Datenzeilen
  					$SUh= $split[0];  //Stunde
  					//$SUi= $split[1] ; //Minute
  					//$SUs= $split[2] ; //Sekunde
  
  			 		$heute= time();
					$heutem= date("m",$heute);
					$heuted= date("d",$heute);
					$heutey= date("y",$heute);

				//genau
					//$starttime   = mktime($SAh,$SAi,$SAs,$heutem,$heuted,$heutey);
					//$endtime     = mktime($SUh,$SUi,$SUs,$heutem,$heuted,$heutey);
				//gerundet
					$starttime   = mktime($SAh,0,0,$heutem,$heuted,$heutey);
					$endtime     = mktime($SUh+1,0,0,$heutem,$heuted,$heutey);
 					$Teilung=$SUh-$SAh+1;
 					//$SD=$endtime-$starttime;
 					
	  			//...........................
		   
		      $Daten = Hell ($Vari,$archiveHandlerID,$starttime,$endtime,$BoolOffset,$TimeCompare);

				$a = mima($Daten,$YAchse);
		      $b = explode(",",$a);
				$mini[0] = $b[0];
				$maxi[0] = $b[1];
				$mini[1] = $b[2];
				$maxi[1] = $b[3];
				$mini[2] = 0;
				$maxi[2] = 180;
	
				if ($Dynamisch)
					{
		         $a = mimaProfil($Vari,$YAchse,$mini[0],$maxi[0],$mini[1],$maxi[1]);
		      	$b = explode(",",$a);
					$mini[0] = $b[0];
					$maxi[0] = $b[1];
					$mini[1] = $b[2];
					$maxi[1] = $b[3];
					}
		      $achse  = "1:|".date("H:i",$starttime);
				for ($i=1;$i<=$Teilung;$i++)
				   {
     
					$achse .= "|".date("H:i",$starttime+($Zeit[$Zeitspanne]/$Teilung*$i));
					//$achse .= "|".date("H:i",$starttime+($Zeit[$Zeitspanne]/12*$i));
					}
				$achse .= "|2:|".utf8_encode($YBeschriftung[0]);
				$yachse[0] = $achse;
		      $yachse[1] = 'y,x,y';
				$yachse[2] = '1,0,8,16,24,32,40,48,56,64,72,80,88,96|2,100';
				$yachse[3] = '0,'.$mini[0].','.$maxi[0].'|1,0,96';
				$yachse[4] = '8.33,-1,0,0';

				if (array_sum($YAchse))
				   {
				   $achse .= "|4:|".utf8_encode($YBeschriftung[1]);
					$yachse[0] = $achse;
				   $yachse[1] = 'y,x,y,r,r';
				   $yachse[2] = '1,0,8,16,24,32,40,48,56,64,72,80,88,96|2,100|4,100';
					$yachse[3] = '0,'.$mini[0].','.$maxi[0].'|1,0,96|3,'.$mini[1].','.$maxi[1];
					}
				break;

		   }
		   	//****************************
				//Daten zusammensetzen
				//****************************
				$Dat 	= encode ($Daten,$mini[0],$maxi[0],$mini[1],$maxi[1],$mini[2],$maxi[2],$Vari,$YAchse);

				//****************************
				//Graph erzeugen
				//****************************
				if (strlen($Dat)<16000)
					{
					if (Graphpost ($Dat,$Size,$yachse,$Farben,$Text,$Ueberschrift,$filename,$Vari,$Pfad,$Trans,$Hinter1,$Hinter2,$Schriftfarbe))
						echo "Fehler beim Graph erzeugen";
					}
				else
					echo "\rGraph kann nicht erzeugt werden die Datenmenge ist zu groß: ".strlen($Dat);
		break;

Aber die Steckung und Teilung (17) bekomm ich noch nicht hin…
Die Daten müsten bis 10:27 gestreckt sein…
Liegt wahrscheinlich an der $endzeit in der Zukunft…

Gruß Konny

Das sollte dir helfen

$yachse[2] = '1,0,6,12,18,24,29,35,41,47,53,58,65,71,76,82,88,94,100|2,100';

Hallo,

ich glaube in der Version V2.6 gibt es ein Problem mit Google Charts.


Notice: String offset cast occured in C:\IP-Symcon\scripts\Funktionen_TimeCompare.ips.php on line 669
[0] in function encode in C:\IP-Symcon\scripts\GoogleCharts.ips.php on line 312
[1] in function include in C:\IP-Symcon\scripts\38576.ips.php on line 67

Notice: String offset cast occured in C:\IP-Symcon\scripts\Funktionen_TimeCompare.ips.php on line 669
[0] in function encode in C:\IP-Symcon\scripts\GoogleCharts.ips.php on line 312
[1] in function include in C:\IP-Symcon\scripts\38576.ips.php on line 67

Notice: String offset cast occured in C:\IP-Symcon\scripts\Funktionen_TimeCompare.ips.php on line 669
[0] in function encode in C:\IP-Symcon\scripts\GoogleCharts.ips.php on line 312
[1] in function include in C:\IP-Symcon\scripts\38576.ips.php on line 67

Notice: String offset cast occured in C:\IP-Symcon\scripts\Funktionen_TimeCompare.ips.php on line 669
[0] in function encode in C:\IP-Symcon\scripts\GoogleCharts.ips.php on line 312
[1] in function include in C:\IP-Symcon\scripts\38576.ips.php on line 67

Notice: String offset cast occured in C:\IP-Symcon\scripts\Funktionen_TimeCompare.ips.php on line 669
[0] in function encode in C:\IP-Symcon\scripts\GoogleCharts.ips.php on line 312
[1] in function include in C:\IP-Symcon\scripts\38576.ips.php on line 67

Notice: String offset cast occured in C:\IP-Symcon\scripts\Funktionen_TimeCompare.ips.php on line 669
[0] in function encode in C:\IP-Symcon\scripts\GoogleCharts.ips.php on line 312
[1] in function include in C:\IP-Symcon\scripts\38576.ips.phpOutput-Buffer exceeds 1024kb. Operation halted.


Hier das Script:


<?
// Multigraph mit GoogleChart V1.03
//
// Befehle für Liniengraphen
//
// Vari	 				= geloggte Variablen-ID einsetzen  		"Vari[0]=>12345
// YAchse	         = Zuordnung Graph Y-Achse 0 oder 1     "YAchse[0]"=>0
// YBeschriftung	   = Y-Achsen Beschriftung z.B.°C oder %  "YBeschriftung[0]"=>"°C"
// Zeitspanne     	= 1 = Tage, 2 = Wochen, 3 = Monate, 4 = Jahr    "Zeitspanne"=>3
// Pfad              = Zielordner für Graphen   "Pfad"=>"C:/ip-symcon/media/"
// filename       	= Filename wird im Zielordner gespeichert "filename"=>"Test 2"
// Farben	       	= Farben der Graphlinien 	"Farben[0]"=>"00008B"
// Size           	= Bildgrösse max. 30000 Bildpunkte  800x350  "Size"=>"800x350"
// Text	          	= Beschreibung Graphen  keine Eingabe = Variablename   z.B. "Text[0]"=>"Wert 1"
// Ueberschrift   	= TitelGraph      "Ueberschrift"=>"ÄÖÜßäöü"
// Endzeit           = Endzeit Graph z.B. 06-03-2011 22:12  ""=jetzt  "Endzeit"=>"06-03-2011 22:12"
// BoolOffset        = Wert für Boolean-Variable = True
// Trans		         = Transparenz bei Grpahenfüllung z.B. 0 = keine Füllung    1..FF = Transparenzgrad
// Hinter1,Hinter2   = Hintergrundfarbe bei Angabe von Hinter2 Farbverlauf von Hinter1 nach Hinter2
// Schriftfarbe      = Schriftfarbe Überschrift und Beschriftung X-,Y-Achse
// Dynamisch         = 0=Dynamisch 1=Profil
// Graphenart        = "Line" -Liniengraph   "TimeCompare" -Linegraph verschiedene Zeiträume
// TimeCompare       = Zeitverschiebung pro Variablen 0=keine Verschiebung 1=-1 Tag, 2=-1 Woche, 3 =-1 Monat, 4 =-1 Jahr
//
// Befehle für die Bargraphen
//
// Variablen als Zähler loggen!!
//
// Vari					= geloggte Variablen-ID einsetzen  		"Vari[0]=12345
// YBeschriftung	 	= Y-Achsen Beschriftung z.B.°C oder %  "YBeschriftung[0]"=>"°C"
// Zeitspanne     	= 1 = Tage, 2 = Wochen, 3 = Monate, 4 = Jahr    "Zeitspanne"=>3
// Pfad              = Zielordner für Graphen   "Pfad"=>"C:/ip-symcon/media/"
// filename       	= Filename wird im Zielordner gespeichert "filename"=>"Test 2"
// Farben[]        	= Farben der Graphlinien 	"Farben[0]"=>"00008B"
// Size           	= Bildgrösse max. 30000 Bildpunkte  800x350  "Size"=>"800x350"
// Text	          	= Beschreibung Graphen  keine Eingabe = Variablename   z.B. "Text[0]"=>"Wert 1"
// Ueberschrift   	= TitelGraph      "Ueberschrift"=>"ÄÖÜßäöü"
// Endzeit           = Endzeit Graph z.B. 06-03-2011 22:12  ""=jetzt  "Endzeit"=>"06-03-2011 22:12"
// Hinter1,Hinter2   = Hintergrundfarbe bei Angabe von Hinter2 Farbverlauf von Hinter1 nach Hinter2
// Schriftfarbe      = Schriftfarbe Überschrift und Beschriftung X-,Y-Achse
// Graphenart        = "Bar" -Bargraph
// Faktor            = Faktor für Berechnung bei z.B. S0-Zähler
// TimeCompare       = Zeitverschiebung pro Variablen 0=keine Verschiebung 1=-1 Tag, 2=-1 Woche, 3 =-1 Monat, 4 =-1 Jahr

$Vari 			= array (45713,26566,47405 ,51191,56647);
$Trans   		= array (20,20,20,20,20);
//$Farben  		= array ("0000ff","ff0000","000022","00ff00","00008B");
$Text    		= array ("Küche","Bad","Raum1","Wohnzimmer","Raum2");
$YBeschriftung = array (" °C");
$Zeitspanne = 3;
$Pfad	= "C:/ip-symcon/media/";
$filename = "Gchart";
$Size = "750x400";
$Endzeit = "";
$Ueberschrift= "Innentemperatur";
$Schriftfarbe = "ffffff";
$Dynamisch = 0;
$Graphenart = "Line";
include("GoogleCharts.ips.php");
?>

Gibt es da schon eine Lösung?

Schöne Grüße
Thomas

Hallo Thomas,
ich kann das bestädigen.
Muß einmal schauen was ich tun kann.
Die Meldung kommt nur beim starten von Hand, richtig?

Hallo,

ich glaube bei jeder Startart.

Schöne Grüße
Thomas

PHP 5.4 ist etwas empfindlicher im Umgang mit Variablen.

im Skript FunktionLine Zeile 669
und
im Skript FunktionBar Zeile 140
gegen

$chartData .= $text[(int)$data1].$text[(int)$data2];

austauschen.
Dann sollte die Meldung verschwinden:o

Hallo,

ich dachte erst das die Zeile nichts bringt, bis ich gemerkt habe das es bei mir

$chartData .= $text[(int)$dat1].$text[(int)$dat2];

heißt, jetzt geht es wohl.

Schöne Grüße
Thomas

Kann ich eigentlich irgendwo einstellen wie viele Nachkommastellen mir im Chart an der Y-Achse angezeugt werden. Ich habe einige Diagramme, da ändert sich der Wert in der zweiten und dritten Nachkommastelle. Da aber irgendwie nur die zweite Nachkommastelle berücksichtigt wird schaut das GAnze etwas grob gerastert aus.

Hallo Leute,

Ich habe heute zum ersten mal versucht GoogleCharts V1.03 auf IPS zum Laufen zu bringen. Muss sagen, dass ich noch nicht sehr viel Erfahrung mit IPS habe. Ich habe alle 4 Scripts in IPS eingebunden. Beim Konfig Skript habe ich nur die VariablenIDs und von Bar auf Linie umgestellt. Wenn ich das Skript starte kommt keine Fehlermeldung, aber es wird auch kein Chart unter „C:/ip-symcon/media/“ abgelegt. Wenn ich das GoogleChart Skript starte bekomme ich „Keine Variablen vorhanden“. Habe ich noch etwas vergessen?


$Vari 			= array (15718  /*[Balkon\Temperatur]*/, 57636  /*[Kabinett\Temperatur]*/);
$Trans   		= array (60,60,60,60);
//$Farben  		= array ("0000ff","ff0000","000022","00ff00","00008B");
$Text    		= array ("Wert 1","Wert 2","Wert 3","Wert 4");
$YBeschriftung = array ("Watt","Temp.");
//$YAchse			= array (0,0,1,1,0,0);
//$Hinter1 = "000000";
//$Hinter2 = "FFFFFF";
$Zeitspanne = 4;
$Pfad	= "C:/ip-symcon/media/";
$filename = "Bar";
$Size = "800x350";
$Endzeit = "";
$Ueberschrift= "Auswahlgraph";
$BoolOffset = 15;
$Schriftfarbe = "ffffff";
$Dynamisch = 3;
$Graphenart = "Linie";
$TimeCompare = array(0,1,2,3,4);
$Faktor = array(0.5,0.5,0.5,0.5);

include("GoogleCharts.ips.php");

?>

lg

EDIT: Verdammt! Ich habe soeben den Fehler entdeckt. Statt „Linie“ gehört natürlich „Line“ :o

Funktioniert es jetzt?

Yep … hat dann auf Anhieb gleich eine .png ausgespuckt und das Ergebnis war perfekt! :smiley: Echt Klasse Skript.

Habe jetzt aber ein anderes Problemchen :frowning:
Ich hab jetzt diese Datei in IPS mit „Medien Hinzufügen“ eingebettet und kann diese auch im Webfront sehen. Die Datei wird nun mittel Zyklischen Ereignis alle 5 Minuten neu erzeugt. Leider wird das Webfront nicht abgedatet. Woran könnte das liegen?