Q&A Highcharts V2.0

zur Text-Formatierung: das sind am Ende HTML-Parameter, also muss hier auch die Einheit mitgegeben werden.

Beispiel:

$pl['label']['style']['fontSize']                     = '20pt';

Hallo RS,
sorry für die späte Antwort. Hatte schon einen Post geschrieben, aber vergessen auf Antworten zu drücken … ???
Vielen Dank für die Tipps funktioniert so weit alles.
Jetzt mach ich mich an die plotBands. Funktionieren die in IPS wie die Plotlines ($pl) nur mit $pb?

Hi Wolfgang,

$pb ist eine frei wählbare Variable, die die Parameter für plaotbands -oder was auch immer - aufnimmt. Man könnte sie auch $pb_light nennen. $42 geht übrigens nicht.

Die Plotbands funktionieren nach der gleichen Logik, ein komplettes Beispiel müsste ich irgendwo beschrieben haben.

wolfgang,
seit dem mein IPS-Wiki wieder funktioniert, kann ich auch vernpnftig nach Schlagwörtern suchen.
eben ist mit noch das zum Thema über den Weg gelaufen:

es handelt sich um eine Plotband-Anzeige auf der x-Achse (vertikale PB’s) für ein Tages-Chart. Die Werte für die Variablen ($Sunset_naut etc) müssen natürlich vorher definiert werden, z.B. durch auslesen aus einer Variable im Objektbaum.

// xAxis

    // plotBand: Nacht

    $CfgDaten['xAxis']['plotBands'][0]['color']                 = 'rgba(180,180,180, 0.9)';

    $CfgDaten['xAxis']['plotBands'][0]['from']                 = "@Date.UTC($ts)@";

    $CfgDaten['xAxis']['plotBands'][0]['to']                     = "@Date.UTC($Sunset_naut)@";

    // plotBand: Morgendämmerung naut

    $CfgDaten['xAxis']['plotBands'][1]['color']                 = 'rgba(210,210,210, 0.9)';

    $CfgDaten['xAxis']['plotBands'][1]['from']                 = "@Date.UTC($Sunset_naut)@";

    $CfgDaten['xAxis']['plotBands'][1]['to']                     = "@Date.UTC($Sunset_civ)@";

    // plotBand: Morgendämmerung zivil

    $CfgDaten['xAxis']['plotBands'][1]['color']                 = 'rgba(220,220,220 0.9)';

    $CfgDaten['xAxis']['plotBands'][1]['from']                 = "@Date.UTC($Sunset_civ)@";

    $CfgDaten['xAxis']['plotBands'][1]['to']                     = "@Date.UTC($Sunset_val)@";

    // plotBand: Abenddämmerung zivil

    $CfgDaten['xAxis']['plotBands'][1]['color']                 = 'rgba(220,220,220 0.9)';

    $CfgDaten['xAxis']['plotBands'][1]['from']                 = "@Date.UTC($Sunrise_val)@";

    $CfgDaten['xAxis']['plotBands'][1]['to']                     = "@Date.UTC($Sunrise_civ)@";

    // plotBand: Abenddämmerung naut

    $CfgDaten['xAxis']['plotBands'][1]['color']                 = 'rgba(210,210,210, 0.9)';

    $CfgDaten['xAxis']['plotBands'][1]['from']                 = "@Date.UTC($Sunrise_civ)@";

    $CfgDaten['xAxis']['plotBands'][1]['to']                     = "@Date.UTC($Sunrise_naut)@";

    // plotBand: Nacht

    $CfgDaten['xAxis']['plotBands'][0]['color']                 = 'rgba(180,180,180, 0.9)';

    $CfgDaten['xAxis']['plotBands'][0]['from']                 = "@Date.UTC($Sunrise_naut)@";

    $CfgDaten['xAxis']['plotBands'][0]['to']                     = "@Date.UTC($te)@";

Hallo Wolfgang,

jetzt hat mich doch glatt der Frust gepackt, die Plotbands wieder zu reaktivieren (hatte ich zuletzt in der HC Version 1.005 genutzt). Daher stammt auch obiger Code, der -wie ich eben festgestellt habe - Schrott ist.

Daher hier mal ein fertig aufbereitetes Beispiel für PlotBands auf der x-Achse, exemplarisch mir den 2x4 Dämmerungsphasen im Tagesgang. Ich setze 1:1 auf das astro-Script auf, welches die jeweiligen Timestamps via String-Var liefert.

Dabei gibt es 2 Fallstricke:1. müssen die Timestamp ins JS-Format konvertiert werden (JS immer in Milisekunden seit 1.1.1970)
2. muss die MESZ/MEZ berücksichtigt werden.

deshalb habe ich noch ein bisschen Code, um das hinzufrickeln:

// Timestamps für HC-Scripte (JS-Format: Umrechnung in Milisekunden + Umrechnung in GMT):
$offsetgmt                     = (date("Z")/3600)*60*60*1000;             // Offset zur GMT in Stunden
$Sunset_astro                 = (strtotime(getValue(33279 /*[Astro, Geo, Sommerzeit\Astro-Script\astro\astronomische Morgendämmerung]*/ ))*1000)+$offsetgmt;
$Sunrise_astro                 = (strtotime(getValue(22382 /*[Astro, Geo, Sommerzeit\Astro-Script\astro\astronomische Abenddämmerung]*/ ))*1000)+$offsetgmt;
$Sunset_val                 = (strtotime(getValue(47035 /*[Astro, Geo, Sommerzeit\Astro-Script\astro\Sonnenaufgang]*/ ))*1000)+$offsetgmt;
$Sunrise_val                 = (strtotime(getValue(13450 /*[Astro, Geo, Sommerzeit\Astro-Script\astro\Sonnenuntergang]*/ ))*1000)+$offsetgmt;
$Sunset_civ                 = (strtotime(getValue(31873 /*[Astro, Geo, Sommerzeit\Astro-Script\astro\zivile Morgendämmerung]*/ ))*1000)+$offsetgmt;
$Sunrise_civ                 = (strtotime(getValue(44851 /*[Astro, Geo, Sommerzeit\Astro-Script\astro\zivile Abenddämmerung]*/ ))*1000)+$offsetgmt;
$Sunset_naut                 = (strtotime(getValue(40362 /*[Astro, Geo, Sommerzeit\Astro-Script\astro
autische Morgendämmerung]*/ ))*1000)+$offsetgmt;
$Sunrise_naut                 = (strtotime(getValue(51544 /*[Astro, Geo, Sommerzeit\Astro-Script\astro
autische Abenddämmerung]*/ ))*1000)+$offsetgmt;

