Q&A Highcharts V2.0

und hier mal ein Beispiel für deine andere Frage:

Oder kann ich mittels einem Script bestimmte Variablen an das Config_Highcharts_V2.02.ips übergeben? Wenn ja dann wie? Und wie muss ich die Variablen in der Config_Highcharts_V2.02.ips gestalten, dass sie die übergebenen Variablen verarbeitet?

Grundsätzlich musst du immer sicherstellen, das das Config-Script eine HTML-Box zum beschreiben findet. Dabei können sich auch mehrere Config-Scripte eine HTML-Box teilen (wenn man z.B. abwechselnd verschiedene Charts in der selben Box im WFE sehen will).

Ich habe ein Script, welches nacheinander 10 Config-Scripte aufruft und ausführen lässt. Dabei wird der Start- und Endzeitraum übergeben:

 // 12 Monate Gesamt Start- und EndTimeStamp
$StartTime = mktime(0,0,0, date("m", time()) + $tsM_Offset, 1, date("Y", time())-1) ;
$EndTime = mktime(23,59,59, date("m", time()) + $teM_Offset, $teD , date("Y", time()));

// 12 Monate Gesamt Temperatur Aussen
 $return = IPS_RunScriptEx(56067, Array("StartTime" => $StartTime, "EndTime" => $EndTime));


im Config-Script wird der Start- und Endzeitpunkt wie folgt übernommen (die if-Bedingung prüft, ob das Config-Script von einem anderen Script gestartet wurde, wenn ja übernimmt es die übergebenen Timestamps, wenn nein nimmt es die nach dem else definierten Timestamps):

// Zeitraum welcher dargestellt werden soll
if ($_IPS['SENDER'] != "Execute")
    {
         $CfgDaten["StartTime"]  = $_IPS['StartTime'];  // TimeStamp von Script #30941
         $CfgDaten["EndTime"]    = $_IPS['EndTime'];    // TimeStamp von Script #30941
    }
    else
    {
         $CfgDaten["StartTime"]  = mktime(0,0,0, date("m", time())+ $tsM_Offset, 1, date("Y",time()));
         $CfgDaten["EndTime"]    = mktime(23,59,59, date("m", time()), date("d", time())-1 , date("Y",time()));
    }

für Deinen Fall könnte man es wie folgt lösen:

Aufruf des Config-Script und Übergabe der Var-IDs an das Configscript

// remote HC-Confdigscript aufrufen und Series-Variablen übergeben
$return         = IPS_RunScriptEx(56067 , Array("Temperatur" => 12345, "Feuchte" => 23456));

und Übernahme im aufgerufenen Configscript + Zuweisung der übergeben Var-ID’s:

// im HC Config-Script übergebene Variablen zuordnen
    // Series Temperatur
