Q&A Highcharts V2.0

Um es nochmal zu ergänzen:

Dieser Code


    for($i=0;$i<count($serieData);$i++)
    {
         $RawData   = AC_GetAggregatedValues($CfgDaten["ArchiveHandlerId"], $serieData[$i] , 2, $CfgDaten["StartTime"], $CfgDaten["EndTime"], 50);

         print_r($RawData);
         
			$pie[$i]   = 0;
		   for($j=0;$j<count($RawData);$j++)
    		{
        			$pie[$i]   += $RawData[$j]['Avg'];
    		}
		   unset($RawData);

	 }

liefert


Array
(
)
Array
(
)
Array
(
)
Array
(
)
....

und diese Code


    for($i=0;$i<count($serieData);$i++)
    {
         $RawData   = AC_GetAggregatedValues($CfgDaten["ArchiveHandlerId"], $serieData[$i] , 1, $CfgDaten["StartTime"], $CfgDaten["EndTime"], 50);

         print_r($RawData);
         
			$pie[$i]   = 0;
		   for($j=0;$j<count($RawData);$j++)
    		{
        			$pie[$i]   += $RawData[$j]['Avg'];
    		}
		   unset($RawData);

	 }

liefert


Array
(
    [0] => Array
        (
            [Avg] => 0.65938033313995
            [Duration] => 32704
            [LastTime] => 1347692703
            [Max] => 0.20801043081377
            [MaxTime] => 1347674703
            [Min] => 0.0020646931858153
            [MinTime] => 1347663903
            [TimeStamp] => 1347660000
        )

)
Array
(
    [0] => Array
        (
            [Avg] => 0.00067065367217101
            [Duration] => 32705
            [LastTime] => 1347692704
            [Max] => 6.7065367221453E-5
            [MaxTime] => 1347660304
            [Min] => 6.7065367212571E-5
            [MinTime] => 1347671104
            [TimeStamp] => 1347660000
        )

)
Array
(
    [0] => Array
        (
            [Avg] => 0.0074942707618746
            [Duration] => 32702
            [LastTime] => 1347692701
            [Max] => 0.00077103938606982
            [MaxTime] => 1347663901
            [Min] => 0.00073296892134067
            [MinTime] => 1347678301
            [TimeStamp] => 1347660000
        )

)
Array
(
    [0] => Array
        (
            [Avg] => 0.50366992070903
            [Duration] => 32702
            [LastTime] => 1347692701
            [Max] => 0.29322504978771
            [MaxTime] => 1347660301
            [Min] => 0.0057744157342654
            [MinTime] => 1347692701
            [TimeStamp] => 1347660000
        )

)
....

mich treibt nichts, mich nervt es einfach, wenn bei einem Support-Thema Fragen nicht beantwortet werden, Hinweise scheinbar ignoriert werden und im Stillen an ganz anderem Code geschraubt wird, als an dem, der hier öffentlich besprochen wird. Zumindest ist aus den zurückliegenden Postings der Eindruck entstanden.
Und ich habe reichlich Hinweise gegeben, wie AC_GetAggregated funktioniert.
Wenn man z.B. hartnäckig auf Aggegation „2“ (=Wochenintervall) besteht, den Auswertungszeitraum aber erst today, 0 Uhr starten lässt (PS: gestern war Freitag) - was soll denn da anderes als 0 rauskommen? Analog Aggregation „3“ (Monat)…

nochmal zur Erinnerung:

Auswertungszeitraum: n abgeschlossene Kalendermonate, „21446“ ist die ID der Verbrauchsdaten-Variable [Zähler], ‚$CfgDaten[„ArchiveHandlerId“]‘ enthält die Archive-Handler ID, muss zuvor definiert werden

// Daten aus IPS-DB auslesen
    $RawData   = AC_GetAggregatedValues($CfgDaten["ArchiveHandlerId"], 21446, 3, $CfgDaten["StartTime"], $CfgDaten["EndTime"], 50);
    //print_r($RawData);