hier zur Veranschaulichung der Screenshot vom Objektbaum der Astro-Variablen:

im 2. Schritt werden die Plotbands ins HC-Cinfig-Script eingebaut und die Timestamps übernommen:

// xAxis
    // xAxis
// plotBand: Nacht
$CfgDaten['xAxis']['plotBands'][0]['color']             = 'rgba(170,170,170, 0.8)';
$CfgDaten['xAxis']['plotBands'][0]['from']                 = $CfgDaten["StartTime"]*1000+$offsetgmt;
$CfgDaten['xAxis']['plotBands'][0]['to']                 = $Sunset_astro;
// plotBand: Morgendämmerung astro
$CfgDaten['xAxis']['plotBands'][1]['color']             = 'rgba(170,170,170, 0.6)';
$CfgDaten['xAxis']['plotBands'][1]['from']                 = $Sunset_astro;
$CfgDaten['xAxis']['plotBands'][1]['to']                 = $Sunset_naut;
// plotBand: Morgendämmerung naut
$CfgDaten['xAxis']['plotBands'][2]['color']             = 'rgba(170,170,170, 0.4)';
$CfgDaten['xAxis']['plotBands'][2]['from']                 = $Sunset_naut;
$CfgDaten['xAxis']['plotBands'][2]['to']                 = $Sunset_civ;
// plotBand: Morgendämmerung zivil
$CfgDaten['xAxis']['plotBands'][3]['color']             = 'rgba(170,170,170, 0.2)';
$CfgDaten['xAxis']['plotBands'][3]['from']                 = $Sunset_civ;
$CfgDaten['xAxis']['plotBands'][3]['to']                 = $Sunset_val;
// plotBand: Abenddämmerung zivil
$CfgDaten['xAxis']['plotBands'][4]['color']             = 'rgba(170,170,170, 0.4)';
$CfgDaten['xAxis']['plotBands'][4]['from']                 = $Sunrise_val;
$CfgDaten['xAxis']['plotBands'][4]['to']                 = $Sunrise_civ;
// plotBand: Abenddämmerung naut
$CfgDaten['xAxis']['plotBands'][5]['color']             = 'rgba(170,170,170, 0.6)';
$CfgDaten['xAxis']['plotBands'][5]['from']                 = $Sunrise_civ;
$CfgDaten['xAxis']['plotBands'][5]['to']                 = $Sunrise_naut;
// plotBand: Abenddämmerung astro
$CfgDaten['xAxis']['plotBands'][6]['color']             = 'rgba(170,170,170, 0.8)';
$CfgDaten['xAxis']['plotBands'][6]['from']                 = $Sunrise_naut;
$CfgDaten['xAxis']['plotBands'][6]['to']                 = $Sunrise_astro;
// plotBand: Nacht
$CfgDaten['xAxis']['plotBands'][7]['color']             = 'rgba(170,170,170, 0.9)';
$CfgDaten['xAxis']['plotBands'][7]['from']                 = $Sunrise_astro;
$CfgDaten['xAxis']['plotBands'][7]['to']                 = $CfgDaten["EndTime"]*1000+$offsetgmt;

in diesem Falle visualisiert sich das Verbrechen wie folgt:


Ob ich das gut finde, habe ich noch nicht entschieden. Aber bevor sich jeder damit rumquält… have Fun!

Hallo RS,
danke für Deine Antworten. Mit dem Beispiel bringst Du mich auf Ideen …
Bin gerade noch am lesen der Grundlagen (so weit ich sie verstehe) von Jahreszeiten, TagNachtGleichen, Abweichungen …
Werds die Tage mal testen. Melde mich dann wieder mit Ergebnissen oder weiteren Fragen.

Andere Baustelle: Seit dem Update (drüber installiert (mit alte Installation umbenennen und neue installieren bekomm ich in allen Chartboxen „not found“)) auf 2.3.2 bekomm ich wenn der Browser (ff15) neu gestartet wird die Legende angezeigt wie im screenshot. Wenn ich das dann 1x aktualisiere ists wieder ok.
Hat das sonst noch jemand?

Clipboard-1.png

Hallo und guten Morgen,

für einen Check des Timings zwischen Türkontakt, Bewegungsmelder und Anwesenheitstracker möchte ich einen Chart mit 3 Balken erstellen, wo ich die jeweiligen Zustände in einem Blick sehe.

Ich bekomme die 3 Balken auch in unterschiedlicher Endhöhe übereinander allerdings beginnen Sie jeweils direkt auf der Y Achse, so dass ich immer überlappende Bereiche habe. Das lässt sich zwar mit Transparenten Farben abmildern, es wäre aber besser, wenn der zweite Balken über dem ersten Beginnt usw.

Ich habe das über Replace Values versucht und kann damit den Bereich nach oben ausdehnen aber aus irgendeinem Grund beginnen die Balken immer bei Null. Auch der Befehl Offset bringt mich noch nicht weiter…

Irgendeine Idee?

Vielen Dank, Stromer