$serie        = array("Id"=>$_IPS['Temperatur'],
                        //"Data" => $NS_today_array,
                         "Name" =>"Temperatur",
 // Series Feuchte 
$serie    = array("Id"=>$_IPS['Feuchte'],
                        //"Data" => $NS_today_array,
                         "Name" =>"rel. Feuchte",

zum Troubleshooting baust du dir am besten ganz oben im Config-Script ein „print_r($_IPS);“ ein, dann kannst du genau sehen, wie die übergebnen Daten im Configscript ankommen

Hallo RS,
darf ich Dich so nennen?
Danke für Deine Hilfe. Werd mal versuchen das zu verstehen und umzusetzten. Melde mich dann wieder mit dem Ergebnis (und sicher weiteren Fragen).

Hallo zusammen,
hab wohl versucht zu schnell zu tief einzusteigen. Ich scheitere gerade schon damit wenn ich die Daten direkt in der Config angebe.
Ziel: ich möchte Daten (ein Datum und eine Uhrzeit (Sonnenaufgang für jeden Tag im Jahr)) aus einer MySQL im WF via HC anzeigen.
Bisher gemacht: im Configscript die daten aus MySQL geholt und in ein Array geschrieben. Kann ich auch ausgeben lassen:

Array ( [0] => Array ( [DateX] => 01.01.2012 [SunRise] => 08:16 ) [1] => Array ( [DateX] => 02.01.2012 [SunRise] => 08:16 ) [2] => Array ( [DateX] => 03.01.2012 [SunRise] => 08:16 ) [3] => Array ( [DateX] => 04.01.2012 [SunRise] => 08:16 ) [4] => Array ( [DateX] => 05.01.2012 [SunRise] => 08:15

Im WF wird mir aber nur der Text des Arrays angezeigt statt eines Graphen. Hier die Config.

<?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

    //MySQL Connect Daten
    $MySQLConn=mysql_connect($MySQLIP.$MySQLPort, $MySQLAdmin, $MySQLAdminPW);
    $db = $IPS_DB;
    $SQLTable = $TBL_Wetter_Daemmerung;
    $db_selected = mysql_select_db($db, $MySQLConn);

    // IPS Variablen ID´s
    $CfgDaten['ContentVarableId']= 54396  /*[Wetter\Astronomie\HC\MySQL_SunRiseSet]*/;  // 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']= 37577 /*[HighCharts\Highcharts_V2.02.ips]*/ ;                  // 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'] = date("d-M-Y", mktime(0, 0, 0, 1, 1, 2012));
    $CfgDaten['EndTime'] = date("d-M-Y", mktime(0, 0, 0, 12, 31, 2012)); // 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'] = 26841;
        $CfgDaten['WFCPopupTitle'] = "Ich bin der Text, welcher als Überschrift im Popup gezeigt wird";
    }

    // Ü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'] = "Chart-Überschrift";

    // **************************************************************************************
    // *** 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'] = "Sonnenauf und Untergang";
    $CfgDaten['yAxis'][0]['Unit'] = "h";
    $CfgDaten['yAxis'][0]['opposite'] = false;
    $CfgDaten['yAxis'][0]['tickInterval'] = 5;
    $CfgDaten['yAxis'][0]['min'] = 0;
    $CfgDaten['yAxis'][0]['max'] = 24;

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


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

        $sql_Ergebnis = mysql_query("SELECT DateX, SunRise
                                                FROM " . $SQLTable .";")
                                                OR die("'".$sql_Ergebnis."':".mysql_error());
            $i = 0;
                while($data = mysql_fetch_array($sql_Ergebnis, MYSQL_ASSOC))
                {
                //print_r(array("DateX"=>date("d.m.Y",$data['DateX'])));
                    $DataForSerie[] = array("DateX"=>date("d.m.Y",$data['DateX']), "SunRise"=>date("H:i",$data['SunRise']));
                //$DataForSerie[] = array("TimeStamp"=>date("d.m.Y",$data['DateX']), "Value"=>date("H:i",$data['SunRise']));
                     }
                print_r($DataForSerie);
            $i++;

    $serie = array();
    //$serie = array("Id"=>0, "Data"=>$DataForSerie, "Name" =>"Manueller Werte 1",    "Unit"=>"°C", "ReplaceValues"=>false);
    $serie['name'] = "Sonnenaufgang";
    //$serie['Id'] = 54396  /*[Wetter\Astronomie\HC\MySQL_SunRiseSet]*/;
    $serie['Unit'] = "";
    $serie['ReplaceValues'] = false;
    $serie['RoundValue'] = 0;
    $serie['type'] = "spline";
    $serie['yAxis'] = 0;
    $serie['marker']['enabled'] = true;
    $serie['shadow'] = true;
    $serie['lineWidth'] = 1;
    $serie['states']['hover']['lineWidth'] = 2;
    $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['data'] = $DataForSerie; //für eigene daten aus MySQL. zeile aus http://www.ip-symcon.de/forum/f52/q-highcharts-v2-0-a-18312/index5.html#post164205
    $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
        }
    }



?>


und was genau ist jetzt dein Problem? Oder gibt es gar keines?

Vermutung: Du hast noch ein Problem mit der datenübergabe.
Ein Datenarray muss in folgendem Format an HC übergeben werden (die ältesten Daten zuerst):

Array
(
    [0] => Array
        (
            [Value] => 25
            [TimeStamp] => 1345241109
        )

    [1] => Array
        (
            [Value] => 19
            [TimeStamp] => 1345241112
        )

    [2] => Array
        (
            [Value] => 37
            [TimeStamp] => 1345241619
        )

    [3] => Array
        (
            [Value] => 17
            [TimeStamp] => 1345242486
        )

Mein Problem ist, dass im WF statt eines Graphen das Array als Text ausgegeben wird. Die Darstellung im Popup (print_r($DataForSerie)) ist unterschiedlich zur Darstellung in der html-box. Wenn ich das print_r raus nehme bekomme ich Fehler in der html-Box angzeigt:

IPS-Err-PHP 2012-08-18 14:08:25.755 Notice: A non well formed numeric value encountered Error in Script I:\scripts\Highcharts_V2.02.ips.php on Line 381 133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out) 45 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err) in IPSLogger_PhpErrorHandler 381 in Highcharts_V2.02.ips.php (call date) 259 in Highcharts_V2.02.ips.php (call CheckCfg_StartEndTime) 177 in Highcharts_V2.02.ips.php (call CheckCfg) 239 in Config_HC_2.02_SunRiseSet.php (call CreateConfigString) 29 in webfront\user\Highcharts\IPS_Template.php (call include_once)
Notice: A non well formed numeric value encountered in I:\scripts\Highcharts_V2.02.ips.php on line 381
IPS-Err-PHP 2012-08-18 14:08:25.796 Notice: A non well formed numeric value encountered Error in Script I:\scripts\Highcharts_V2.02.ips.php on Line 382 133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out) 45 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err) in IPSLogger_PhpErrorHandler 382 in Highcharts_V2.02.ips.php (call date) 259 in Highcharts_V2.02.ips.php (call CheckCfg_StartEndTime) 177 in Highcharts_V2.02.ips.php (call CheckCfg) 239 in Config_HC_2.02_SunRiseSet.php (call CreateConfigString) 29 in webfront\user\Highcharts\IPS_Template.php (call include_once)
Notice: A non well formed numeric value encountered in I:\scripts\Highcharts_V2.02.ips.php on line 382
IPS-Err-PHP 2012-08-18 14:08:25.830 Notice: A non well formed numeric value encountered Error in Script I:\scripts\Highcharts_V2.02.ips.php on Line 1487 133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out) 45 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err) in IPSLogger_PhpErrorHandler 1487 in Highcharts_V2.02.ips.php (call date) 670 in Highcharts_V2.02.ips.php (call CreateArrayForSubTitle) 179 in Highcharts_V2.02.ips.php (call GetHighChartsCfgFile) 239 in Config_HC_2.02_SunRiseSet.php (call CreateConfigString) 29 in webfront\user\Highcharts\IPS_Template.php (call include_once)
Notice: A non well formed numeric value encountered in I:\scripts\Highcharts_V2.02.ips.php on line 1487
IPS-Err-PHP 2012-08-18 14:08:25.849 Notice: A non well formed numeric value encountered Error in Script I:\scripts\Highcharts_V2.02.ips.php on Line 1488 133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out) 45 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err) in IPSLogger_PhpErrorHandler 1488 in Highcharts_V2.02.ips.php (call date) 670 in Highcharts_V2.02.ips.php (call CreateArrayForSubTitle) 179 in Highcharts_V2.02.ips.php (call GetHighChartsCfgFile) 239 in Config_HC_2.02_SunRiseSet.php (call CreateConfigString) 29 in webfront\user\Highcharts\IPS_Template.php (call include_once)
Notice: A non well formed numeric value encountered in I:\scripts\Highcharts_V2.02.ips.php on line 1488
IPS-Err-PHP 2012-08-18 14:08:25.870 Notice: A non well formed numeric value encountered Error in Script I:\scripts\Highcharts_V2.02.ips.php on Line 1573 133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out) 45 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err) in IPSLogger_PhpErrorHandler 1573 in Highcharts_V2.02.ips.php (call date) 1523 in Highcharts_V2.02.ips.php (call CreateDateUTC) 674 in Highcharts_V2.02.ips.php (call CreateArrayForXAxis) 179 in Highcharts_V2.02.ips.php (call GetHighChartsCfgFile) 239 in Config_HC_2.02_SunRiseSet.php (call CreateConfigString) 29 in webfront\user\Highcharts\IPS_Template.php (call include_once)
Notice: A non well formed numeric value encountered in I:\scripts\Highcharts_V2.02.ips.php on line 1573
IPS-Err-PHP 2012-08-18 14:08:25.886 Notice: A non well formed numeric value encountered Error in Script I:\scripts\Highcharts_V2.02.ips.php on Line 1574 133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out) 45 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err) in IPSLogger_PhpErrorHandler 1574 in Highcharts_V2.02.ips.php (call date) 1523 in Highcharts_V2.02.ips.php (call CreateDateUTC) 674 in Highcharts_V2.02.ips.php (call CreateArrayForXAxis) 179 in Highcharts_V2.02.ips.php (call GetHighChartsCfgFile) 239 in Config_HC_2.02_SunRiseSet.php (call CreateConfigString) 29 in webfront\user\Highcharts\IPS_Template.php (call include_once)
Notice: A non well formed numeric value encountered in I:\scripts\Highcharts_V2.02.ips.php on line 1574
IPS-Err-PHP 2012-08-18 14:08:25.902 Notice: A non well formed numeric value encountered Error in Script I:\scripts\Highcharts_V2.02.ips.php on Line 1574 133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out) 45 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err) in IPSLogger_PhpErrorHandler 1574 in Highcharts_V2.02.ips.php (call date) 1523 in Highcharts_V2.02.ips.php (call CreateDateUTC) 674 in Highcharts_V2.02.ips.php (call CreateArrayForXAxis) 179 in Highcharts_V2.02.ips.php (call GetHighChartsCfgFile) 239 in Config_HC_2.02_SunRiseSet.php (call CreateConfigString) 29 in webfront\user\Highcharts\IPS_Template.php (call include_once)
Notice: A non well formed numeric value encountered in I:\scripts\Highcharts_V2.02.ips.php on line 1574
IPS-Err-PHP 2012-08-18 14:08:25.917 Notice: A non well formed numeric value encountered Error in Script I:\scripts\Highcharts_V2.02.ips.php on Line 1573 133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out) 45 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err) in IPSLogger_PhpErrorHandler 1573 in Highcharts_V2.02.ips.php (call date) 1528 in Highcharts_V2.02.ips.php (call CreateDateUTC) 674 in Highcharts_V2.02.ips.php (call CreateArrayForXAxis) 179 in Highcharts_V2.02.ips.php (call GetHighChartsCfgFile) 239 in Config_HC_2.02_SunRiseSet.php (call CreateConfigString) 29 in webfront\user\Highcharts\IPS_Template.php (call include_once)
Notice: A non well formed numeric value encountered in I:\scripts\Highcharts_V2.02.ips.php on line 1573
IPS-Err-PHP 2012-08-18 14:08:25.934 Notice: A non well formed numeric value encountered Error in Script I:\scripts\Highcharts_V2.02.ips.php on Line 1574 133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out) 45 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err) in IPSLogger_PhpErrorHandler 1574 in Highcharts_V2.02.ips.php (call date) 1528 in Highcharts_V2.02.ips.php (call CreateDateUTC) 674 in Highcharts_V2.02.ips.php (call CreateArrayForXAxis) 179 in Highcharts_V2.02.ips.php (call GetHighChartsCfgFile) 239 in Config_HC_2.02_SunRiseSet.php (call CreateConfigString) 29 in webfront\user\Highcharts\IPS_Template.php (call include_once)
Notice: A non well formed numeric value encountered in I:\scripts\Highcharts_V2.02.ips.php on line 1574
IPS-Err-PHP 2012-08-18 14:08:25.960 Notice: A non well formed numeric value encountered Error in Script I:\scripts\Highcharts_V2.02.ips.php on Line 1574 133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out) 45 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err) in IPSLogger_PhpErrorHandler 1574 in Highcharts_V2.02.ips.php (call date) 1528 in Highcharts_V2.02.ips.php (call CreateDateUTC) 674 in Highcharts_V2.02.ips.php (call CreateArrayForXAxis) 179 in Highcharts_V2.02.ips.php (call GetHighChartsCfgFile) 239 in Config_HC_2.02_SunRiseSet.php (call CreateConfigString) 29 in webfront\user\Highcharts\IPS_Template.php (call include_once)
Notice: A non well formed numeric value encountered in I:\scripts\Highcharts_V2.02.ips.php on line 1574
Chart-ÜberschriftZeitraum: (Do) 01.01.1970 01:00 - (Do) 01.01.1970 01:00Sonnenaufgang01:00:0201:00:0401:00:0601:00:0801:00:1001:00:1201:00:1401:00:1601:00:1801:00:2001:00:2201:00:2401:00:2601:00:2801:00:300 h5 h10 h15 h20 h25 hSonnenauf und Untergang