// Daten verdichten
$pie02 = 0;
for($i=0;$i<count($RawData);$i++)
{
$pie02 += $RawData[$i][‚Avg‘];
}

das war der Eingangscode, den ich gepostet habe… und nun schau dir in Ruhe an, wie sich der Thread ff. entwickelt hat…

Hallo zusammen,

habe Highcharts nun seit dem Anfang der Entwicklung laufen und möchte ein großes Dankeschön an alle Entwickler und Unterstützer senden. Große Klasse.

Nachdem ich in den letzten Monaten nichts im System gemacht habe, steige ich leider wieder neu in die Konfig ein.

Ich möchte eine Int Variable die vier Zustände einnehmen kann darstellen und habe keine Idee wie ich das im Konfig Script einstellen kann. Hat vielleicht jemand eine Idee?

Grüße, Stromer

Hi Stromer,

hier mal ein Teil-Code, mit dem ich mir vorstellen könnte, das darzustellen. Allerdings ist Deine Frage auch sehr allgemein :wink:
ID gegen die Deiner var tauschen und los:


$serie         = array("Id"=>51881,
                "Name" =>"Ns-Status",
                "Unit"=>'4Zustände',
                "zIndex"=> 30,
                //"AggType"=>0,
                //"AggValue"=>"Avg",
                "RoundValue"=>0,
                "ReplaceValues"=>false,
                );
$serie['type']                             = "area";
$serie['step']                             = true;
$serie['yAxis']                         = 4;
$serie['visible']                         = false;
$serie['showInLegend']                     = true;
$serie['enableMouseTracking']             = true;
$serie['color']                         = '#FF0000';
$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;

Daran soll es nicht scheitern. Ich versuche gerade meine autom. Alarmanlage zu scripten und die ganzen Fehler :smiley: zu visualisieren.

Danke für Dein schnelles Feedback,
Stromer

dann würde ich evtl - um das Ganze etwas sprechender darzustellen - die Unit noch wie folgt definieren.
Statt:

"Unit"=>'4Zustände',

die Alarmzustände mit reinnehmen:

"Unit"=>array(0=>'ausgeschaltet', 1=>'AutoOn Anwesenheit' ....usw),

Irgendwo fehlt noch was. Muss dazusagen, das ist mein erstes Highchartsscript nach dem Update auf die neue Version.

<?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']= -1;  // 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())-10, 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 /*[Objekt #26841 existiert nicht]*/;
		$CfgDaten['WFCPopupTitle'] = "Alarmanlage Status";
	}

	// Ü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'] = "Alarmanlage HC2";

	// **************************************************************************************
	// *** 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'][2]['title']['text'] = "Status Alarm";
	$CfgDaten['yAxis'][2]['labels']['formatter'] = "@function() { if (this.value == 0) return 'Aus'; if (this.value == 1) return 'AutoOn Anwesenheit';if (this.value == 2) return 'AutoOn Abwesenheit' ;if (this.value == 3) return 'Manuell ON'}@";
	$CfgDaten['yAxis'][2]['allowDecimals'] = true;
	$CfgDaten['yAxis'][2]['showFirstLabel '] = false;
	$CfgDaten['yAxis'][2]['showLastLabel '] = false;
	$CfgDaten['yAxis'][2]['opposite'] = true;
	$CfgDaten['yAxis'][2]['labels']['rotation'] = 90;

	//$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.

	$serie         = array("Id"=>12625,
                "Name" =>"Ns-Status",
                "Unit"=>array(0=>'Alarmanlage AUS', 1=>'AutoOn Anwesenheit', 2=>'AutoOn Abwesenheit', 1=>'Manuell ON'),
                "zIndex"=> 30,
                //"AggType"=>0,
                //"AggValue"=>"Avg",
                "RoundValue"=>0,
                "ReplaceValues"=>false,
                );