<?php
	// bei der Konfiguration unbedingt auf die Groß/Kleinschreibung achten
	// es wurde versucht folgende Namensgebeung in der Konfiguration zu verwenden
	// Parameter mit kleinen Anfangsbuchstaben = Parameter welche von Highcharts übnernommen wurden. Siehe dazu: http://www.highcharts.com/ref/
	// Parameter mit großen Anfangsbuchstaben = für das IPS-Highcharts-Script eingeführte Parameter

	Global $CfgDaten; // damit kann der Script auch von anderen Scripten aufgerufen werden und bereits mit CfgDaten vorkonfiguriert werden

	// IPS Variablen ID´s
	$CfgDaten['ContentVarableId']= 33542 /*[21 Highcharts 2.3.2\HC2-CV-Alarmanlage]*/;  // ID der String Variable in welche die Daten geschrieben werden (-1 oder überhaupt nicht angeben wenn die Content Variable das übergordnete Element ist)
	$CfgDaten['HighChartScriptId']= 10775 /*[21 Highcharts 2.3.2\Highcharts_V2.02.ips.php]*/;  				// ID des Highcharts Scripts

	// Highcharts oder Highstock (default = Highcharts
	$CfgDaten['Ips']['ChartType'] = 'Highcharts';

	// Zeitraum welcher dargestellt werden soll (kann durch die Zeitvorgaben in den Serien verändert werden)
	$CfgDaten['StartTime'] = mktime(0,0,0, date("m", time()), date("d",time())-1, 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

	// damit wird die Art des Aufrufes festgelegt
	$CfgDaten['RunMode'] = "script"; 	// file, script, popup

	if ($CfgDaten['RunMode'] == "popup")
	{
		$CfgDaten['WebFrontConfigId'] = 39591 /*[WebFront Configurator]*/;
		$CfgDaten['WFCPopupTitle'] = "Timing Haustüröffnung / BMI EG / Anwesenheit";
	}

	// Übergabe der IP-Adresse und des Ports für die Darstellung im Dashboard
	// Wichtig! Wenn Darstellung in Webfront diese Variablen auskommentieren
	//$CfgDaten['Ips']['Dashboard']['Ip'] = "127.0.0.1";
	//$CfgDaten['Ips']['Dashboard']['Port'] = "82";


	// Serienübergreifende Einstellung für das Laden von Werten
	$CfgDaten['AggregatedValues']['HourValues'] = -1;      // ist der Zeitraum größer als X Tage werden Stundenwerte geladen
	$CfgDaten['AggregatedValues']['DayValues'] = -1;       // ist der Zeitraum größer als X Tage werden Tageswerte geladen
	$CfgDaten['AggregatedValues']['WeekValues'] = -1;      // ist der Zeitraum größer als X Tage werden Wochenwerte geladen
	$CfgDaten['AggregatedValues']['MonthValues'] = -1;      // ist der Zeitraum größer als X Tage werden Monatswerte geladen
	$CfgDaten['AggregatedValues']['YearValues'] = -1;      	// ist der Zeitraum größer als X Tage werden Jahreswerte geladen
	$CfgDaten['AggregatedValues']['NoLoggedValues'] = 1000; 	// 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
	$CfgDaten['AggregatedValues']['MixedMode'] = false;
	// Systematik funktioniert jetzt additiv. D.h. die angegebenen Werte gehen ab dem letzten Wert
	//
	//            -5 Tage           -3 Tage    					EndTime
	// |           |              	|            				 |
	// |           |DayValue = 2     |HourValues = 3          |
	// |Tageswerte |Stundenwerte     |jeder geloggte Wert     |

	// **************************************************************************************
	// *** Highcharts Options ***
	// **************************************************************************************
	// Ab hier werden die Bereiche des Highchart-Objektes parametriert.
	// Dieser Bereich wurde (soweit möglich) identisch der Originalstruktur gehalten.
	// Informationen über die Parametrierung findet man unter http://www.highcharts.com/ref/

	// **************************************************************************************
	// *** chart *** http://www.highcharts.com/ref/#chart
	// **************************************************************************************
	// $CfgDaten['chart']['zoomType'] = "'x'";			//default: $CfgDaten['chart']['zoomType'] = "'xy'";

	// **************************************************************************************
	// *** credits *** siehe http://www.highcharts.com/ref/#credits
	// **************************************************************************************
	// $CfgDaten['credits']['text'] = "used by IPS";
	// $CfgDaten['credits']['href'] = "http://www.ip-symcon.de/forum/f53/highcharts-multigraph-v1-0-a-17625/#post120721";

	// **************************************************************************************
	// *** title *** siehe http://www.highcharts.com/ref/#title
	// **************************************************************************************
	// $CfgDaten['title']['text'] = "Chart-Überschrift";  // Überchrift des gesamten Charts
	//		-> veraltet: 'Title' -> verwende ['title']['text']

	$CfgDaten['title']['text'] = "Timing Haustüröffnung / BMI EG / Anwesenheit";

	// **************************************************************************************
	// *** subtitle *** siehe http://www.highcharts.com/ref/#subtitle
	// **************************************************************************************
	// $CfgDaten['subtitle']['text'] = "Zeitraum: %STARTTIME% - %ENDTIME%" // Sub-Überschrift. Wenn nichts angegeben wird wird dieser String als Default verwendet
	//		-> veraltet: 'SubTitle' -> verwende ['subtitle']['text']
	// $CfgDaten['subtitle']['Ips']['DateTimeFormat'] = "(D) d.m.Y H:i"	// z.B.: "(D) d.m.Y H:i" (wird auch als Default herangezogen wenn nichts konfiguriert wurde)
	//		-> veraltet: 'SubTitleDateTimeFormat' -> verwende ['subtitle']['Ips']['DateTimeFormat']
	//    -> entfallen: 'SubTitleFormat' -> unnötiger Paramter, wird jetzt in ['subtitle']['text'] angegeben

	$CfgDaten['subtitle']['text'] = "Zeitraum: %STARTTIME% - %ENDTIME%";
	$CfgDaten['subtitle']['Ips']['DateTimeFormat'] = "(D) d.m.Y H:i";

	// **************************************************************************************
	// *** tooltip *** http://www.highcharts.com/ref/#tooltip
	// **************************************************************************************
	// $CfgDaten['tooltip']['enabled'] = false;
	// $CfgDaten['tooltip']['formatter'] = Null; // IPS erstellt selbständig einen Tooltip
	// $CfgDaten['tooltip']['formatter'] = ""; // Standard - Highcharts Tooltip

	// **************************************************************************************
	// *** exporting *** http://www.highcharts.com/ref/#exporting
	// **************************************************************************************
	// $CfgDaten['exporting']['enabled'] = true;

	// **************************************************************************************
	// *** lang *** http://www.highcharts.com/ref/#lang
	// **************************************************************************************
	// $CfgDaten['lang']['resetZoom'] = "Zoom zurücksetzten";

	// **************************************************************************************
	// *** legend *** http://www.highcharts.com/ref/#legend
	// **************************************************************************************
	// $CfgDaten['legend']['backgroundColor'] = '#FCFFC5';

	// **************************************************************************************
	// *** xAxis *** http://www.highcharts.com/ref/#xAxis
	// **************************************************************************************
	// $CfgDaten['xAxis']['lineColor'] = '#FF0000';
	// $CfgDaten['xAxis']['plotBands'][] = array("color"=>'#FCFFC5',"from"=> "@Date.UTC(2012, 3, 29)@","to"=> "@Date.UTC(2012, 3, 30)@");

	// **************************************************************************************
	// *** yAxis *** http://www.highcharts.com/ref/#yAxis
	// **************************************************************************************
	// $CfgDaten['yAxis'][0]['title']['text'] = "Temperaturen"; // Bezeichnung der Achse
	//		-> veraltet: 'Name' und 'TitleText' -> verwende ['title']['text']
	// $CfgDaten['yAxis'][0]['Unit'] = "°C";	// Einheit für die Beschriftung die Skalenwerte
	//	$CfgDaten['yAxis'][0]['min'] = 0; // Achse beginnt bei Min (wenn nichts angegeben wird wird der Min der Achse automatisch eingestellt)
	//	$CfgDaten['yAxis'][0]['max'] = 40; // Achse geht bis Max (wenn nichts angegeben wird wird der Max der Achse automatisch eingestellt)
	//		-> veraltet: 'Min' und 'Max'
	//	$CfgDaten['yAxis'][0]['opposite'] = false; // Achse wird auf der rechten (true) oder linken Seite (false) des Charts angezeigt (default = false)
	//		-> veraltet: 'Opposite'
	//	$CfgDaten['yAxis'][0]['tickInterval'] = 5; // Skalenwerte alle x (TickInterval)
	//		-> veraltet: 'TickInterval'
	//    -> entfallen: 'PlotBands' -> verwende ['yAxis'][0]['plotBands'],  (siehe Beispiel 'cfg - drehgriff und tf-kontakt')
	//    -> entfallen: 'YAxisColor' -> verwende ['yAxis'][0]['title']['style']
	//    -> entfallen: 'TitleStyle'-> verwende ['yAxis'][0]['title']['style']

	//$CfgDaten['yAxis'][0]['title']['text'] = "Temperaturen";
	//$CfgDaten['yAxis'][0]['Unit'] = "°C";
	//$CfgDaten['yAxis'][0]['opposite'] = false;
	//$CfgDaten['yAxis'][0]['tickInterval'] = 5;
	//$CfgDaten['yAxis'][0]['min'] = 0;
	//$CfgDaten['yAxis'][0]['max'] = 40;

	//$CfgDaten['yAxis'][1]['title']['text'] = "Heizungssteller / Luftfeuchte";
	//$CfgDaten['yAxis'][1]['Unit'] = "%";
	//$CfgDaten['yAxis'][1]['opposite'] = true;

	//$CfgDaten['yAxis'][0]['title']['text'] = "Status Alarm";
	//$CfgDaten['yAxis'][0]['labels']['formatter'] = "@function() { if (this.value == 1) return 'Aus'; if (this.value == 2) return 'AOn Anw.';if (this.value == 3) return 'AOn Abw.' ;if (this.value == 4) return 'ManON'}@";
	//$CfgDaten['yAxis'][0]['allowDecimals'] = true;
	//$CfgDaten['yAxis'][0]['showFirstLabel '] = false;
	//$CfgDaten['yAxis'][0]['showLastLabel '] = false;
	//$CfgDaten['yAxis'][0]['opposite'] = true;
	//$CfgDaten['yAxis'][0]['labels']['rotation'] = 00;

	//$CfgDaten['yAxis'][3]['title']['text'] = "Columns";
	//$CfgDaten['yAxis'][3]['Unit'] = "kWh";

	// **************************************************************************************
	// *** series *** http://www.highcharts.com/ref/#series
	// **************************************************************************************
	// $serie['name'] = "Temperatur; // Name der Kurve (Anzeige in Legende und Tooltip)
	//		-> veraltet: 'Name' -> verwende [series']['name']
	// $serie['Unit'] = "°C"; // Anzeige in automatisch erzeugtem Tooltip
	// 	wenn $serie['Unit'] = NULL; // oder Unit wird gar nicht definiert, wird versucht die Einheit aus dem Variablenprofil automatisch auszulesen
	// $serie['ReplaceValues'] = false; // Werte werden wie geloggt übernommen
	// 	$serie['ReplaceValues'] = array(0=>0.2,1=>10) // 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)
	// $serie['type'] = 'spline'; // Festlegung des Kuventypes (area, areaspline, line, spline, pie, Column)
	// $serie['yAxis'] = 0; // Nummer welche Y-Achse verwendet werden soll (ab 0)
	// 	-> veraltet: 'Param' -> verwende die Highcharts Parameter - sollte eigentlich noch so funktionieren wie in IPS-Highcharts V1.x
	// $serie['AggType'] = 0 // Festlegung wie die Werte gelesen werden soll (0=Hour, 1=Day, 2=Week, 3=Month, 4=Year), hat Vorrang gegenüber den Einstellungen in AggregatedValues
	//    wird kein AggType definiert werden alle gelogten Werte angezeigt
	// $serie['AggNameFormat'] = "d.m.Y H:i"; // (gilt nur bei den Pies, wenn eine Id verwendet wird), entspricht dem PHP-date("xxx") Format, welches das Format der Pie Namen festlegt, wenn keine Eingabe werden Default Werte genommen
	// $serie['Offset'] = 24*60*60; hiermit können Kurven unterschiedlicher Zeiträume in einem Chart dargestellt. Angabe ist in Minuten
	//	$serie['StartTime'] = mktime(0,0,0,1,1,2012); 	// wird für die entsprechende Serie eine Anfangs- und/oder Endzeitpunkt festgelegt wird dieser verwendet. Ansonsten wird
	// $serie['EndTime'] = mktime(0,0,0,2,1,2012);  		// der Zeitpunkt der Zeitpunkt aus den $CfgDaten genommen
	// $serie['ScaleFactor'] = 10; // Skalierungsfaktor mit welchem der ausgelesene Werte multipliziert wird
	// $serie['RoundValue'] = 1; // Anzahl der Nachkommastellen
	//	$serie['AggValue'] ='Min' // über AggValue kann Min/Max oder Avg vorgewählt werden (Default bei keiner Angabe ist Avg)
	//		ist sinnvoll wenn nicht Einzelwerte sondern Stundenwerte, Tageswerte, usw. ausgelesen werden
	// $serie['data'] = array('TimeStamp'=> time(),'Value'=12) // hier kann ein Array an eigenen Datenpunkten übergeben werden. In diesem Fall werden für diese Serie keine Daten aus der Variable gelesenen.

// Haustür
	$serie         = array("Id"=>42425,
                "Name" =>"Haustür",
                "Unit"=>array(0=>'Tür geschlossen', 1=>'Tür geöffnet'),
                "zIndex"=> 30,
                //"AggType"=>0,
                //"AggValue"=>"Avg",
                "RoundValue"=>0,
                "ReplaceValues"=>array(0=>0,1=>1,2=>2,3=>3,4=>4),
                );
$serie['type']                             = "area";
$serie['step']                             = true;
$serie['yAxis']                         = 0;
$serie['visible']                         = true;
$serie['showInLegend']                     = true;
$serie['enableMouseTracking']             = true;
$serie['color']                         = 'Blue';
$serie['shadow']                         = true;
$serie['dashStyle']                     = NULL;
$serie['lineWidth']                     = 1;
$serie['states']['hover']['lineWidth']     = 1;
$serie['marker']['enabled']             = false;
$serie['marker']['symbol']                 = 'circle';
$serie['marker']['states']['hover']['enabled']         = true;
$serie['marker']['states']['hover']['symbol']         = 'circle';
$serie['marker']['states']['hover']['radius']         = 4;
$serie['marker']['states']['hover']['lineWidth']     = 1;
$CfgDaten['Series'][]                                 = $serie;

// BMI EG Treppenhaus
$serie         = array("Id"=>37108,
                "Name" =>"BMI EG Flur",
                "Unit"=>array(1=>'Ruhe', 2=>'Bewegung'),
                "zIndex"=> 30,
                //"AggType"=>0,
                //"AggValue"=>"Avg",
                "RoundValue"=>0,
                "ReplaceValues"=>array(0=>1,1=>2,2=>3,3=>4,4=>5),
                );
$serie['type']                             = "area";
$serie['step']                             = true;
$serie['yAxis']                         = 1;
$serie['visible']                         = true;
$serie['showInLegend']                     = true;
$serie['enableMouseTracking']             = true;
$serie['color']                         = 'Red';
$serie['shadow']                         = true;
$serie['dashStyle']                     = NULL;
$serie['lineWidth']                     = 1;
$serie['states']['hover']['lineWidth']     = 1;
$serie['marker']['enabled']             = false;
$serie['marker']['symbol']                 = 'circle';
$serie['marker']['states']['hover']['enabled']         = true;
$serie['marker']['states']['hover']['symbol']         = 'circle';
$serie['marker']['states']['hover']['radius']         = 4;
$serie['marker']['states']['hover']['lineWidth']     = 1;
$CfgDaten['Series'][]                                 = $serie;

// Anwesenheit gesamt
$serie         = array("Id"=>21574,
                "Name" =>"Anwesenheit",
                "Unit"=>array(2=>'Ruhe', 3=>'Bewegung'),
                "zIndex"=> 30,
                //"AggType"=>0,
                //"AggValue"=>"Avg",
                "RoundValue"=>0,
                "ReplaceValues"=>array(0=>2,1=>3,2=>4,3=>5,4=>6),
                );
$serie['type']                             = "area";
$serie['step']                             = true;
$serie['yAxis']                         = 1;
$serie['visible']                         = true;
$serie['showInLegend']                     = true;
$serie['enableMouseTracking']             = true;
$serie['color']                         = 'Green';
$serie['shadow']                         = true;
$serie['dashStyle']                     = NULL;
$serie['lineWidth']                     = 1;
$serie['states']['hover']['lineWidth']     = 1;
$serie['marker']['enabled']             = false;
$serie['marker']['symbol']                 = 'circle';
$serie['marker']['states']['hover']['enabled']         = true;
$serie['marker']['states']['hover']['symbol']         = 'circle';
$serie['marker']['states']['hover']['radius']         = 4;
$serie['marker']['states']['hover']['lineWidth']     = 1;
$CfgDaten['Series'][]                                 = $serie;

	// Highcharts-Theme
	//	$CfgDaten['HighChart']['Theme']="grid.js";   // von Highcharts mitgeliefert: dark-green.js, dark-blue.js, gray.js, grid.js
	$CfgDaten['HighChart']['Theme']="ips.js";   // IPS-Theme muss per Hand in in Themes kopiert werden....

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

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

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

	// abhängig von der Art des Aufrufs -> json String für Highcharts erzeugen
	if (isset($CfgDaten['RunMode'])
		&& ($CfgDaten['RunMode'] == "script" || $CfgDaten['RunMode'] == "popup"))
	{
		// Variante1: Übergabe der ScriptId. Daten werden beim Aufruf der PHP Seite erzeugt und direkt ü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 Anzeigen 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
		}
	}