html-box.png

print_r-popup.png

nun, solche Ausgaben kommen immer dann, wenn irgendwas schief läuft. Hast Du das Datenarray inzwischen mal so versuch zu übergeben, wie ich es oben gezeigt habe?

vielleicht sollten wir noch einen Schritt zurück gehen: hast du das aktuelle Config-Script mal mit ID’s statt Arrays gefüttert? damit könnte man zumindest die Fehlerquelle „Array“ ausschließen und checken, ob das Config-Script ok ist

Hallo RS,
danke für den Tipp. Hab noch mal ganz von vorn angefangen. Meine Fehler sind/waren multipel. Der erste Fehler war, dass ich wohl im Darstellungszeitraum (woher auch immer ich die Vorlage hatte) Datum u. Uhrzeit mit date() falsch oder überhaupt auf das Datum beschränkt habe.

Jetzt bekomme ich in der html-Box zumindest mal keine Fehler mehr, aber auch keine brauchbaren Graphen. Ich hab wohl die Daten (Sonnenaufgangszeiten) im falschen Format (UnixZeit mit Datum) in die MySQL geschrieben. Dadurch bekomme ich jetzt eine schöne fast gerade Linie im Chart …

Nun meine Frage: in welchem Format muss ich Uhrzeiten nach MySQL schreiben ODER in MySQL gespeicherte UnixZeiten wieder holen und formatieren, damit ich sie mit HC in einer schönen Kurve darstellen kann. In meinem Fall sind es Sonnenaufgangszeiten die ich darstellen möchte.