$serie['type']                             = "area";
$serie['step']                             = true;
$serie['yAxis']                         = 4;
$serie['visible']                         = false;
$serie['showInLegend']                     = true;
$serie['enableMouseTracking']             = true;
$serie['color']                         = '#FF0000';
$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'] = 600; 		// 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
		}
	}



?>

Hi Stromer,

da waren noch ein paar Fehler im Script, u.A. :
die Achse war als „2“ definiert, in der Series-Definition war aber Achse 4 angegeben.
Ich hab die auch noch einen untergejubelt:

$serie['visible']                         = true;

war auf „false“

so sollte es funktionieren (bitte noch die Variablen-ID’s auf deine Umgebung anpassen):


<?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']= -1;  // 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']= 35562  /*[HighCarts\HighCharts  2.02]*/;                  // 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())-10, 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 /*[Objekt #26841 existiert nicht]*/;
        $CfgDaten['WFCPopupTitle'] = "Alarmanlage Status";
    }

    // Ü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'] = "Alarmanlage HC2";

    // **************************************************************************************
    // *** 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 == 0) return 'Aus'; if (this.value == 1) return 'AutoOn Anwesenheit';if (this.value == 2) return 'AutoOn Abwesenheit' ;if (this.value == 3) return 'Manuell ON'}@";
    $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'] = 90;

    //$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.

    $serie         = array("Id"=>10714  /*[EGhost Visualisierungssteuerung\Device-Rückmeldungen\A117 (Schlafen MBX02 Lenovo 7")\A117 Counter]*/,
                "Name" =>"Ns-Status",
                //"Unit"=>array(0=>'Alarmanlage AUS', 1=>'AutoOn Anwesenheit', 2=>'AutoOn Abwesenheit', 3=>'Manuell ON'),
                "zIndex"=> 30,
                //"AggType"=>0,
                //"AggValue"=>"Avg",
                "RoundValue"=>0,
                "ReplaceValues"=>false,
                );
$serie['type']                             = "area";
$serie['step']                             = true;
$serie['yAxis']                         = 0;
$serie['visible']                         = true;
$serie['showInLegend']                     = true;
$serie['enableMouseTracking']             = true;
$serie['color']                         = '#FF0000';
$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'] = 400;         // 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
        }
    }



?> 

Aber ich habe doch an keinem „ganz“ anderen Code geschraubt.
Ich versuche nach Bestem Wissen und Gewissen deine Hinweise zu verarbeiten und deine Frage zu beantworten.
Es ja schließlich mein Interesse.

Daran wird’s wohl liegen.

Ich hatte dich schon verstanden, wie der AC Befehl funktioniert.
Hatte aber völlig ausgeblendet, dass ich ihm ein Anfangszeitstempel mitgegeben habe.

So ist das manchmal mit den Bäumen und dem Wald.

Mic

Hallo Raketenschnecke.

schnell bist DU :), vielen Dank. Habe zwar noch die Fehlermeldungen aber sonst ist das schon mal eine Ausgangsbasis zum spielen.

Danke, Stromer

Hallo zusammen,

hat von Euch schon mal mit ?Axis.plotLines rumgespielt? und Erfahrungen damit?

Also ich komm mit dieser scheinbar trivialen Aufgabe auf keinen grünen Ast. Im JSFiddle funktionierts mit beiden Achsen.
Highcharts Demo - jsFiddle

In meinem TestChart garnicht. Ist ein einfacher Chart mit Temperaturen über einer Zeitachse.

Dass die plotLine über der xAxis nicht kommt mag ja noch ein falscher Datums-value sein. Nebenbei, in welchem Format muss ich denn den angeben?
Hier wie ich eine plotLine senkrecht zur xAxis über dem 12.9.12 angeben würde:

        $CfgDaten['xAxis']['plotlines']['value'] = 1347404400*1000; //1347404400 = 12.9.2012
        $CfgDaten['xAxis']['plotlines']['width'] = 5;
        $CfgDaten['xAxis']['plotlines']['color'] = 'red';