?>

Hallo,

anbei der aktuelle Stand:

<?php
	// bei der Konfiguration unbedingt auf die Groß/Kleinschreibung achten
	// es wurde versucht folgende Namensgebeung in der Konfiguration zu verwenden
	// Parameter mit kleinen Anfangsbuchstaben = Parameter welche von Highcharts übnernommen wurden. Siehe dazu: http://www.highcharts.com/ref/
	// Parameter mit großen Anfangsbuchstaben = für das IPS-Highcharts-Script eingeführte Parameter

	Global $CfgDaten; // damit kann der Script auch von anderen Scripten aufgerufen werden und bereits mit CfgDaten vorkonfiguriert werden

	// IPS Variablen ID´s
	$CfgDaten['ContentVarableId']= 33542 /*[21 Highcharts 2.3.2\HC2-CV-Alarmanlage]*/;  // ID der String Variable in welche die Daten geschrieben werden (-1 oder überhaupt nicht angeben wenn die Content Variable das übergordnete Element ist)
	$CfgDaten['HighChartScriptId']= 10775 /*[21 Highcharts 2.3.2\Highcharts_V2.02.ips.php]*/;  				// ID des Highcharts Scripts

	// Highcharts oder Highstock (default = Highcharts
	$CfgDaten['Ips']['ChartType'] = 'Highcharts';

	// Zeitraum welcher dargestellt werden soll (kann durch die Zeitvorgaben in den Serien verändert werden)
	$CfgDaten['StartTime'] = mktime(0,0,0, date("m", time()), date("d",time())-1, 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

	// damit wird die Art des Aufrufes festgelegt
	$CfgDaten['RunMode'] = "script"; 	// file, script, popup

	if ($CfgDaten['RunMode'] == "popup")
	{
		$CfgDaten['WebFrontConfigId'] = 39591 /*[WebFront Configurator]*/;
		$CfgDaten['WFCPopupTitle'] = "Timing Haustüröffnung / BMI EG / Anwesenheit";
	}

	// Übergabe der IP-Adresse und des Ports für die Darstellung im Dashboard
	// Wichtig! Wenn Darstellung in Webfront diese Variablen auskommentieren
	//$CfgDaten['Ips']['Dashboard']['Ip'] = "127.0.0.1";
	//$CfgDaten['Ips']['Dashboard']['Port'] = "82";


	// Serienübergreifende Einstellung für das Laden von Werten
	$CfgDaten['AggregatedValues']['HourValues'] = -1;      // ist der Zeitraum größer als X Tage werden Stundenwerte geladen
	$CfgDaten['AggregatedValues']['DayValues'] = -1;       // ist der Zeitraum größer als X Tage werden Tageswerte geladen
	$CfgDaten['AggregatedValues']['WeekValues'] = -1;      // ist der Zeitraum größer als X Tage werden Wochenwerte geladen
	$CfgDaten['AggregatedValues']['MonthValues'] = -1;      // ist der Zeitraum größer als X Tage werden Monatswerte geladen
	$CfgDaten['AggregatedValues']['YearValues'] = -1;      	// ist der Zeitraum größer als X Tage werden Jahreswerte geladen
	$CfgDaten['AggregatedValues']['NoLoggedValues'] = 1000; 	// 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
	$CfgDaten['AggregatedValues']['MixedMode'] = false;
	// Systematik funktioniert jetzt additiv. D.h. die angegebenen Werte gehen ab dem letzten Wert
	//
	//            -5 Tage           -3 Tage    					EndTime
	// |           |              	|            				 |
	// |           |DayValue = 2     |HourValues = 3          |
	// |Tageswerte |Stundenwerte     |jeder geloggte Wert     |

	// **************************************************************************************
	// *** Highcharts Options ***
	// **************************************************************************************
	// Ab hier werden die Bereiche des Highchart-Objektes parametriert.
	// Dieser Bereich wurde (soweit möglich) identisch der Originalstruktur gehalten.
	// Informationen über die Parametrierung findet man unter http://www.highcharts.com/ref/

	// **************************************************************************************
	// *** chart *** http://www.highcharts.com/ref/#chart
	// **************************************************************************************
	// $CfgDaten['chart']['zoomType'] = "'x'";			//default: $CfgDaten['chart']['zoomType'] = "'xy'";

	// **************************************************************************************
	// *** credits *** siehe http://www.highcharts.com/ref/#credits
	// **************************************************************************************
	// $CfgDaten['credits']['text'] = "used by IPS";
	// $CfgDaten['credits']['href'] = "http://www.ip-symcon.de/forum/f53/highcharts-multigraph-v1-0-a-17625/#post120721";

	// **************************************************************************************
	// *** title *** siehe http://www.highcharts.com/ref/#title
	// **************************************************************************************
	// $CfgDaten['title']['text'] = "Chart-Überschrift";  // Überchrift des gesamten Charts
	//		-> veraltet: 'Title' -> verwende ['title']['text']

	$CfgDaten['title']['text'] = "Timing Haustüröffnung / BMI EG / Anwesenheit";

	// **************************************************************************************
	// *** subtitle *** siehe http://www.highcharts.com/ref/#subtitle
	// **************************************************************************************
	// $CfgDaten['subtitle']['text'] = "Zeitraum: %STARTTIME% - %ENDTIME%" // Sub-Überschrift. Wenn nichts angegeben wird wird dieser String als Default verwendet
	//		-> veraltet: 'SubTitle' -> verwende ['subtitle']['text']
	// $CfgDaten['subtitle']['Ips']['DateTimeFormat'] = "(D) d.m.Y H:i"	// z.B.: "(D) d.m.Y H:i" (wird auch als Default herangezogen wenn nichts konfiguriert wurde)
	//		-> veraltet: 'SubTitleDateTimeFormat' -> verwende ['subtitle']['Ips']['DateTimeFormat']
	//    -> entfallen: 'SubTitleFormat' -> unnötiger Paramter, wird jetzt in ['subtitle']['text'] angegeben

	$CfgDaten['subtitle']['text'] = "Zeitraum: %STARTTIME% - %ENDTIME%";
	$CfgDaten['subtitle']['Ips']['DateTimeFormat'] = "(D) d.m.Y H:i";

	// **************************************************************************************
	// *** tooltip *** http://www.highcharts.com/ref/#tooltip
	// **************************************************************************************
	// $CfgDaten['tooltip']['enabled'] = false;
	// $CfgDaten['tooltip']['formatter'] = Null; // IPS erstellt selbständig einen Tooltip
	// $CfgDaten['tooltip']['formatter'] = ""; // Standard - Highcharts Tooltip

	// **************************************************************************************
	// *** exporting *** http://www.highcharts.com/ref/#exporting
	// **************************************************************************************
	// $CfgDaten['exporting']['enabled'] = true;

	// **************************************************************************************
	// *** lang *** http://www.highcharts.com/ref/#lang
	// **************************************************************************************
	// $CfgDaten['lang']['resetZoom'] = "Zoom zurücksetzten";

	// **************************************************************************************
	// *** legend *** http://www.highcharts.com/ref/#legend
	// **************************************************************************************
	// $CfgDaten['legend']['backgroundColor'] = '#FCFFC5';

	// **************************************************************************************
	// *** xAxis *** http://www.highcharts.com/ref/#xAxis
	// **************************************************************************************
	// $CfgDaten['xAxis']['lineColor'] = '#FF0000';
	// $CfgDaten['xAxis']['plotBands'][] = array("color"=>'#FCFFC5',"from"=> "@Date.UTC(2012, 3, 29)@","to"=> "@Date.UTC(2012, 3, 30)@");

	// **************************************************************************************
	// *** yAxis *** http://www.highcharts.com/ref/#yAxis
	// **************************************************************************************
	// $CfgDaten['yAxis'][0]['title']['text'] = "Temperaturen"; // Bezeichnung der Achse
	//		-> veraltet: 'Name' und 'TitleText' -> verwende ['title']['text']
	// $CfgDaten['yAxis'][0]['Unit'] = "°C";	// Einheit für die Beschriftung die Skalenwerte
	//	$CfgDaten['yAxis'][0]['min'] = 0; // Achse beginnt bei Min (wenn nichts angegeben wird wird der Min der Achse automatisch eingestellt)
	//	$CfgDaten['yAxis'][0]['max'] = 40; // Achse geht bis Max (wenn nichts angegeben wird wird der Max der Achse automatisch eingestellt)
	//		-> veraltet: 'Min' und 'Max'
	//	$CfgDaten['yAxis'][0]['opposite'] = false; // Achse wird auf der rechten (true) oder linken Seite (false) des Charts angezeigt (default = false)
	//		-> veraltet: 'Opposite'
	//	$CfgDaten['yAxis'][0]['tickInterval'] = 5; // Skalenwerte alle x (TickInterval)
	//		-> veraltet: 'TickInterval'
	//    -> entfallen: 'PlotBands' -> verwende ['yAxis'][0]['plotBands'],  (siehe Beispiel 'cfg - drehgriff und tf-kontakt')
	//    -> entfallen: 'YAxisColor' -> verwende ['yAxis'][0]['title']['style']
	//    -> entfallen: 'TitleStyle'-> verwende ['yAxis'][0]['title']['style']

	$CfgDaten['yAxis'][0]['title']['text'] = "Haustür1";
	$CfgDaten['yAxis'][1]['title']['text'] = "BMI1";
	$CfgDaten['yAxis'][2]['title']['text'] = "Anwesenheit1";

	//$CfgDaten['yAxis'][0]['Unit'] = "°C";
	//$CfgDaten['yAxis'][0]['opposite'] = false;
	//$CfgDaten['yAxis'][0]['tickInterval'] = 5;
	//$CfgDaten['yAxis'][0]['min'] = 0;
	//$CfgDaten['yAxis'][0]['max'] = 40;

	//$CfgDaten['yAxis'][1]['title']['text'] = "Heizungssteller / Luftfeuchte";
	//$CfgDaten['yAxis'][1]['Unit'] = "%";
	//$CfgDaten['yAxis'][1]['opposite'] = true;

	//$CfgDaten['yAxis'][0]['title']['text'] = "Status Alarm";
	//$CfgDaten['yAxis'][0]['labels']['formatter'] = "@function() { if (this.value == 1) return 'Aus'; if (this.value == 2) return 'AOn Anw.';if (this.value == 3) return 'AOn Abw.' ;if (this.value == 4) return 'ManON'}@";
	//$CfgDaten['yAxis'][0]['allowDecimals'] = true;
	//$CfgDaten['yAxis'][0]['showFirstLabel '] = false;
	//$CfgDaten['yAxis'][0]['showLastLabel '] = false;
	//$CfgDaten['yAxis'][0]['opposite'] = true;
	//$CfgDaten['yAxis'][0]['labels']['rotation'] = 00;

	//$CfgDaten['yAxis'][3]['title']['text'] = "Columns";
	//$CfgDaten['yAxis'][3]['Unit'] = "kWh";

	// **************************************************************************************
	// *** series *** http://www.highcharts.com/ref/#series
	// **************************************************************************************
	// $serie['name'] = "Temperatur; // Name der Kurve (Anzeige in Legende und Tooltip)
	//		-> veraltet: 'Name' -> verwende [series']['name']
	// $serie['Unit'] = "°C"; // Anzeige in automatisch erzeugtem Tooltip
	// 	wenn $serie['Unit'] = NULL; // oder Unit wird gar nicht definiert, wird versucht die Einheit aus dem Variablenprofil automatisch auszulesen
	// $serie['ReplaceValues'] = false; // Werte werden wie geloggt übernommen
	// 	$serie['ReplaceValues'] = array(0=>0.2,1=>10) // 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)
	// $serie['type'] = 'spline'; // Festlegung des Kuventypes (area, areaspline, line, spline, pie, Column)
	// $serie['yAxis'] = 0; // Nummer welche Y-Achse verwendet werden soll (ab 0)
	// 	-> veraltet: 'Param' -> verwende die Highcharts Parameter - sollte eigentlich noch so funktionieren wie in IPS-Highcharts V1.x
	// $serie['AggType'] = 0 // Festlegung wie die Werte gelesen werden soll (0=Hour, 1=Day, 2=Week, 3=Month, 4=Year), hat Vorrang gegenüber den Einstellungen in AggregatedValues
	//    wird kein AggType definiert werden alle gelogten Werte angezeigt
	// $serie['AggNameFormat'] = "d.m.Y H:i"; // (gilt nur bei den Pies, wenn eine Id verwendet wird), entspricht dem PHP-date("xxx") Format, welches das Format der Pie Namen festlegt, wenn keine Eingabe werden Default Werte genommen
	// $serie['Offset'] = 24*60*60; hiermit können Kurven unterschiedlicher Zeiträume in einem Chart dargestellt. Angabe ist in Minuten
	//	$serie['StartTime'] = mktime(0,0,0,1,1,2012); 	// wird für die entsprechende Serie eine Anfangs- und/oder Endzeitpunkt festgelegt wird dieser verwendet. Ansonsten wird
	// $serie['EndTime'] = mktime(0,0,0,2,1,2012);  		// der Zeitpunkt der Zeitpunkt aus den $CfgDaten genommen
	// $serie['ScaleFactor'] = 10; // Skalierungsfaktor mit welchem der ausgelesene Werte multipliziert wird
	// $serie['RoundValue'] = 1; // Anzahl der Nachkommastellen
	//	$serie['AggValue'] ='Min' // über AggValue kann Min/Max oder Avg vorgewählt werden (Default bei keiner Angabe ist Avg)
	//		ist sinnvoll wenn nicht Einzelwerte sondern Stundenwerte, Tageswerte, usw. ausgelesen werden
	// $serie['data'] = array('TimeStamp'=> time(),'Value'=12) // hier kann ein Array an eigenen Datenpunkten übergeben werden. In diesem Fall werden für diese Serie keine Daten aus der Variable gelesenen.


// BMI EG Treppenhaus
$serie         = array("Id"=>37108,
                "Name" =>"BMI EG Flur",
                "Unit"=>array(0=>'Ruhe', 1=>'Bewegung'),
                "zIndex"=> 30,
                //"AggType"=>0,
                //"AggValue"=>"Avg",
                "RoundValue"=>0,
                "ReplaceValues"=>array(0=>1,1=>2,2=>3,3=>4,4=>5),
                );
$serie['type']                             = "area";
$serie['step']                             = true;
$serie['yAxis']                         = 1;
$serie['offset']									= 0;
$serie['visible']                         = true;
$serie['showInLegend']                     = true;
$serie['enableMouseTracking']             = true;
$serie['color']                         = '#CEF6F5';
$serie['shadow']                         = true;
$serie['dashStyle']                     = NULL;
$serie['lineWidth']                     = 1;
$serie['states']['hover']['lineWidth']     = 1;
$serie['marker']['enabled']             = false;
$serie['marker']['symbol']                 = 'circle';
$serie['marker']['states']['hover']['enabled']         = true;
$serie['marker']['states']['hover']['symbol']         = 'circle';
$serie['marker']['states']['hover']['radius']         = 4;
$serie['marker']['states']['hover']['lineWidth']     = 1;
$CfgDaten['Series'][]                                 = $serie;

// Anwesenheit gesamt
$serie         = array("Id"=>21574,
                "Name" =>"Anwesenheit",
                "Unit"=>array(2=>'Ruhe', 3=>'Bewegung'),
                "zIndex"=> 30,
                //"AggType"=>0,
                //"AggValue"=>"Avg",
                "RoundValue"=>0,
                "ReplaceValues"=>array(0=>2,1=>3,2=>4,3=>5,4=>6),
                );
$serie['type']                             = "area";
$serie['step']                             = true;
$serie['yAxis']                         = 2;
$serie['visible']                         = true;
$serie['showInLegend']                     = true;
$serie['enableMouseTracking']             = true;
$serie['color']                         = '#D8F781';
$serie['shadow']                         = true;
$serie['dashStyle']                     = NULL;
$serie['lineWidth']                     = 1;
$serie['states']['hover']['lineWidth']     = 1;
$serie['marker']['enabled']             = false;
$serie['marker']['symbol']                 = 'circle';
$serie['marker']['states']['hover']['enabled']         = true;
$serie['marker']['states']['hover']['symbol']         = 'circle';
$serie['marker']['states']['hover']['radius']         = 4;
$serie['marker']['states']['hover']['lineWidth']     = 1;
$CfgDaten['Series'][]                                 = $serie;

// Haustür
	$serie         = array("Id"=>42425,
                "Name" =>"Haustür",
                "Unit"=>array(0=>'Tür geschlossen', 1=>'Tür geöffnet'),
                "zIndex"=> 30,
                //"AggType"=>0,
                //"AggValue"=>"Avg",
                "RoundValue"=>0,
                "ReplaceValues"=>array(0=>0,1=>1,2=>2,3=>3,4=>4),
                 );
$serie['type']                             = "area";
$serie['step']                             = true;
$serie['yAxis']                         = 0;
$serie['visible']                         = true;
$serie['showInLegend']                     = true;
$serie['enableMouseTracking']             = true;
$serie['color']                         = '#F6E3CE';
$serie['shadow']                         = true;
$serie['dashStyle']                     = NULL;
$serie['lineWidth']                     = 1;
$serie['states']['hover']['lineWidth']     = 1;
$serie['marker']['enabled']             = false;
$serie['marker']['symbol']                 = 'circle';
$serie['marker']['states']['hover']['enabled']         = true;
$serie['marker']['states']['hover']['symbol']         = 'circle';
$serie['marker']['states']['hover']['radius']         = 4;
$serie['marker']['states']['hover']['lineWidth']     = 1;
$CfgDaten['Series'][]                                 = $serie;


	// Highcharts-Theme
	//	$CfgDaten['HighChart']['Theme']="grid.js";   // von Highcharts mitgeliefert: dark-green.js, dark-blue.js, gray.js, grid.js
	$CfgDaten['HighChart']['Theme']="ips.js";   // IPS-Theme muss per Hand in in Themes kopiert werden....

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

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

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

	// abhängig von der Art des Aufrufs -> json String für Highcharts erzeugen
	if (isset($CfgDaten['RunMode'])
		&& ($CfgDaten['RunMode'] == "script" || $CfgDaten['RunMode'] == "popup"))
	{
		// Variante1: Übergabe der ScriptId. Daten werden beim Aufruf der PHP Seite erzeugt und direkt ü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 Anzeigen 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
		}
	}



