$[‚VariableValue‘][‚ValueType‘]
kann ich eben leider nicht finden.
Anbei der komplette Code:
<?
// bei der Konfiguration unbedingt auf die Groß/Kleinschreibung achten
$actID = 27889 /*[Haus global\Highcharts Graphen\Bewegungen im Außenbereich\Bewegungen\Startzeit jetzt minus]*/;
$rangeID = 41508 /*[Haus global\Highcharts Graphen\Bewegungen im Außenbereich\Bewegungen\Plotzeitraum]*/;
$aggID = 35923 /*[Haus global\Highcharts Graphen\Bewegungen im Außenbereich\Bewegungen\Aggregation]*/;
if($_IPS['SENDER'] == "WebFront")
{
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
if((GetValue($rangeID) == 0) && (GetValue($actID) == 0)) {
SetValue($aggID, 1);
}
}
$act = GetValue($actID);
$range = GetValue($rangeID);
$agg = GetValue($aggID);
switch($agg) {
case 1:
$agg_temp = 1;
break;
case 2:
$agg_temp = 7;
break;
case 3:
$agg_temp = 31;
break;
}
$ts = $act * $agg_temp;
$te = ($agg_temp * $range) + $ts;
IPS_SetHidden($_IPS['SELF'], true);
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"] = 41157 /*[Haus global\Highcharts 2.02\Highcharts_V2.02]*/; // ID des Highcharts Scripts
// Highcharts oder Highstock (default = Highcharts
// $CfgDaten['Ips']['ChartType'] = 'Highstock';
$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())-$te, date("Y",time())); // ab heute 00:00 Uhr
// $CfgDaten["EndTime"] = mktime(23,59,59, date("m", time()), date("d",time())-$ts, date("Y",time())); // ab heute 23:59 Uhr, oder //$CfgDaten["EndTime"] = time(); // = bis jetzt
$CfgDaten["EndTime"] = time(); // ab heute 23:59 Uhr, oder //$CfgDaten["EndTime"] = time(); // = bis jetzt
// damit wird die Art des Aufrufes festgelegt
$CfgDaten["RunMode"] = "file"; // file, script oder popup
if ($CfgDaten["RunMode"] == "popup")
{
$CfgDaten["WebFrontConfigId"] = 43291 /*[PC]*/;
$CfgDaten["WFCPopupTitle"] = "Ich bin der Text, welcher als Überschrift im Popup gezeigt wird";
}
// => ab V1.0003, neu
// => ab V1.0007 zusäztlich WeekValues, MonthValues, YearValues (-1 wenn keine entsprechenden Werte eingelesen werden sollen)
// 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"] = 14; // ist der Zeitraum größer als X Tage werden Tageswerte geladen
$CfgDaten["AggregatedValues"]["WeekValues"] = 30; // ist der Zeitraum größer als X Tage werden Wochenwerte geladen
$CfgDaten["AggregatedValues"]["MonthValues"] = 40; // 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"] = true;
// => ab V1.0007, Änderung der 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 404 - This page was not found, please contact us if this url has been working earlier.
// *** title *** siehe 404 - This page was not found, please contact us if this url has been working earlier.
//$CfgDaten['title']['text'] = "Bewegungsaktivitäten im Außenbereich";
// *** subtitle *** siehe 404 - This page was not found, please contact us if this url has been working earlier.
//$CfgDaten['subtitle']['text'] = "Zeitraum: %STARTTIME% - %ENDTIME%"; // "" = Automatisch über Zeitraum
//$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)
// Datendefinition
$serie['Id'] = 42109 /*[Haus global\Bewegungen außen\Bewegung Kamera Tor\Bewegung am Tor]*/;
$serie['type'] = "line";
$serie['Name'] = "TOR";
$serie['AggType'] = 0;
$serie['Unit'] = array(false=>'deaktiv', true=>'aktiv');
$serie['zIndex'] = 10;
$serie['color'] = "#AA2AFF";
$serie['step'] = true;
$serie['ReplaceValues'] = array(false=>0, true=>0.4);
// $serie['ReplaceValues'] = array(false=>2.4, true=>2.8);
$serie['yAxis'] = 0;
$serie['visible'] = true;
$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;
$CfgDaten["Series"][] = $serie;
// Datendefinition
$serie['Id'] = 25734 /*[Haus global\Bewegungen außen\Bewegung Kamera Balkon\Bewegung auf dem Balkon]*/;
$serie['type'] = "line";
$serie['Name'] = "BALKON";
$serie['AggType'] = 0;
$serie['Unit'] = array(false=>'deaktiv', true=>'aktiv');
$serie['zIndex'] = 10;
$serie['color'] = "#2AAAFF";
$serie['step'] = true;
$serie['ReplaceValues'] = array(false=>0.6, true=>1);
$serie['yAxis'] = 0;
$serie['visible'] = true;
$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;
$CfgDaten["Series"][] = $serie;
// Datendefinition
$serie['Id'] = 12260 /*[Haus global\Bewegungen außen\Bewegungsmelder hinterm Haus\MOTION]*/;
$serie['type'] = "line";
$serie['Name'] = "HINTER DEM HAUS";
$serie['AggType'] = 0;
$serie['Unit'] = array(false=>'deaktiv', true=>'aktiv');
$serie['zIndex'] = 10;
$serie['color'] = "#FF00D4";
$serie['step'] = true;
$serie['ReplaceValues'] = array(false=>1.2, true=>1.6);
$serie['yAxis'] = 0;
$serie['visible'] = true;
$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;
$CfgDaten["Series"][] = $serie;
// Datendefinition
$serie['Id'] = 18741 /*[Haus global\Bewegungen außen\Bewegungsmelder beim Wechselrichter\MOTION]*/;
$serie['type'] = "line";
$serie['Name'] = "WECHSELRICHTER";
$serie['AggType'] = 0;
$serie['Unit'] = array(false=>'deaktiv', true=>'aktiv');
$serie['zIndex'] = 10;
$serie['color'] = "#FFFF7F";
$serie['step'] = true;
$serie['ReplaceValues'] = array(false=>1.8, true=>2.2);
$serie['yAxis'] = 0;
$serie['visible'] = true;
$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;
$CfgDaten["Series"][] = $serie;
// Datendefinition
$serie['Id'] = 29148 /*[Haus global\Bewegungen außen\Bewegungsmelder beim Schuppen\MOTION]*/;
$serie['type'] = "line";
$serie['Name'] = "SCHUPPEN";
$serie['AggType'] = 0;
$serie['Unit'] = array(false=>'deaktiv', true=>'aktiv');
$serie['zIndex'] = 10;
$serie['color'] = "#D4AAFF";
$serie['step'] = true;
$serie['ReplaceValues'] = array(false=>2.4, true=>2.8);
$serie['yAxis'] = 0;
$serie['visible'] = true;
$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;
$CfgDaten["Series"][] = $serie;
// Datendefinition
$serie['Id'] = 30617 /*[Haus global\Bewegungen außen\Bewegung Kamera Haustür\Bewegung an der Haustür]*/;
$serie['type'] = "line";
$serie['Name'] = "HAUSTÜR BLUEIRIS";
$serie['AggType'] = 0;
$serie['Unit'] = array(false=>'deaktiv', true=>'aktiv');
$serie['zIndex'] = 10;
$serie['color'] = "#7FAAAA";
$serie['step'] = true;
$serie['ReplaceValues'] = array(false=>3.0, true=>3.4);
$serie['yAxis'] = 0;
$serie['visible'] = true;
$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;
$CfgDaten["Series"][] = $serie;
// Datendefinition
$serie['Id'] = 30664 /*[Haus global\Anwesenheit\Alarmanlage de/aktivieren\Alarmanlagen Status]*/;
$serie['type'] = "line";
$serie['Name'] = "ALARMANLAGE";
$serie['AggType'] = 0;
$serie['Unit'] = array(false=>'deaktiv', true=>'aktiv');
$serie['zIndex'] = 10;
$serie['color'] = "#7FFFAA";
$serie['step'] = true;
$serie['ReplaceValues'] = array(false=>3.6, true=>4.0);
$serie['yAxis'] = 0;
$serie['visible'] = true;
$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;
$CfgDaten["Series"][] = $serie;
// --------------------------------------------------------------------------
// y-Achsen-Definition
// --------------------------------------------------------------------------
$CfgDaten["yAxis"][0]['title']['text'] = "";
$CfgDaten["yAxis"][0]['Unit'] = "";
$CfgDaten["yAxis"][0]['opposite'] = false;
$CfgDaten["yAxis"][0]['tickInterval'] = 0.2;
$CfgDaten["yAxis"][0]['min'] = 0;
$CfgDaten["yAxis"][0]['max'] = 4.0;
$CfgDaten["yAxis"][0]['title']['style']['color'] = "#FFFFFF";
$CfgDaten["yAxis"][0]['labels']['style']['color'] = "#FFFFFF";
$CfgDaten["yAxis"][0]['labels']['staggerLines'] = 2;
$CfgDaten['yAxis'][0]['labels']['formatter'] = "@function() {
if (this.value == 0) return ''; if (this.value == 0.4) return '';
if (this.value == 0.6) return ''; if (this.value == 1.0) return '';
if (this.value == 1.2) return ''; if (this.value == 1.6) return '';
if (this.value == 1.8) return ''; if (this.value == 2.2) return '';
if (this.value == 2.4) return ''; if (this.value == 2.8) return '';
if (this.value == 3.0) return ''; if (this.value == 3.4) return '';
if (this.value == 3.6) return ''; if (this.value == 4.0) return '';
}@";
// PlotBands generieren
for($sensor=0; $sensor < count($CfgDaten['Series']); $sensor++) {
$pb['zIndex'] = NULL;
$pb['from'] = $CfgDaten["Series"][$sensor]['ReplaceValues'][0];
$pb['to'] = $CfgDaten["Series"][$sensor]['ReplaceValues'][1];
$pb['color'] = 'rgba(96, 96, 96, 0.3)';
$pb['label']['text'] = $CfgDaten["Series"][$sensor]['Name'];
$pb['label']['verticalAlign'] = 'center';
$pb['label']['align'] = 'left';
$pb['label']['x'] = 5;
$pb['label']['y'] = 15;
$pb['label']['style']['color'] = $CfgDaten["Series"][$sensor]['color'];
$CfgDaten["yAxis"][0]['plotBands'][] = $pb;
}
// Highcharts-Theme
$CfgDaten['HighChart']['Theme']="ips_andi.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'] = 500; // in px
// weitere Optionen +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Chart-Config "Credits"
$CfgDaten['credits']['enabled'] = true;
$CfgDaten['credits']['href'] = "";
$CfgDaten['credits']['text'] = "";
$CfgDaten['credits']['position']['align'] = "right";
$CfgDaten['credits']['position']['x'] = -10;
$CfgDaten['credits']['position']['verticalAlign'] = "top";
$CfgDaten['credits']['position']['y'] = 15;
// *** exporting *** 404 - This page was not found, please contact us if this url has been working earlier.
$CfgDaten['exporting']['enabled'] = false;
$CfgDaten['navigation']['enabled'] = false;
// Chart-Optionen "Tooltip"
$CfgDaten['tooltip']['useHTML'] = true;
$CfgDaten['tooltip']['shared'] = true;
$CfgDaten['tooltip']['crosshairs'][] = array('width' =>1,'color' =>'grey','dashStyle'=>'dashdot' );
$CfgDaten['tooltip']['crosshairs'][] = array('width' =>1,'color' =>'grey','dashStyle'=>'dashdot' );
$CfgDaten['tooltip']['formatter'] = "@function() {
var s = '<b>' + Highcharts.dateFormat('%d.%m.%Y, %H:%M', this.x) +'</b><br/>';
$.each(this.points, function(i, point) {
if (point.y == 0) unit = 'aus'; if (point.y == 0.4) unit = 'ein';
if (point.y == 0.6) unit = 'aus'; if (point.y == 1.0) unit = 'ein';
if (point.y == 1.2) unit = 'aus'; if (point.y == 1.6) unit = 'ein';
if (point.y == 1.8) unit = 'aus'; if (point.y == 2.2) unit = 'ein';
if (point.y == 2.4) unit = 'aus'; if (point.y == 2.8) unit = 'ein';
if (point.y == 3.0) unit = 'aus'; if (point.y == 3.4) unit = 'ein';
if (point.y == 3.6) unit = 'aus'; if (point.y == 4.0) unit = 'ein';
if (point.y == 4.2) unit = 'aus'; if (point.y == 4.6) unit = 'ein';
if (point.y == 4.8) unit = 'aus'; if (point.y == 5.2) unit = 'ein';
if (point.y == 5.4) unit = 'aus'; if (point.y == 5.8) unit = 'ein';
var step = {}[this.series.name];
s += '<br/>' + '<span style=color:' + point.series.color + '>' + point.series.name +': </span><b>' + unit + '</b>';
});
return s;
}
@";
$CfgDaten['legend']['enabled'] = false;
$CfgDaten['legend']['borderRadius'] = 0;
$CfgDaten['legend']['borderColor'] = "#1b2b3b";
$CfgDaten['legend']['shadow'] = true;
$CfgDaten['chart']['zoomType'] = "x";
$CfgDaten['chart']['animation'] = false;
// -------------------------------------------------------------------------------------------------------------------------------------
// und jetzt los ......
$s=IPS_GetScript($CfgDaten["HighChartScriptId"]); // Id des Highcharts-Scripts
include($s['ScriptFile']);
// => ab V1.0003
// hier werden die CfgDaten geprüft und bei Bedarf vervollständigt
$CfgDaten = CheckCfgDaten($CfgDaten);
// => ab V1.0003 neu, ab V1.0006 Erweiterung Parameter "popup"
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
}
}
?>
Danke!