Die m.E. einfachere Übung ist eine horizontale Linie senkrecht zur yAxis. Wenn ich aber den Code:

    $CfgDaten['yAxis'][0]['plotLines']['width'] = 5;
    $CfgDaten['yAxis'][0]['plotLines']['color'] = 'blue';
    $CfgDaten['yAxis'][0]['plotLines']['value'] = 12;

eingebe bekomm ich nicht mal mehr eine series Linie.
Erwartet hätt ich eine blaue Linie bei 12°.

Anbei noch ein screenshot mit den Optionen xAxis.plotlines configuriert und den yAxis plotLines auskommentiert.

Hat jemand einen Tipp? Wenn ja auch gleich dazu wie ich mehrere plotLines configurieren kann?
Ziel ist es im Projekt Dämmerungszeiten die Sonnwenden und TagNachtGleichen hervorzuheben.

Nachtrag: mir ist gerade aufgefallen, dass ich in den Optionen plotlines der xAxis plotlines statt plotLines geschrieben habe. Wenn ich das korrigiere bekomm ich auch mit configurierter xAxis keinen Chart mehr. Ungekehrt mit den yAxis genau so. wenn ich falsch: plotlines schreibe bekomm ich wieder einen Chart.

hier schon mal y-Achse:

 // Definition Y-Achse 1
     $Ai                                                = 0;
    $CfgDaten["yAxis"][$Ai]['title']['text']                = "Temperatur (°C)";
    $CfgDaten["yAxis"][$Ai]['enabled']                        = true;
    $CfgDaten["yAxis"][$Ai]['Unit']                            = NULL;
    $CfgDaten["yAxis"][$Ai]['opposite']                        = false;
    $CfgDaten["yAxis"][$Ai]['allowDecimals']                = false;
    $CfgDaten["yAxis"][$Ai]['min']                            = NULL;
    $CfgDaten["yAxis"][$Ai]['max']                             = NULL;
    $CfgDaten["yAxis"][$Ai]['max']                            = NULL;
    $CfgDaten["yAxis"][$Ai]['offset']                        = 20;
    $CfgDaten["yAxis"][$Ai]['labels']['style']['color']= $Farb_Array['Temperatur'];
   $CfgDaten["yAxis"][$Ai]['title']['style']['color']    = $CfgDaten["yAxis"][$Ai]['labels']['style']['color'];

       $pl['value']                                                 = 19;
        $pl['width']                                                 = 4;
        $pl['color']                                                 = '#FF0000';
        $pl['label']['text']                                     = 'heißer Tag';
        $pl['label']['style']['color']                         = '#606060';
    $CfgDaten["yAxis"][$Ai]['plotLines'][]                 = $pl;

und die x-Achse:

 // Plotlines für x-Ache
   	$pl['value'] 												= 1347404400*1000; //1347404400 = 12.9.2012;
		$pl['width'] 												= 2;
		$pl['color'] 												= '#990000';
		$pl['label']['text'] 									= 'Raketenschnecken- Tag';
		$pl['label']['style']['color'] 						= '#606060';
	$CfgDaten["xAxis"]['plotLines'][] 						= $pl;

plotLines ist die korrekte Schreibweise, immer 1:1 aud der HC-API übernehmen. Wenn kein Chart angezeigt wird, ist das ein Feedback, dass der Code faul ist.

Ja danke, genau so geht’s mir auch.
Habe jetzt zwar dank RS Hilfe den Pie Chart generiert und mir noch ein Linechart drunter gelegt, suche nun aber schon seit Stunden, wie ich den Pie kleiner und nach links oben kriege.

Wäre nochmal für Hilfe dankbar.

hier eine komplette Pie-Series von mir. Das lebende Original ist auf meiner Webseite (SYS Health) zu sehen, incl. komplettem DL.

// IPS-Objekte Pie
        $serie = array();
    $serie['type']                                                 = 'pie';
    $serie['name']                                                 = 'Anzahl IPS-Objekte';
    $serie['data'][]                                             = array('name'=>'Scripts', 'color'=>'#A60000', 'Id' => 31341, 'Unit'=>"#");
    $serie['data'][]                                             = array('name'=>'Profiles', 'color'=>'#FF7400', 'Id' => 21783, 'Unit'=>"#");
    $serie['data'][]                                             = array('name'=>'Variables', 'color'=>'#1D7373', 'Id' => 17934, 'Unit'=>"#");
     $serie['data'][]                                             = array('name'=>'Instances', 'color'=>'#269926', 'Id' => 43543, 'Unit'=>"#");
     $serie['data'][]                                             = array('name'=>'Links', 'color'=>'#00CC00', 'Id' => 52222, 'Unit'=>"#");
     $serie['data'][]                                             = array('name'=>'Categories', 'color'=>'#33CCCC', 'Id' => 24637, 'Unit'=>"#");
     $serie['data'][]                                             = array('name'=>'Modules', 'color'=>'#FF9640', 'Id' => 33461, 'Unit'=>"#");
     $serie['data'][]                                             = array('name'=>'Events', 'color'=>'#FF4040', 'Id' => 38455, 'Unit'=>"#");
    $serie['allowPointSelect']                                 = true;
    $serie['cursor']                                             = 'pointer';
    $serie['center']                                             = array(130,100);
    $serie['size']                                                 = 200;
    $serie['innerSize']                                         = "60%";
    $serie['showInLegend']                                         = false;
    $serie['dataLabels']['enabled']                         = true;
    $serie['dataLabels']['color']                             = "#333333";
    $serie['dataLabels']['distance']                         = -45;
    $serie['bordercolor']                                         = "#333333";
     $CfgDaten["Series"][]                                         = $serie;


Danke :smiley:

Wenn man’s sieht ist’s einfach.

Hallo RS,
danke für Deine Hilfe. $pl war das Stichwort.
Damit klappts sowohl für x als auch für y.
Was bei beiden nicht funktioniert ist die Option ‚events‘. Wie muss ich die den configurieren, damit ein Ergebnis bekomme?
Des weiteren stellt sich für mich die Frage, ob u. wenn ja, wie ich die Schriftgrösse der Labels (im Thema) beeinflussen kann.

Fast vergessen, kann ich, und wenn ja wie? mehrere plotLines pro Achse definieren?

Anbei ein screenshot wie mein Test bisher aussieht. Ist der evtl überflüssig? Hab mit der Suche jedenfalls nix gefunden. Wenn alle Fragen geklärt sind kann ich wieder eine kleine Doku machen.

Hier die config der x-Achse:

// ab hier nur noch die config der xAxis Plotline (bisher leider nur eine)
    $pl['label']['text'] = 'test xAxis';
    $pl['color'] = 'blue'; // Farbe der Linie
    $pl['dashStyle'] = 'longdashdot'; // solid (default) longdashdot shortdashdot dot shortdash longdash // ob das auch noch mit anderen Zeichen geht?
//    $pl['events']['click'] = "@function(){$report.html('click')}@"; // hab ich so adhoc nicht hinbekommen.
//    $pl['events']['mouseover'] = "@function(){$report.html('mouseover')}@"; // hab ich so adhoc nicht hinbekommen. Syntax? fehlende Variable "report"?
//    $pl['events']['mouseout'] = "@function(){$report.html('mouseout')}@"; // hab ich so adhoc nicht hinbekommen.
   $pl['id'] = 'plotline-1';
    $pl['label']['align'] = 'left'; // left center right; hier keinen Effekt.
    $pl['label']['rotation'] = -45; // rotiert um den Punkt der mit $pl['label']['textAlign'] festgelegt wird. Einfluss haben auch noch die x und y Werte
    $pl['label']['style']['color'] = 'violet'; // Farbe der Beschrifung
    $pl['label']['style']['fontWeight'] = 'bold'; //TextStärke der Beschrifung