?>

irgendwie werde ich aus deiner Beschreibung nicht schlau: oben schreibst du was von Balken, im Bild kann man nichts erkennen (zumindest nichts, was zur Problembeschreibung passt),. Unten sehe ich im Bild Areas statt Balken.

wo genau soll es denn hingehen?

OK,
ich habe 3 boolsche Variablen die ich übereinander im Zeitstrahl darstellen will. Wenn „0“ dann nicht mit Farbe gefüllt, wenn „1“ dann gefüllt.
Somit sehe ich genau die Bereiche, in denen zBsp. die Tür geöffnet wurde, ab wann der BMI ausgelöst hat und der Tracker mich als Anwesend erkennt.

Ich möchte also verschiedenen Dinge entlang der Zeitachse visualisieren. So in etwa sh. beiliegende Grafik.

Hoffentlich ist das jetzt besser formuliert :wink:
Danke Raketenschnecke

na das hört sich doch schon viel besser an.
Werner hat dazu eine Lösung, ich find nur grad seinen Post dazu nicht. Vielleicht stellt er das nochmal ein.

Hallo Stromer,

meintest Du soetwas?

erledigt :smiley:

das sind die Steine, mit denen er allabendlich ne Stunde redet und sich den Frust von der Seele „blubbert“ :smiley:

Die sind mind. 5 Stunden an :cool:

Hallo Werner,

das sieht doch schon mal prima aus. Wie hast Du das realisiert? Mit Highcharts wäre wichtig, da das hineinzoomen wichtig ist. Schließlich sind die Aktivitäten immer sehr kurz.

Liebste Grüße,
Stromer

dann war es wohl ein „Scheiß-Tag“ :smiley:

Natürlich mit HC. Gibt es etwas anderes :smiley:

Skript kann ich morgen mal hochladen.

@Rest: Blubbersteine ist mein Gartenbrunnen

Teil vom Rest @Werner … Danke für die Info :smiley:

Schönen Abend
Bruno

Hi Bruno,

war Schreibfaul :rolleyes: