# Q&A Highcharts - Multigraph V1.0

**URL:** <https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263>\
**Category:** Skripte, PHP, SQL (Fragen)\
**Created:** [30. Mai 2011 um 06:57 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263 "2011-05-30T06:57:47Z")\
**Posts on this page:** 20\
**Page:** 12

<div class="post-metadata">

**Author:** ![honk0504](https://community.symcon.de/user_avatar/community.symcon.de/honk0504/32/447_2.png) [@honk0504](https://community.symcon.de/u/honk0504)\
**Post date:** [8. Oktober 2011 um 18:41 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/221 "2011-10-08T18:41:56Z")

</div>

> [@Highcharts - Multigraph](https://community.symcon.de/t/highcharts-multigraph/28147/6):
>
> Hallo,
> 
> ich bin begeistert von Highcharts und den tollen Skripten drumherum. Hab es bei mir fast schon im produktiven Einsatz.
> 
> Um besser durch Raum und Zeit der Charts zu fliegen, hab ich mir in Anlehnung an die Bedienung der IPS-eingebauten Charts ein Auswahlbalken gebastelt, siehe Screenshot. Änderungen am Konfig-Skript sind minimal: nur Start und Ende.
> 
> Bei Interesse, so geht’s:  
> Variable HC\_Zeitraum vom Typ Integer anlegen, Profil wie im Screenshot anbei. Alle positiven Werte werden zur Auswahl angezeigt - kann man sich also anpassen. Aktionsscript:
> 
> ```php
> <?
> 
> $ENDPUNKT = GetValue(14844 /*[System\Highcharts\HC_Zeitraum\HC_EndPunkt]*/);
> 
> Switch ($IPS_VALUE){
> Case -3: // Zurück
> SetValue(14844 /*[System\Highcharts\HC_Zeitraum\HC_EndPunkt]*/, $ENDPUNKT -1);
> Break;
> Case -2: // Vor
> SetValue(14844 /*[System\Highcharts\HC_Zeitraum\HC_EndPunkt]*/, $ENDPUNKT +1);
> Break;
> Case -1: // Jetzt
> SetValue(14844 /*[System\Highcharts\HC_Zeitraum\HC_EndPunkt]*/, 0);
> Break;
> default:
> SetValue($IPS_VARIABLE, $IPS_VALUE);
> Break;
> }
>     
> // Hier sind alle Highchart Konfig-Skripts einzutragen - damit Änderungen sofort sichtbar werden
> // Geht das irgendwie besser?
> IPS_RunScript(49993 /*[System\Highcharts\WZ\HC_Wohnzimmer]*/);
> IPS_RunScript(35453 /*[System\Highcharts\Heizung\HC_Heizung]*/);
> 
> ?>
> 
> ```
> 
> IDs im Skript entsprechend anpassen und darunter eine weitere Variable HC\_EndPunkt anlegen (Typ: Integer).
> 
> In den Konfig-Skripts ist jetzt nur noch $CfgDaten[„StartTime“] und $CfgDaten[„EndTime“] durch folgendes zu ersetzen:
> 
> ```php
> 
> $ZeitRaum = GetValue(48796 /*[System\Highcharts\HC_Zeitraum]*/);
> If ($ZeitRaum == 0) {$ZeitRaum = (8/24);};
> $EndPunkt = GetValue(14844 /*[System\Highcharts\HC_Zeitraum\HC_EndPunkt]*/);
> $CfgDaten["EndTime"] = time() + 60 * 60 * 24 * $ZeitRaum * $EndPunkt;
> $CfgDaten["StartTime"] = $CfgDaten["EndTime"] - 60 * 60 * 24 * $ZeitRaum;
> 
> ```
> 
> RunMode habe ich auf „script“ geändert.
> 
> Einziges Problem: nach Klick im Webfront müssen aktuell im Aktionsskript noch alle Konfig-Scripts aufgerufen werden. Jemnd eine Idee, wie man das besser machen kann?
> 
> Danke & Gruß,  
> Axel

aus [diesem](http://www.ip-symcon.de/forum/f53/highcharts-multigraph-v1-0-a-14240/index15.html#post126538) Posting  
@Axel: wie hast Du die „Buttons“ ins WF eingebettet?

---

<div class="post-metadata">

**Author:** ![Powerfreddy](https://community.symcon.de/letter_avatar_proxy/v4/letter/p/f1d935/32.png) [@Powerfreddy](https://community.symcon.de/u/Powerfreddy)\
**Post date:** [8. Oktober 2011 um 20:41 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/222 "2011-10-08T20:41:54Z")

</div>

> [@kabo63](#):
>
> Wie kann ich das beheben?  
> Danke im voraus für Unterstützung, MFG, kabo63.

Zeile 12 –\> 18149

Dein Script ruft sich selbst auf - Fehler.

Gruß  
Bruno

---

<div class="post-metadata">

**Author:** ![kabo63](https://community.symcon.de/letter_avatar_proxy/v4/letter/k/dbc845/32.png) [@kabo63](https://community.symcon.de/u/kabo63)\
**Post date:** [8. Oktober 2011 um 23:15 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/223 "2011-10-08T23:15:38Z")

</div>

Danke Powerfreddy…so war’s…bekomme nach Anpassung jetzt folgende Meldungen:  
Warning: fopen(C:\IP-Symcon\webfront\user\Highcharts\HighChartsCfg29540.tmp) [function.fopen]: failed to open stream: No such file or directory in C:\IP-Symcon\scripts\18149.ips.php on line 103

Warning: fwrite() expects parameter 1 to be resource, boolean given in C:\IP-Symcon\scripts\18149.ips.php on line 104

Warning: fclose() expects parameter 1 to be resource, boolean given in C:\IP-Symcon\scripts\18149.ips.php on line 105

Wo könnte ich jetzt Anpassungen vornehmen?  
Gruß, kabo63.

 ![H_charts3.PNG](https://community.symcon.de/uploads/default/original/3X/7/f/7fe7b5c89769d1bbe6469d2c7e9c3f3969a9ac22.png)

---

<div class="post-metadata">

**Author:** ![Powerfreddy](https://community.symcon.de/letter_avatar_proxy/v4/letter/p/f1d935/32.png) [@Powerfreddy](https://community.symcon.de/u/Powerfreddy)\
**Post date:** [8. Oktober 2011 um 23:45 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/224 "2011-10-08T23:45:18Z")

</div>

> [@kabo63](#):
>
> Dfopen(C:\IP-Symcon\webfront\user\Highcharts\HighChartsCfg29540.tmp)

Ist da echt ein Leerzeichen oder irgendwas vor .tmp?

---

<div class="post-metadata">

**Author:** ![kabo63](https://community.symcon.de/letter_avatar_proxy/v4/letter/k/dbc845/32.png) [@kabo63](https://community.symcon.de/u/kabo63)\
**Post date:** [9. Oktober 2011 um 09:20 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/225 "2011-10-09T09:20:27Z")

</div>

> [@Powerfreddy](#):
>
> Ist da echt ein Leerzeichen oder irgendwas vor .tmp?

…hab’s noch mal gestartet und rauskopiert - da ist nix davor…hm…

edit: …hab einen weiteren Fehler gefunden…ist aus meiner Sicht auf eine Dokumentationslücke(Wiki) zurückzuführen es muß nämlich nach „// und jetzt los …“ die ID des Highcharts-Scripts eingetregen werden:  
„$s=IPS\_GetScript($CfgDaten[„HighChartScriptId“]=18149 /_[Highcharts\Highcharts\_V1.0004]_/); // Id des Highcharts-Scripts“(Zeile 152 im Script)…jetzt sind die Warnungen nach Dienstneustart weg…allerdings sehe ich noch kein Diagramm…☹

---

<div class="post-metadata">

**Author:** ![wgreipl](https://community.symcon.de/user_avatar/community.symcon.de/wgreipl/32/60_2.png) [@wgreipl](https://community.symcon.de/u/wgreipl)\
**Post date:** [9. Oktober 2011 um 10:31 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/226 "2011-10-09T10:31:35Z")

</div>

Hallo khc,

könntest Du mir mal das Config-File inkl. der Zeitauswahl und der Series für dein Balkenbeispiel zeigen.

Bekomme es einfach nicht hin ohne in der Highcharts\_10004 manuel einzugreifen.

Als Anlage dein Beispiel und mein bisheriges Ergebnis das noch nicht so ist wie ich es mir vorstelle.

Mein Config sieht derzeit folgendermassen aus.

Zeitauswahl:

```php
 // Zeitraum welcher dargestellt werden soll
 $CfgDaten["StartTime"] = mktime(0,0,0,1,1,2011); // ab heute 00:00 Uhr
// $CfgDaten["StartTime"] = mktime(0,0,0, date("m", time()), date("d",time())-6, date("Y",time())); // seit 01.01.2011
 $CfgDaten["EndTime"] = mktime(23,59,59, date("m", time()), date("d",time()), date("Y",time())); // ab heute 23:59 Uhr, oder //$CfgDaten["EndTime"] = time(); // = bis jetzt
 // => ab V1.0003
 $CfgDaten["RunMode"]= "files"; //oder script
 // => ab V1.0003
 // Serienübergreifende Einstellung für das Laden von Werten
 $CfgDaten["AggregatedValues"]["HourValues"] = 3; // ist der Zeitraum größer als X Tage werden Stundenwerte geladen
 $CfgDaten["AggregatedValues"]["DayValues"] = 14; // ist der Zeitraum größer als X Tage werden Tageswerte geladen
 $CfgDaten["AggregatedValues"]["NoLoggedValues"] = 60; // ist der Zeitraum größer als X Tage werden keine Boolean Werte mehr geladen, diese werden zuvor immer als Einzelwerte geladen
 $CfgDaten["AggregatedValues"]["MixedMode"] = false; // alle Zeitraumbedingungen werden kombiniert

```

Values:

```php
 $CfgDaten["Series"][] = array("Id"=>16626, "Name" =>"Ertrag", "Unit"=>"kWh", "ReplaceValues"=>false,
   "Param" =>"type:'column', step:true, yAxis: 0, shadow: false,lineWidth: 0 , states: {hover:{lineWidth: 2}}, marker: { enabled: false, states: { hover: { enabled: true, radius: 4}}}");

```

Um dies zu erreichen habe ich in der Highcharts\_V1.0004.ips.php noch folgende Änderungen machen müssen. $Agg = 3.

```php
   if ($Diff > $DayValues)
    $Agg = 3; // -> AC_GetAggregatedValues [0=Hour, 1=Day, 2=Week, 3=Month, 4=Year]
   else if ($Diff > $HourValues)
    $Agg = 0; // -> AC_GetAggregatedValues [0=Hour, 1=Day, 2=Week, 3=Month, 4=Year]

```

![Screenshot5.png](https://community.symcon.de/uploads/default/original/3X/9/a/9a1c054da99e8433ed2f78f6161ff5adcb4be493.png)

 ![Ertrag.png](https://community.symcon.de/uploads/default/original/3X/a/a/aa5c761e946f60229afc4c10f032800edf755bfe.png)

---

<div class="post-metadata">

**Author:** ![Bernardo71](https://community.symcon.de/user_avatar/community.symcon.de/bernardo71/32/135_2.png) [@Bernardo71](https://community.symcon.de/u/Bernardo71)\
**Post date:** [9. Oktober 2011 um 11:26 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/227 "2011-10-09T11:26:47Z")

</div>

Hallo Werner,

Balken war eher das Script von BBERNHARD meine ich.  
Dort waren die Skripte auf Pie und Balken hin angepasst.

Gruß  
B71

---

<div class="post-metadata">

**Author:** ![wgreipl](https://community.symcon.de/user_avatar/community.symcon.de/wgreipl/32/60_2.png) [@wgreipl](https://community.symcon.de/u/wgreipl)\
**Post date:** [9. Oktober 2011 um 11:56 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/228 "2011-10-09T11:56:22Z")

</div>

Hallo bernardo.

Laut Screenshots auf der ersten Seite kann das Khc’s Version auch.

---

<div class="post-metadata">

**Author:** ![Heidewinkler](https://community.symcon.de/user_avatar/community.symcon.de/heidewinkler/32/82399_2.png) [@Heidewinkler](https://community.symcon.de/u/Heidewinkler)\
**Post date:** [9. Oktober 2011 um 13:38 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/229 "2011-10-09T13:38:27Z")

</div>

@Kabo63  
In Zeile 153 bzw. 152 muss nichts mehr eingegeben werden. Das hast du doch (hoffentlich) schon in Zeile 13 richtig gemacht.

---

<div class="post-metadata">

**Author:** ![UlrichEKoch](https://community.symcon.de/letter_avatar_proxy/v4/letter/u/eada6e/32.png) [@UlrichEKoch](https://community.symcon.de/u/UlrichEKoch)\
**Post date:** [9. Oktober 2011 um 14:06 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/230 "2011-10-09T14:06:22Z")

</div>

Hallo,  
ich habe mir, nach dem ich viel gelesen habe, die Version …004 installiert und entsprechend konfiguriert.  
Aber leider wird keine Grafik generiert.  
Eine Fehlermeldung wird auch nicht angezeigt.

Hier die Config-Datei mit einem Temeraturwert.

```auto
<?php

	// => ab V1.0004, damit kann der Script auch von anderen Scripten aufgerufen werden und bereits mit CfgDaten vorkonfiguriert werden
	Global $CfgDaten; //$CfgDaten = array();

	// Überschriften
	$CfgDaten["Title"]= "Esszimmer";
	$CfgDaten["SubTitle"]= ""; // "" = Automatisch über Zeitraum

	// IPS Variablen ID´s
	$CfgDaten["ArchiveHandlerId"] = 51619 /*[Archive Handler]*/; // Archive Handler
	$CfgDaten["ContentVarableId"] = 56320 /*[.Beispiele\Beispiele, Highcharts - Multigraph\Test]*/; // ID der Content-Variable
	$CfgDaten["HighChartScriptId"] = 14961 /*[.Beispiele\Beispiele, Highcharts - Multigraph\Grund-Skripte\Highcharts_V1.0004.ips.php]*/; // ID des Highcharts Scripts

	// Zeitraum welcher dargestellt werden soll
	$CfgDaten["StartTime"] = mktime(0,0,0, date("m", time()), date("d",time())-6, date("Y",time())); // ab heute 00:00 Uhr
	$CfgDaten["EndTime"] = mktime(23,59,59, date("m", time()), date("d",time()), date("Y",time())); // ab heute 23:59 Uhr, oder //$CfgDaten["EndTime"] = time(); // = bis jetzt

	// => ab V1.0003
	$CfgDaten["RunMode"]= "files"; //oder script

	// => ab V1.0003
	// Serienübergreifende Einstellung für das Laden von Werten
	$CfgDaten["AggregatedValues"]["HourValues"] = 3; // ist der Zeitraum größer als X Tage werden Stundenwerte geladen
	$CfgDaten["AggregatedValues"]["DayValues"] = 14; // ist der Zeitraum größer als X Tage werden Tageswerte geladen
	$CfgDaten["AggregatedValues"]["NoLoggedValues"] = 60; // ist der Zeitraum größer als X Tage werden keine Boolean Werte mehr geladen, diese werden zuvor immer als Einzelwerte geladen
	$CfgDaten["AggregatedValues"]["MixedMode"] = false; // alle Zeitraumbedingungen werden kombiniert

	// Die Parameter für die einzelnen Chart Serien (Achtung! unbedingt auf Groß-Kleinschreibung achten)
	// Name: Name der Kurve (Anzeige in Legende und Tooltip)
	// Unit: NULL = Einheit wird aus Suffix des eingestellten Profils übernommen
	// "string" = string wird als Einheit eingetragen
	// array(0=>'String für 0',1=>'String für 1', usw.) = Ist der Wert 0 wird 'Strung für 0' im Tooltip angezeigt, usw
	// ReplaceValues: false = Werte werden wie geloggt übernommen
	// array(0=>0.2,1=>10, usw.) = der Wert 0 wird in 0.2 geändert, der Wert 1 wird in 10 geändert
	// das macht für die Darstellung von Boolean Werte Sinn, oder für Drehgriffkontakte (Werte 0,1,2) Sinn
	// Param: Einstellungen der Kurve (hier können werden exakt Einstellungen aus Higcharts.com eingegeben) hier ein paar Beispiele
	// type: Art der Kurve: Sinn machen [area, areaspline, line, spline, pie], noch nicht sinnvoll dargestellt werden [scatter, bar, column]
	// step: true oder false - jeder Werte bildet eine Stufe (sinnvoll für Heizungsteller, oder Sollwertvorgaben)
	// yAxis: Nummer welche Y-Achse verwendet werden soll (ab 0)
	// shadow: true oder false - Darstellung mit oder ohne Schatten
	// lineWidth: Linienstärke
	// alles weitere bitte aus der Higcharts-Referenz entnehmen -> http://www.highcharts.com/ref/
	// und so könnte für eine Achse seperate Einstellungen für die AggregattedValues getroffen werden

	//$AggregatedValuesForSeries["HourValues"] = 3;
	//$AggregatedValuesForSeries["DayValues"] = 2;
	//$AggregatedValuesForSeries["DayValues"] = 2;
	//$AggregatedValuesForSeries["Combined"] = true;
	//,"AggregatedValues"=>$AggregatedValuesForSeries

	// => ab V1.0004, sind auch Pie-Charts möglich. Hierbei wird je Pie eine Serie definiert (Wichtig hierbei -> ID´s, Namen, Units als Array definieren)
//	$CfgDaten["Series"][] = array( "Value"=>array(12,256,24.5,122), "Name" =>array("Wert1","Wert2", "Wert3", "Wert4"),	"Unit"=>array("A","A","A","A"), "ReplaceValues"=>false,
// "Param" =>"type:'pie', center: [100, 80], size: 200, showInLegend: true, shadow: true,lineWidth: 1 , dataLabels: {enabled: false}");
//	$CfgDaten["Series"][] = array("Id"=>array(23960 /*[Objekt #23960 existiert nicht]*/,13641,10674 /*[Objekt #10674 existiert nicht]*/), "Name" =>array("Aussentemperatur2","Luftfeuchte", "IST"),	"Unit"=>array("°C","%","°F"), "ReplaceValues"=>false,
// "Param" =>"type:'pie', center: [300, 180], size: 100, showInLegend: true, shadow: true,lineWidth: 1 , dataLabels: {enabled: false}");

	$CfgDaten["Series"][] = array("Id"=>15542 /*[.Keine Webfront-Anzeige\.Heizung\Esszimmer\Temperatur]*/,
	 "Name" =>"Aussentemperatur",	"Unit"=>"°C oder °F", "ReplaceValues"=>false,
		"Param" =>"type:'spline', step:false, yAxis: 0, shadow: true,lineWidth: 1 , states: {hover:{lineWidth: 2}}, marker: { enabled: false, states: { hover: { enabled: true, radius: 4}}}");
//	$CfgDaten["Series"][] = array("Id"=>10674, "Name" =>"IST-Temperatur","Unit"=>NULL, "ReplaceValues"=>false,
// "Param" =>"type:'spline', step:false, yAxis: 0, shadow: true,lineWidth: 1, states: {hover:{lineWidth: 2}}, marker: { enabled: false, states: { hover: { enabled: true, radius: 4}}}");
//	$CfgDaten["Series"][] = array("Id"=>23264, "Name" =>"SOLL-Temperatur", "Unit"=>"°C","ReplaceValues"=>false,
// "Param" =>"type:'line', step:true, yAxis: 0, shadow: true,lineWidth: 1, states: {hover:{lineWidth: 2}}, marker: { enabled: false, states: { hover: { enabled: true, radius: 4}}}");
//	$CfgDaten["Series"][] = array("Id"=>13641, "Name" =>"Luftfeuchte","Unit"=>"%", "ReplaceValues"=>false,
// "Param" =>"type:'spline', step:false, yAxis: 1, shadow: true,lineWidth: 1, states: {hover:{lineWidth: 2}}, marker: { enabled: false, states: { hover: { enabled: true, radius: 4}}}");
//	$CfgDaten["Series"][] = array("Id"=>29410, "Name" =>"Tür/Fenster Kontakt","Unit"=>NULL, "ReplaceValues"=>array(0=>0.2,1=>10),
// "Param" =>"type:'area', step: true, yAxis: 1, shadow: true,lineWidth: 1, states: {hover:{lineWidth: 2}}, marker: { enabled: false, states: { hover: { enabled: true, symbol: 'circle', radius: 4, lineWidth: 1}}}");
//	$CfgDaten["Series"][] = array("Id"=>44451, "Name" =>"Drehgriffkontakt", "Unit"=>array(0=>'geschlossen',1=>'gekippt',2=>'geöffnet'), "ReplaceValues"=>array(0=>0.2,1=>7,2=>10),
// "Param" =>"type:'area', step:true, yAxis: 1, shadow: true,lineWidth: 1, states: {hover:{lineWidth: 2}}, marker: { enabled: false, states: { hover: { enabled: true, radius: 4}}}");
//	$CfgDaten["Series"][] = array("Id"=>43639, "Name" =>"Heizungssteller", "Unit"=>"%","ReplaceValues"=>false,
// "Param" =>"type:'line', step:true, yAxis: 1, shadow: true,lineWidth: 1, states: {hover:{lineWidth: 2}}, marker: { enabled: false, states: { hover: { enabled: true, radius: 4}}}");

/*
	//oder
	foreach(IPS_GetInstanceListByModuleID("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}") as $InstanceId)
	{
		if(IPS_StatusVariableExists($InstanceId, "TEMPERATURE"))
		{
			$var = IPS_GetStatusVariable($InstanceId, "TEMPERATURE");

			// Float Variable (.... ist schon etwas wage sich auf den VariablenTyp zu verlassen)
        if($var['VariableType'] == 2 )
        {
				//$V = GetVariableArray($InstanceId, "TEMPERATURE");
				$Name = str_replace("Funk Devices\\", "", IPS_GetLocation($var["VariableID"]));
				$Name = str_replace("\\", "/", $Name );

				$CfgDaten["Series"][] = array("Id"=>$var["VariableID"], "Name" =>$Name,	"Unit"=>"°C", "ReplaceValues"=>false,
					"Param" =>"type:'spline', step:false, yAxis: 0, shadow: true,lineWidth: 1 , states: {hover:{lineWidth: 2}}, marker: { enabled: false, states: { hover: { enabled: true, radius: 4}}}");
        }
		}
	}
*/
	// Y-Achsen
	$CfgDaten["yAxis"][] = array("Name" =>"Temperaturen", "Unit"=>"°C","Opposite"=>false,"TickInterval"=>5);
//	$CfgDaten["yAxis"][] = array("Name" =>"Heizungssteller / Luftfeuchte", "Unit"=>"%","Min"=>0, "Max"=>100,"TickInterval"=>25,"Opposite"=>true);
	//oder direkt den String für die Achsen übergeben $CfgDaten["yAxis"][] = "title: { text: 'Heizungssteller / Luftfeuchte' }, min:0";

	// X-Achse ist autom. Time-Format

	// => ab V1.0002
	// HighchartConfig String
	$CfgDaten["HighChartCfg"]= false; // false = default String wird verwendet

	// Beispiel für ein von extern übergebener CfgString. Dies entspricht exakt dem Highcrats ConfigString aus der Highcharts.com/ref
	// zusätzlich können bzw. teilweise müssen folgenden Platzhalter verwendet werden.
	// %title.text% = $CfgDaten["Title"]
	// %subtitle.text% = CfgDaten["SubTitle"], oder bei "" der automatisch erzeugte Zeitraum
	// %yAxis% = die genierten y-Achsen welche durch $CfgDaten["yAxis"] konfiguriert wurden
	// %tooltip% = der generiert Tooltip
	// %xAxis.min% und %xAxis.may% = der durch $CfgDaten["StartTime"] und $CfgDaten["EndTime"] festgelegte Zeitraum
	// %data% = die aus der Datenbank gelesenen Daten, ohne diesen Platzhalter läuft gar nichts
	/*	$CfgDaten["HighChartCfg"]="
			chart: {
				renderTo: 'container'
			},
			title: {
				text: '%title.text%',
				x: -20
			},
			subtitle: {
				text: '%subtitle.text%',
				x: -20
			},
			xAxis: [{
				type: 'datetime',
				 dateTimeLabelFormats: { second: '%H:%M:%S',
					minute: '%H:%M',
					hour: '%H:%M',
					day: '%e. %b',
					week: '%e. %b',
					month: '%b \'%y',
					year: '%Y'

				 }
			}],
			yAxis: [	%yAxis%],
			tooltip: { %tooltip% },
			series: [%data%]
		});";
  */

	// Alle $CfgDaten["HighChart"] Parameter werden an das IP_Template übergeben
	// Highcharts-Themes
//	$CfgDaten["HighChart"]["Theme"]="gray.js"; // von Highcharts mitgeliefert: dark-green.js, dark-blue.js, gray.js, grid.js
	$CfgDaten["HighChart"]["Theme"]="ips.js"; // von Highcharts mitgeliefert: dark-green.js, dark-blue.js, gray.js, grid.js

	// Abmessungen des erzeugten Charts
	$CfgDaten["HighChart"]["Width"] = 0; // in px, 0 = 100%
	$CfgDaten["HighChart"]["Height"] = 0; // in px

	// und jetzt los ......
	$s=IPS_GetScript($CfgDaten["HighChartScriptId"]); // Id des Highcharts-Scripts
	include($s['ScriptFile']);

  	// => ab V1.0003
  	// hier werden die CfgDaten geprüft und bei Bedarf vervollständigt
	$CfgDaten = CheckCfgDaten($CfgDaten);

	// => ab V1.0003
	if (isset($CfgDaten["RunMode"]) && $CfgDaten["RunMode"] == "script")
	{
		// Variante1: Übergabe der ScriptId. Daten werden beim Aufruf der PHP Seite erzeugt und direakt übergeben. Dadurch kann eine autom. Aktualisierung der Anzeige erfolgen
		if ($IPS_SENDER != "WebInterface")
		{
			WriteContentWithScriptId ($CfgDaten, $IPS_SELF); // und jetzt noch die ContentTextbox
			return; // Ende, weil durch die Zuweisung des Script sowieso nochmals aufgerufen wird
		}

		$sConfig = CreateConfigString($CfgDaten); // erzeugen und zurückgeben des Config Strings
	}
	else
	{
		//Variante2: Übergabe des Textfiles. Daten werden in tmp-File gespeichert. Eine automatische Aktualisierung beim Anzigen der Content-Textbox erfolgt nicht
		$sConfig = CreateConfigString($CfgDaten); // erzeugen und zurückgeben des Config Strings
		$tmpFilename = CreateConfigFile($sConfig, $IPS_SELF); // und ab damit ins tmp-Files
		if ($IPS_SENDER != "WebInterface")
		{
			WriteContentWithFilename ($CfgDaten, $tmpFilename); // und jetzt noch die ContentTextbox
		}
	}

?>

```

Die html-Box sieht so aus:

```auto
<iframe src="./User/Highcharts/IPS_Template.php?CfgFile=C:\IP-Symcon\webfront\user\Highcharts\HighChartsCfg12181.tmp" width="100%" height="16" frameborder="0" scrolling="no"></iframe>

```

Siehe unten: Objektbaum, Web-Anzeige

Wo habe ich etwas verkehrt gemacht?

Bis dann Ulli

 ![Bild1.jpg](https://community.symcon.de/uploads/default/original/3X/9/d/9d9194975922e41e45e68e1f208881999c8d39d4.jpeg)

 ![Bild2.jpg](https://community.symcon.de/uploads/default/original/3X/2/d/2d01390709f2695dd4c3f9ca55cbb36246d1fd38.jpeg)

---

<div class="post-metadata">

**Author:** ![kabo63](https://community.symcon.de/letter_avatar_proxy/v4/letter/k/dbc845/32.png) [@kabo63](https://community.symcon.de/u/kabo63)\
**Post date:** [9. Oktober 2011 um 14:08 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/231 "2011-10-09T14:08:30Z")

</div>

@Heidewinkler  
vielen Dank für Deinen Hinweis, da die Warnmeldungen aber weiterhin kamen, hab ich nochmal alles komplett neu aufgesetzt - es kommen dieselben Warnmeldungen wie bei der „alten“ Konfiguration :o

Im moment weiß ich nicht mehr so recht, was ich noch anpassen kann - wie es aussieht, wird die Temp-Datei nicht erzeugt …???  
Im Anhang noch ein paar snips zur Veranschaulichung.  
MfG, kabo63.

 ![H_charts_neu1.PNG](https://community.symcon.de/uploads/default/original/3X/6/3/63f92a8a586056399b21b177429fa8c75869542c.png)

 ![H_charts_neu2.PNG](https://community.symcon.de/uploads/default/original/3X/c/4/c4416b466a3c7027b5cbe1c1e3f47252066e1464.png)

![H_charts_neu3.PNG](https://community.symcon.de/uploads/default/original/3X/3/4/34d629c4cd608ca5cdc3609c96720d20b09289d9.png)

![H_charts_neu4.PNG](https://community.symcon.de/uploads/default/original/3X/c/2/c2c5e86d48218d414d7cf3ce00160e73fbf0f421.png)

---

<div class="post-metadata">

**Author:** ![UVoigi](https://community.symcon.de/letter_avatar_proxy/v4/letter/u/a8b319/32.png) [@UVoigi](https://community.symcon.de/u/UVoigi)\
**Post date:** [9. Oktober 2011 um 14:12 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/232 "2011-10-09T14:12:31Z")

</div>

Hallo,  
habe folgendes Problem. Bekomme auf der rechten Seite des Graphen keine % Anzeige, was mache ich falsch? Tempanzeige links funktioniert.  
Siehe Anhang, danke.

 ![09-10-2011 14-04-58.png](https://community.symcon.de/uploads/default/original/3X/b/2/b25adba908d50b65fddc7d8653cd526fdf8faeae.png)

 ![09-10-2011 14-05-53.png](https://community.symcon.de/uploads/default/original/3X/1/9/19a5acde6bf51074c1ad398a9c0eeed516386e6a.png)

---

<div class="post-metadata">

**Author:** ![UVoigi](https://community.symcon.de/letter_avatar_proxy/v4/letter/u/a8b319/32.png) [@UVoigi](https://community.symcon.de/u/UVoigi)\
**Post date:** [9. Oktober 2011 um 14:20 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/233 "2011-10-09T14:20:41Z")

</div>

@kabo,  
Du musst unter user einen Ordner namens Highsharts erstellen und dort alles rein kopieren.

---

<div class="post-metadata">

**Author:** ![Raketenschnecke](https://community.symcon.de/user_avatar/community.symcon.de/raketenschnecke/32/384_2.png) [@Raketenschnecke](https://community.symcon.de/u/Raketenschnecke)\
**Post date:** [9. Oktober 2011 um 14:20 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/234 "2011-10-09T14:20:54Z")

</div>

> [@bmwm3](#):
>
> Hallo,  
> habe folgendes Problem. Bekomme auf der rechten Seite des Graphen keine % Anzeige, was mache ich falsch? Tempanzeige links funktioniert.  
> Siehe Anhang, danke.

hi Uwe

du hast zwar 2 Skalen (yAxis) definiert, du musst aber dem Datensatz noch sagen auf welche der beiden Achse er sich beziehen soll

im entsprechenden datensatz ($CfgDDaten[„Series“]…) muss da bei dir bei „yAxis: 1,“ stehen

---

<div class="post-metadata">

**Author:** ![UVoigi](https://community.symcon.de/letter_avatar_proxy/v4/letter/u/a8b319/32.png) [@UVoigi](https://community.symcon.de/u/UVoigi)\
**Post date:** [9. Oktober 2011 um 14:43 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/235 "2011-10-09T14:43:16Z")

</div>

Hmmm… bin zu blöd dafür. Kannst Du mal genauer sagen wo rein?  
Habe es so probiert, aber keine Änderung.

---

<div class="post-metadata">

**Author:** ![Raketenschnecke](https://community.symcon.de/user_avatar/community.symcon.de/raketenschnecke/32/384_2.png) [@Raketenschnecke](https://community.symcon.de/u/Raketenschnecke)\
**Post date:** [9. Oktober 2011 um 14:56 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/236 "2011-10-09T14:56:54Z")

</div>

gaaaaanz entspannt, ich hab mal aus dem Originalfile einen entsprechenden Screenshot gemacht und die Stelle der Achsenzuweisung markiert:

 ![HighChart Achsenzuweisung.PNG](https://community.symcon.de/uploads/default/original/3X/a/f/af30929b5b37a2573748ba9f81155ca78480a1c8.png)

---

<div class="post-metadata">

**Author:** ![UVoigi](https://community.symcon.de/letter_avatar_proxy/v4/letter/u/a8b319/32.png) [@UVoigi](https://community.symcon.de/u/UVoigi)\
**Post date:** [9. Oktober 2011 um 15:18 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/237 "2011-10-09T15:18:26Z")

</div>

Ahhhhhhhh… sagte doch bin zu Blöd dafür:o  
jetzt lüpt es DANKE.

---

<div class="post-metadata">

**Author:** ![Raketenschnecke](https://community.symcon.de/user_avatar/community.symcon.de/raketenschnecke/32/384_2.png) [@Raketenschnecke](https://community.symcon.de/u/Raketenschnecke)\
**Post date:** [9. Oktober 2011 um 15:23 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/238 "2011-10-09T15:23:37Z")

</div>

prima  
—;)----

---

<div class="post-metadata">

**Author:** ![kabo63](https://community.symcon.de/letter_avatar_proxy/v4/letter/k/dbc845/32.png) [@kabo63](https://community.symcon.de/u/kabo63)\
**Post date:** [9. Oktober 2011 um 16:32 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/239 "2011-10-09T16:32:11Z")

</div>

> [@bmwm3](#):
>
> @kabo,  
> Du musst unter user einen Ordner namens Highsharts erstellen und dort alles rein kopieren.

…Danke Uwe…das war’s…jetzt spiel ich mal bissel mit den Graphen 😃

---

<div class="post-metadata">

**Author:** ![wgreipl](https://community.symcon.de/user_avatar/community.symcon.de/wgreipl/32/60_2.png) [@wgreipl](https://community.symcon.de/u/wgreipl)\
**Post date:** [15. Oktober 2011 um 16:03 UTC](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263/240 "2011-10-15T16:03:58Z")

</div>

Nachdem anscheinend niemand Balkengraphen für Monatswerte in Highcharts nutzt habe ich heute selbst die Lösung gefunden, wer lange genug sucht findet auch irgendwann eine Lösung 😃

Einfach eine benutzerdefinierte xAxis benutzen, tickIntervall setzen und gut ist. Das besondere Einstellung ist hier natürlich der tickIntervall.

```php
 // HighchartConfig String
$CfgDaten["HighChartCfg"]= true; // false = default String wird verwendet

```

```php
   xAxis: [{
    type: 'datetime',
     dateTimeLabelFormats: { second: '%H:%M:%S',
     minute: '%H:%M',
     hour: '%H:%M',
     day: '%e. %b',
     week: '%e. %b',
     month: '%b \'%Y',
     year: '%Y'
     },
     tickInterval: 30*24*3600*1000 //30 Tage x 24 Std. x 3600 sek x 1000ms
   }]

```

 ![Balken.png](https://community.symcon.de/uploads/default/original/3X/c/f/cf3394f45f845fb5b208d74923274dd938ff5adc.png)

[Vorherige Seite](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263.md?page=11)

[Nächste Seite](https://community.symcon.de/t/q-a-highcharts-multigraph-v1-0/25263.md?page=13)