//    $pl['label']['style']['fontSize'] = 20; // keine Auswirkung ob mit o. ohne Hochkommas, ob fontSize o. fontsize. Ist ein "Schuss ins blaue", in den HC-Options-Reference  nicht gelistet.
    $pl['label']['textAlign'] = 'left'; // left center right; hat auswirkungen auf x + y
    $pl['label']['verticalAlign'] = 'middle'; // top middle bottom; hier die Mitte des Charts
    $pl['label']['x'] = 20; // verschiebt Text: - nach links; + nach rechts (absolut gesehen)
    $pl['label']['y'] = 10; // verschiebt Text: - nach oben; + nach unten (absolut gesehen)
    $pl['value'] = 1347184800*1000; //1347404400 = 12.9.2012;
    $pl['width'] = 1;
    $pl['zIndex'] = 4; // ab 4 wird bei mir die plotLine graphisch vor (überzeichnet die ChartLinien) den Chartlinien angezeigt // kann aber auch mit der Anzahl der Series zusammenhängen (nicht getestet). Zusammenhang unklar.

      $CfgDaten["xAxis"]['plotLines'][] = $pl;

Und hier die config der YAchse

// ab hier nur noch die config der yAxis Plotline (bisher leider nur eine)
    $pl['label']['text'] = 'test yAxis';
    $pl['color'] = 'red'; // Farbe der Linie
    $pl['dashStyle'] = 'shortdashdot'; // solid (default) longdashdot shortdashdot dot shortdash longdash // ob das auch noch mit anderen Zeichen geht?
//    $pl['events']['click'] = "@function(){$report.html('click')}@"; // hab ich so adhoc nicht hinbekommen.
//    $pl['events']['mouseover'] = "@function(){$report.html('mouseover')}@"; // hab ich so adhoc nicht hinbekommen. Syntax? fehlende Variable "report"?
//    $pl['events']['mouseout'] = "@function(){$report.html('mouseout')}@"; // hab ich so adhoc nicht hinbekommen.
    $pl['label']['align'] = 'left'; // left center right; position im Chart
    $pl['label']['rotation'] = 270; // rotiert um den Punkt der mit $pl['label']['textAlign'] festgelegt wird. Einfluss haben auch noch die x und y Werte
    $pl['label']['style']['color'] = 'orange'; // Farbe der Beschrifung
    $pl['label']['style']['fontWeight'] = 'bold'; //TextStärke der Beschrifung
//    $pl['label']['style']['fontSize'] = 20; // keine Auswirkung ob mit o. ohne Hochkommas
    $pl['label']['textAlign'] = 'rigth'; // // left center right; hat auswirkungen auf x + y
    $pl['label']['verticalAlign'] = 'bottom'; // top middle bottom
    $pl['label']['x'] = 50; // verschiebt Text: - nach links; + nach rechts (absolut gesehen)
    $pl['label']['y'] = -10; // verschiebt Text: - nach oben; + nach unten (absolut gesehen)
    $pl['value'] = 12.6;
    $pl['width'] = 1;
    $pl['zIndex'] = 4; // ab 4 wird bei mir die plotLine graphisch vor (überzeichnet die ChartLinien) den Chartlinien angezeigt // kann aber auch mit der Anzahl der Series zusammenhängen (nicht getestet). Zusammenhang unklar.
    $CfgDaten['yAxis'][0]['plotLines'][] = $pl;

auf die Schnelle:

Fast vergessen, kann ich, und wenn ja wie? mehrere plotLines pro Achse definieren?

Lösung: den Codeblock n-Mal untereinander anfügen

und vielleicht noch hierzu:

Des weiteren stellt sich für mich die Frage, ob u. wenn ja, wie ich die Schriftgrösse der Labels (im Thema) beeinflussen kann.

ich würds mal damit probieren (also den Parameter ins Array einbauen): http://api.highcharts.com/highcharts#title.style