PHP-Code:
$CfgDaten['HighChartScriptId']= 42061 /*[_Highcharts\Chart\HighCharts]*/; // ID des Highcharts Scripts
// Überschriften
$CfgDaten['title']['text']= "Offset - Unterschiedliche Zeiträume in einem Chart";
$CfgDaten['subtitle']['text']= "Temperaturen: %STARTTIME% + Vormonat + Vorjahr";
$CfgDaten['subtitle']['Ips']['DateTimeFormat']= "M Y"; // z.B.: "(D) d.m.Y H:i" (wird auch als Default herangezogen wenn nichts konfiguriert wurde)
// Zeitraum welcher dargestellt werden soll
$CfgDaten['StartTime'] = mktime(0,0,0, date("m", time()), date("d",time()), date("Y",time())-1); // 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 oder popup
// Tooltip anpassen
$CfgDaten['tooltip']['shared']=true;
$CfgDaten['tooltip']['crosshairs']=true;
$CfgDaten['tooltip']['formatter']="";
$CfgDaten['tooltip']['useHTML ']=true;
$CfgDaten['tooltip']['valueSuffix ']= " °C";
// y-Achse
$CfgDaten["yAxis"][0]['title']['text'] = "Temperaturen2";
$CfgDaten["yAxis"][0]['Unit'] = "°C";
$CfgDaten["yAxis"][0]['opposite'] = true;
$CfgDaten["yAxis"][0]['tickInterval'] = 5;
$CfgDaten["yAxis"][0]['min'] = - 10;
$CfgDaten["yAxis"][0]['max'] = 50;
$pb['from'] = -10.0;
$pb['to'] = 0.0;
$pb['color'] = 'rgba(68, 170, 213, 0.1)';
$pb['label']['text'] = 'Eistag';
$pb['label']['style']['color'] = '#606060';
$CfgDaten["yAxis"][0]['plotBands'][] = $pb;
$pb['from'] = 0;
$pb['to'] = 15;
$pb['color'] = 'rgba(255, 255, 0, 0.1)';
$pb['label']['text'] = 'kalter Tag';
$pb['label']['style']['color'] = '#606060';
$CfgDaten["yAxis"][0]['plotBands'][]= $pb;
$pb['from'] = 25;
$pb['to'] = 30;
$pb['color'] = 'rgba(255, 90, 0, 0.1)';
$pb['label']['text'] = 'Sommertag';
$pb['label']['style']['color'] = '#606060';
$CfgDaten["yAxis"][0]['plotBands'][]= $pb;
$pb['from'] = 30;
$pb['to'] = 50;
$pb['color'] = 'rgba(255, 0, 0, 0.1)';
$pb['label']['text'] = 'heißer Tag';
$pb['label']['style']['color'] = '#606060';
$CfgDaten["yAxis"][0]['plotBands'][]= $pb;
// akt Monat
$tStart1 = mktime(0,0,0, date("m", time()), 1, date("Y",time()));
$tEnd1 = mktime(23,59,59, date("m", time())+ 1, 0, date("Y",time()));
$offset1 = 0;
//Vormonat
$tStart2 = mktime(0,0,0, date("m", time())-1, 1, date("Y",time()));
$tEnd2 = mktime(23,59,59, date("m", time())+1-1, 0, date("Y",time()));
$offset2 = -($tStart2 - $tStart1);
//Vorjahr
$tStart3 = mktime(0,0,0, date("m", time()), 1, date("Y",time())-1);
$tEnd3 = mktime(23,59,59, date("m", time())+1, 0, date("Y",time())-1);
$offset3 = -($tStart3 - $tStart1);
// Zeitraum welcher dargestellt werden soll
$CfgDaten["StartTime"] = $tStart1;
$CfgDaten["EndTime"] = $tEnd1;
// Serie - akt. Monat
$serie = array();
$serie['Id'] = 23960 /*[Devices\Aussen\Aussenthermostat Balkon\TEMPERATURE]*/;
$serie['name'] = "Aktueller Monat";
$serie['Unit'] = NULL; // Einheit automatisch aus Variablenprofil
$serie['AggType'] = 0; // Stundenwerte
$serie['ReplaceValues'] = false;
$serie['RoundValue'] = 2;
$serie['type'] = 'spline';
$serie['step'] = false;
$serie['yAxis'] = 0;
$serie['shadow'] = true;
$serie['lineWidth'] = 2;
$serie['states']['hover']['lineWidth'] = 2;
$serie['marker']['enabled'] = false;
$serie['marker']['states']['hover']['enabled'] = true;
$serie['marker']['states']['hover']['symbol'] = 'circle';
$serie['marker']['states']['hover']['radius'] = 4;
$serie['marker']['states']['hover']['lineWidth'] = 1;
$serie['StartTime'] = $tStart1;
$serie['EndTime'] = $tEnd1;
$serie['Offset'] = $offset1;
$CfgDaten['series'][] = $serie;
// Serie - Vormonat
$serie = array();
$serie['Id'] = 23960 /*[Devices\Aussen\Aussenthermostat Balkon\TEMPERATURE]*/;
$serie['name'] = "Vormonat";
$serie['Unit'] = NULL; // Einheit automatisch aus Variablenprofil
$serie['AggType'] = 0; // Stundenwerte
$serie['ReplaceValues'] = false;
$serie['RoundValue'] = 2;
$serie['type'] = 'spline';
$serie['step'] = false;
$serie['yAxis'] = 0;
$serie['shadow'] = true;
$serie['lineWidth'] = 2;
$serie['dashStyle '] = 'Dot';
$serie['states']['hover']['lineWidth'] = 2;
$serie['marker']['enabled'] = false;
$serie['marker']['states']['hover']['enabled'] = true;
$serie['marker']['states']['hover']['symbol'] = 'circle';
$serie['marker']['states']['hover']['radius'] = 4;
$serie['marker']['states']['hover']['lineWidth'] = 1;
$serie['StartTime'] = $tStart2;
$serie['EndTime'] = $tEnd2;
$serie['Offset'] = $offset2;
$CfgDaten['series'][] = $serie;
// Serie - Vorjahr
$serie = array();
$serie['Id'] = 23960 /*[Devices\Aussen\Aussenthermostat Balkon\TEMPERATURE]*/;
$serie['name'] = "Vorjahr";
$serie['Unit'] = NULL; // Einheit automatisch aus Variablenprofil
$serie['AggType'] = 0; // Stundenwerte
$serie['ReplaceValues'] = false;
$serie['RoundValue'] = 2;
$serie['type'] = 'spline';
$serie['step'] = false;
$serie['yAxis'] = 0;
$serie['shadow'] = true;
$serie['lineWidth'] = 2;
$serie['dashStyle '] = 'ShortDot';
$serie['states']['hover']['lineWidth'] = 2;
$serie['marker']['enabled'] = false;
$serie['marker']['states']['hover']['enabled'] = true;
$serie['marker']['states']['hover']['symbol'] = 'circle';
$serie['marker']['states']['hover']['radius'] = 4;
$serie['marker']['states']['hover']['lineWidth'] = 1;
$serie['StartTime'] = $tStart3;
$serie['EndTime'] = $tEnd3;
$serie['Offset'] = $offset3;
$CfgDaten['series'][] = $serie;
$id = 40363 /*[_Highcharts\Beispiele\Highcharts 2.x Beispiele\leeres Cfg-Script - Aufruf durch einzelne Beispiele]*/;
$s = IPS_GetScript($id); // Id des Highcharts-Config-Scripts
include($s['ScriptFile']);