Hallo Wolfgang,

die Timestamps werden als IPS-üblicher UNIX-TS übergeben (Sekunden seit 01.01.1970):


[TimeStamp] => 1345241619

im HC-Script (Hauptscript) werden diese in msec (also mit 1000 multpliziert) weil JS das so haben möchte. Spielt aber hier keine Rolle.
Zur Fehlersuche habe ich mir angewöhnt, zusätzlich zum UNIX-Timestamp einen weiteren Timestamp in einem lesbaren Format einzufügen (HC juckt das nicht):

[human_Date] => 12.08.2012, 20:15:00

Allerdings kann ich mir überhaupt nichts unter „Darstellung der Sonnenaufgangszeit“ vorstellen. Wäre sicher hilfreich, wenn du das genauer beschribst und Screenshots + das Datenarray (idealerweise mit humanDate) liefern kannst

Hallo,

habe bei der Parameterübergabe nach Bsp. #181 das Problem das die Parameter nicht im Config-Script ankommen.

Das aufrufende Script (57317):

<?
$StartTime = mktime(0,0,0, date("m", time()), date("d",time()), date("Y",time()));
$EndTime = mktime(23,59,59, date("m", time()), date("d",time()), date("Y",time()));

$par = Array("StartTime" => $StartTime, "EndTime" => $EndTime);
$return = IPS_RunScriptEx(25889, $par);
?>

Im Config-Script 25889 erhallte ich über print_r($_IPS) nicht die Parameter sondern als Sender das WebInterface
Array ( [INSTANCE] => 30647 [SENDER] => WebInterface [THREAD] => 7 )

Was mache ich hier falsch ?

Gruß
zkra

welches Script rufst du aus dem WFE auf? Code? Screenshot vom Objektbaum? Screenshot vom WFE?

Das Script „Auswahl“ soll mit Parameterübgabe das Script „Config Grafik06“ aufrufen.

Inhalt Script Auswahl

<?
$StartTime = mktime(0,0,0, date("m", time()), date("d",time()), date("Y",time()));
$EndTime = mktime(23,59,59, date("m", time()), date("d",time()), date("Y",time()));

$par = Array("StartTime" => $StartTime, "EndTime" => $EndTime);
$return = IPS_RunScriptEx(25889, $par);
?>

Inhalt Script Config Grafik06

<?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']= 55786 /*[Zk-WebFront\Statistik\Grafik 06\Grafik 06]*/;  // 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']= 47888 /*[IPSHighcharts\Highcharts]*/;  				// 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)
   print_r($_IPS);
   //if ($_IPS['SENDER'] != "Execute") {                  // Zk
   //      $CfgDaten["StartTime"]  = $_IPS['StartTime'];  // Zk TimeStamp von aufrufendem Script
   //      $CfgDaten["EndTime"]    = $_IPS['EndTime'];    // Zk TimeStamp von aufrufendem Script
    //}                                                   // Zk
   // else {                                              // Zk
      	$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
	//}                                                    // Zk

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

	if ($CfgDaten['RunMode'] == "popup")
	{
		$CfgDaten['WebFrontConfigId'] = 15652 /*[WebFront Configurator]*/;
		$CfgDaten['WFCPopupTitle'] = "Ich bin der Text, welcher als Überschrift im Popup gezeigt wird";
	}

	// Ü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'] = "Chart-Überschrift";

	// **************************************************************************************
	// *** 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'] = "Drehgriffkontakte / Türkontakte";
	$CfgDaten['yAxis'][2]['labels']['formatter'] = "@function() { if (this.value == 0.5) return 'geschlossen'; if (this.value == 1) return 'gekippt';if (this.value == 2) return 'geöffnet' }@";
	$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();
	$serie['name'] = 'Pie';
	$serie['type'] = 'pie';
	$serie['data'][] = array('name'=>'Wohnzimmertemperatur', 'Id' => 35192, 'Unit'=>"°C");
	$serie['data'][] = array('name'=>'Luftfeuchte', 'Id' => 28067, 'Unit'=>"%");
	$serie['allowPointSelect'] = true;
	$serie['cursor'] = 'pointer';
	$serie['center'] = array(300,100);
	$serie['size'] = 100;
	$serie['dataLabels']['enabled'] = true;
	$CfgDaten['series'][] = $serie;

	$serie = array();
	$serie['name'] = "Wohnzimmertemperatur";
	$serie['Id'] = 35192 /*[ZK-Heiz\Zk-Wetter\FS10 Innensensor Wohnzimmer\ZK_Wetter_Temp_Wohnzimmer]*/;
	$serie['Unit'] = "°C";
	$serie['ReplaceValues'] = false;
	$serie['RoundValue'] = 1;
	$serie['type'] = "spline";
	$serie['yAxis'] = 0;
	$serie['marker']['enabled'] = false;
	$serie['shadow'] = true;
	$serie['lineWidth'] = 1;
	$serie['states']['hover']['lineWidth'] = 2;
	$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;

	$serie = array();
	$serie['name'] = "Luftfeuchte";
	$serie['Id'] = 28067 /*[ZK-Heiz\Zk-Wetter\FS10 Innensensor Wohnzimmer\ZK_Wetter_Feuchte_Wohnzimmer]*/;
	$serie['Unit'] = "%";
	$serie['ReplaceValues'] = false;
	$serie['type'] = "spline";
	$serie['step'] = false;
	$serie['yAxis'] = 1;
	$serie['shadow'] = true;
	$serie['lineWidth'] = 1;
	$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;

	$serie = array();
	$serie['name'] = "Drehgriffkontakt";
	$serie['Id'] = 46308 /*[ZK-Heiz\Zk-HomeMatic\Zk-Bewegungsmelder\MOTION_DETECTOR\MOTION]*/;
	$serie['Unit'] = array(0=>'geschlossen', 1=>'gekippt', 2=>'geöffnet');
	$serie['ReplaceValues'] = array(0=>0.5, 1=>1, 2=>2);
	$serie['type'] = "line";
	$serie['step'] = true;
	$serie['yAxis'] = 2;
	$serie['shadow'] = true;
	$serie['lineWidth'] = 1;
	$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;

	$serie = array();
	$serie['name'] = "Stromzähler EG";
	$serie['Id'] = 49181 /*[ZK-Heiz\Zk-CUNO\EM1010CUL\EM1010 Sensor 02\Total]*/;
	$serie['Unit'] = "kWh";
	$serie['ReplaceValues'] =false;
	$serie['type'] = "column";
	$serie['step'] = false;
	$serie['yAxis'] = 3;
	$serie['shadow'] = true;
	$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;


	// 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'] = 800; 		// 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
		}
	}



?>

Hardcopy Webfront, Objektbaum siehe Anlage

Gruß
zkra

zkra,

entweder hast du einen copy&paste-Fehler drin oder du verschweigst noch irgend was :smiley: Ich hoffe mal dass die Auskommentierung der If-Bedingungen ein Versehehn sind bezw. zum Test dienen?

wie auch immer:
ich hab das eben nachgestellt (so wie du es beschrieben hast, mit deinem Code) - es funktioniert genau so wie es soll.
print_r($_IPS) im Empfangsscript führt nach Auslösung des Sendescripts zu folgendem Array im IPS-Meldungsfenster (oberes Array, ich hab zum besseren Verständnis die Strings „gestern Morgen“ und „gestern Abend“ übergeben):

Momentan hab ich nur eine Erklärung dafür: du rufst im WFE das Config-Script statt des Auswahl-Scripts auf

Danke für die schnelle Antwort.

Ja die IF’s sind zum Testen ausdokumentiert. Im Webfront aufgerufen habe ich das Auswahl-Script und nicht das Config Script.

Aber evtl. habe ich ja noch ein weiteres Grund-/Verständnisproblem. speziell mit der print_r Ausgabe.
„ScriptWatch“ und „VariablenWatch“ habe ich im Logfile abgeklemmt da ich einige Scripte habe die alle 2 Sekunden aufgerufen werden und sehr viel Variablen sich ebenfalls zyklisch im 2 Sekunden-Zyklus ändern.

Wie ist den unter diesen Randbedingung ein optimales Debuggen von IPS-Scripten am sinnvollsten z.B. die Ausgabe des „print_r“ oder des „echo“ Befehles.

PS: Den IPSLogger (IPSLibrary) habe ich im Einsatz.

Gruß
zkra

ich habe variable_watch abgeklemmt, Script_watch nicht. Ob bei abgeklemmten script_watch keine print_r-Meldungen im Meldungsfenster kommen, kann ich aktuell nicht sagen. Bei abgeklemmten variable_watch sind im Meldungsfenster auf jeden Fall echo und print_r() zu sehen

Hallo RS,
mittlerweile bekomme ich eine schöne Kurve dargestellt, so wie ichs mir vorgestellt hab.
Wie aber bekome ich die Labels der Y-Achse (und in den ToolTipps) in Stunden und Minuten dargestellt?
Hab den Typ schon auf DateTime gestellt.

$CfgDaten['yAxis'][0]['type']='datetime';
$CfgDaten['yAxis'][0]['dateTimeLabelFormats'] = '%H:%M';

Was mach ich falsch? Oder Wie muss ichs angehen? Die übergebenen Daten sind Timestamps.

Danke für Deine / Euere Hilfe,

siehe posting #181, solange hier kein Dialog zustande kommt, kann ich auch nur raten…
Lösungen mitentwickeln halte ich für deutlich befriedigender…

Hallo RS,
sorry für meine verwirrenden Posts, hab wohl den Verlauf meine Fortschritte nicht richtig dargestellt und nie richtig meine Ziele formuliert. Hoffe mit diesem Post wirds transparenter. Und ich wollte keinesfalls einen Dialog verhindern/unterbinden.

Also, Stand der Entwicklung ist folgender:
Hab eine MySQL Tabelle folgender Konfiguration:
mySQL_Info.png
Alle Daten liegen im UnixTimestap vor
mySQL_data.png
Die Daten hole ich direkt im HC-Conifg-Script und übergebe sie als TimeStamp an HC.
DateX ist mein TimeStamp für die X-Achse. Er hat in ‚Human_Date‘ die Werte 01.01.2012 00:00:00 bis 31.12.2012 00:00:00.
Alle anderen Werte enthalten die bezeichnenden Uhrzeiten am entsprchenden Tag.
Wenn ich jetzt die Werte einfach nach HC übergebe bekomme ich fast eine Gerade, da sich ja der Zeitwert täglich um den Tageswert erhöht. Um das zu verhindern, hab ich den UnixTimstamp des Tages vom UnixTimestamp des (hier) Sonnenaufgangs abgezogen, mit dem Ergebnis, dass ich die Daten des Sonneaufgangs nun alle für den selben Tag aber verschiedene Uhrzeiten habe. Diese nach HC übergeben zeigt mir die Kurve in #196.

Ziel:
Nun möchte ich aber sowohl in den Label der Y-Achse als auch in den Tooltipps die Sonnenaufgangszeit im Format hh:mm angezeigt bekommen.

Versuche das Problem zu lösen:
Habe in der HC-Config in der Abteilung Tooltipps folgendes eingetragen:

$CfgDaten['tooltip']['enabled'] = true;
    //$CfgDaten['tooltip']['shared'] = true;
    //$CfgDaten['tooltip']['useHTML'] = 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() {
                return '<b>'+ 'Dämmerungszeiten ' +'</b>'+Highcharts.dateFormat('%a %d.%m.%Y %H:%M.%S', (this.x))
                + '<br/>' + Highcharts.dateFormat('%a %d.%m.%Y %H:%M.%S', (this.y)) + '<br/>' + (this.y) + '<br/>';}@";

Ergebnis:
Ergebnis_ToolTipp.png

Das Datum und die Uhrzeit des Tages (x-Achse) sind richtig. Die Uhrzeit des dargestellten Wertes ist definitiv falsch. Müsste irgend wo bei 8:18 liegen

Die selbe aufgabe steht noch für die labes der Y-Achse an, wobei hier die Funktion des formatters (ohne html) eingeschränkt scheint.

Wenn dann alles funktoniert möchte ich gerne noch weitere „series“ einbauen.

Anbei noch mal die aktuelle Config.

<?php

    Global $CfgDaten;

    //MySQL Connect Daten
    $MySQLConn=mysql_connect($MySQLIP.$MySQLPort, $MySQLAdmin, $MySQLAdminPW);
    $db = $IPS_DB;
    $SQLTable = $TBL_Wetter_Daemmerung;
    $db_selected = mysql_select_db($db, $MySQLConn);

    // IPS Variablen ID´s
    $CfgDaten['ContentVarableId']= 54396 /*[Wetter\Astronomie\HC\MySQL_SunRiseSet]*/ ; 
    $CfgDaten['HighChartScriptId']= 37577 /*[HighCharts\Highcharts_V2.02.ips]*/ ; 

    // 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, 1, 1, 2012);
    $CfgDaten['EndTime']   = mktime(23,59,59, 12, 31, 2012);

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

    if ($CfgDaten['RunMode'] == "popup")
    {
        $CfgDaten['WebFrontConfigId'] = 26841 /*[WFs\wha\Fritzbox\Übersicht\FritzBox_Uebersicht]*/;
        $CfgDaten['WFCPopupTitle'] = "Ich bin der Text, welcher als Überschrift im Popup gezeigt wird";
    }

    // 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;

  **************************************************************************************
    // *** 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
    $CfgDaten['title']['text'] = "DämmerungsZeiten für Mühlacker";
**************************************************************************************
    // *** subtitle *** siehe http://www.highcharts.com/ref/#subtitle
  **************************************************************************************
    $CfgDaten['subtitle']['text'] = "Zeitraum: %STARTTIME% - %ENDTIME%";
    $CfgDaten['subtitle']['Ips']['DateTimeFormat'] = "(D) d.m.Y H:i";

    // **************************************************************************************
    // *** PlotOptions *** http://www.highcharts.com/ref/#plotoptions
**************************************************************************************
   //$CfgDaten['plotOptions']['area']['dataLabels']['enabled'] = true;
    //$CfgDaten['plotOptions']['area']['dataLabels']['formatter'] = function() {return (this.y)*100;};
**************************************************************************************
    // *** tooltip *** http://www.highcharts.com/ref/#tooltip
    // **************************************************************************************
    $CfgDaten['tooltip']['enabled'] = true;
    //$CfgDaten['tooltip']['shared'] = true;
    //$CfgDaten['tooltip']['useHTML'] = 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() {
                return '<b>'+ 'Dämmerungszeiten ' +'</b>'+
                    Highcharts.dateFormat('%a %d.%m.%Y %H:%M.%S', (this.x)) + '<br/>' + Highcharts.dateFormat('%a %d.%m.%Y %H:%M.%S', (this.y)) + '<br/>' + (this.y) + '<br/>';
                    }@";
    //tooltip:formatter:function() {var s = '<b>' + Highcharts.dateFormat('%H:%M', this.x) +'<\/b>';
    // **************************************************************************************
    // *** 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
    // $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)
    //    $CfgDaten['yAxis'][0]['opposite'] = false; // Achse wird auf der rechten (true) oder linken Seite (false) des Charts angezeigt (default = false)
    //    $CfgDaten['yAxis'][0]['tickInterval'] = 5; // Skalenwerte alle x (TickInterval)

   $CfgDaten['yAxis'][0]['type']='datetime';
    $CfgDaten['yAxis'][0]['title']['text'] = "Sonnenauf und Untergang";
    $CfgDaten['yAxis'][0]['Unit'] = "";
    $CfgDaten['yAxis'][0]['reversed']= true;
    //$CfgDaten['yAxis'][0]['opposite'] = false;
    //$CfgDaten['yAxis'][0]['labels']['formatter']= "function(){return this.axis}";
    //$CfgDaten['yAxis'][0]['dateTimeLabelFormats'] = '%H:%M';
    //$CfgDaten['yAxis'][0]['tickInterval'] = 1000000;
    //$CfgDaten['yAxis'][0]['min'] = 1325402185;
    //$CfgDaten['yAxis'][0]['max'] = 1356938185;

    //    $CfgDaten['yAxis'][1]['title']['text'] = "Heizungssteller / Luftfeuchte";
    //    $CfgDaten['yAxis'][1]['Unit'] = "%";
    //    $CfgDaten['yAxis'][1]['opposite'] = true;
**************************************************************************************
    // *** 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.

        $sql_Ergebnis = mysql_query("SELECT DateX, SunRise, SunSet
                                                FROM " . $SQLTable .";")
                                                OR die("'".$sql_Ergebnis."':".mysql_error());
      $data = mysql_fetch_array($sql_Ergebnis, MYSQL_ASSOC);
            $i = 0;
                while($data = mysql_fetch_array($sql_Ergebnis, MYSQL_ASSOC))
                {
                     //echo date("d.m.Y H:m:s",$data['SunRise']-$data['DateX']-3600)."
";
                //$DataForSerie[] = array("DateX"=>date("d.m.Y",$data['DateX']), "SunRise"=>date("H:i",$data['SunRise']),"human_Date" => date("d.m.Y H:i:s",$data['DateX']));
                //$DataForSerie[] = array("Value"=>date("H:i",$data['SunRise']), "TimeStamp"=>date("d.m.Y H:i:s",$data['DateX']));
                //$DataForSerie[] = array("Value"=>date('H:i',$data['SunRise']), "TimeStamp"=>$data['DateX']);
                //$DataForSerie[] = array("Value"=>(substr(date("H:i",$data['SunRise']),0,2)*60)+substr(date("H:i",$data['SunRise']),3,2)-60, "TimeStamp"=>$data['DateX']);
                $DataForSerie[] = array("Value"=>$data['SunRise']-$data['DateX']-3600, "TimeStamp"=>$data['DateX']);
                     //$DataForSerie[] = array("Value"=>$data['SunRise'], "TimeStamp"=>date("d.m.Y H:i:s",$data['DateX']));
                //$DataForSerie[] = array("Value"=>$data['SunRise'], "TimeStamp"=>$data['DateX']);
                //print_r($DataForSerie); //Output Buffer exeeds 1024kb. Operation halted (am 8.3.)

                     //$DataForSerie2[] = array("Value"=>(substr(date("H:i",$data['SunSet']),0,2)*60)+substr(date("H:i",$data['SunSet']),3,2)-60, "TimeStamp"=>$data['DateX']);
                     $DataForSerie2[] = array("Value"=>$data['SunSet']-$data['DateX']-3600, "TimeStamp"=>$data['DateX']);
                //print_r(array("Sunrise"=>date("d.m.Y H:m:s",$data['SunRise']-$data['DateX']-3600),"TimeStamp"=>date("d.m.Y H:i:s",$data['DateX'])));
                     }
                //print_r($DataForSerie);
                
            $i++;
                     //print_r($DataForSerie);
                
    //$serie = array();
    //$serie = array("Id"=>0, "Data"=>$DataForSerie, "Name" =>"Manueller Werte 1",    "Unit"=>"°C", "ReplaceValues"=>false);
    $serie['name'] = "Sonnenaufgang";
    //$serie['Id'] = 45736 /*[Wetter\Astronomie\SonnenAufUntergang\SonnenAufgang_Int]*/ ;
    $serie['Unit'] = "";
    $serie['ReplaceValues'] = false;
    $serie['RoundValue'] = 0;
    $serie['type'] = "spline"; //"areaspline"; //
    $serie['yAxis'] = 0;
    $serie['marker']['enabled'] = true;
    $serie['shadow'] = true;
    $serie['lineWidth'] = 1;
    $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['data'] = $DataForSerie; //für eigene daten aus MySQL. zeile aus http://www.ip-symcon.de/forum/f52/q-highcharts-v2-0-a-18312/index5.html#post164205
    $CfgDaten["Series"][] = $serie;

    $serie['name'] = "Sonnenuntergang";
    $serie['Unit'] = "";
    $serie['ReplaceValues'] = false;
    $serie['RoundValue'] = 0;
    $serie['type'] = "spline";
    $serie['yAxis'] = 0;
    $serie['marker']['enabled'] = true;
    $serie['shadow'] = true;
    $serie['lineWidth'] = 1;
    $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['data'] = $DataForSerie2; //für eigene daten aus MySQL. zeile aus http://www.ip-symcon.de/forum/f52/q-highcharts-v2-0-a-18312/index5.html#post164205
    $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
        }
    }
?>

Danke für Deine/Eure Hilfe,

Bin mir jetzt nicht ganz sicher und hab auch wenig Zeit, abber versuch mal ‚Data‘ anstatt ‚data‘.

$serie[‚data‘] = $DataForSerie…

Gruß KH

… und ich bin hier raus. Ich fühle mich -erhlich gesagt- arg verschaukelt. Zumal ich eben durch puren Zufall über diesen Thread gestolpert bin: http://www.ip-symcon.de/forum/f52/uhrzeit-graph-17689/

wolfgang, ich lege dir dringenst nahe, möglichst gleich am Anfang alle Rahemnbedingungen offen zu legen und vorallem die Fragestellungen zu beantworten. Das letze Posting zeigt, dass es überraschend gut geht.
Es ist nun nicht so, dass ich hier alles weiß (denjenigen gibts wohl auch nicht), auch ich muss recherchieren. Was ich seit gestern und heute auch getan habe. Nur stelle ich inzwischen fest, dass die Recherchen teilweise in die falsche Richtung gingen, teilweise du offensichtlich schon viel weiter warst. Kurzum: mit Zusammenarbeit wäre das Thema wahrscheinlich schon längst gelöst gewesen
:mad: