Q&A Highcharts V2.0

Hallo zusammen,
hab das selbe Problem (beschrieben in #326). Scheint bei mir aber wohl nicht am Inhaltswechsler zu liegen (ich nutze den nicht). Ist bei mir erst aufgetreten nach einem Überschreiben des HC-Verzeichnisses von 2.0 auf 2.3.2. Wenn ich auf die 2.0 zurück gehe tritt das Phänomen nicht auf.
Beim Einsatz von 2.3.2 ohne überschreiben bekomme ich auch nur noch leere ~htms-Boxen wie Firewire in #372 beschrieben hat. Wie Firewire das aber in #375 gelöst hat hat er leider nicht beschrieben.

@Firewire: Was hast Du in welchem Script geändert, damit die ~html-Box wieder gefüllt wird? Welchen Browser nutzt Du?

Änderung: Ich nutze Firefox 15.0.1 und Chrome ist für mich derzeit keine Alternative.

HAllo Raketenschnecke.

Ich habe es jetzt auch mal mit Chrome probiert und da tritt es in der Tat nicht auf. Mit Firefox hatte ich das Problem. Internetexplorer ist noch viel schlimmer. Wenn ich da bei der Chartbreite eine 0 eintrage, damit er das selber skaliert, dann ist klebt mein Chart ganz links im inhalswechsler und ist nur noch etwa 100 Pixel breit.
Auch der Aufbau des Charts geht mit Chrome deutlich schneller.
Allerdings bauen die Beispielcharts auf der Highcharts.com Homepage problemlos mit Firefox und Internet-Explorer und auch ohne das schon genannte anfängliche Verschwindendes Charts auf. Den Effekt habe ich nur bei HighCharts in IPSymcon.
Ich kann aber damit leben für die Hausautomation lokal auf Chroome umzusteigen.

Hi Feuerdraht,

wie besprochen meine ANtworten auf Deine Fragen heute:

Bin gerade dabei den Farbverwaltungsscript von deiner Seite zu integrieren. Da ich noch ganz am Anfang stehe und du ja schreibst mit der Zeit wird es immer aufwändiger Veränderung vorzunehmen, dachte ich mir ich mach das gleich mal.

Wie ich nun gesehen habe, hast du ja wirklich viele Charts in deiner Seite. Hier würde mich interessieren wie das mit dem Config-Script abläuft. Muss man immer eines pro Chart haben oder?

Nein, es reicht ein zentrales Script, welches die Farbwerte aufbereitet und als Array anderen Anwendungen zur Verfügung stellt. Die Einbindung der Farb-Auslesescripts in andere Config-Charts erfolgt via include:

include         "HC RS.Special externe Daten.ips.php";

diese Zeile findest du auch in den Beispiel-Downloads, das ich an einigen Stellen bereit gestellt habe
Im Config-Script selbst sind die zentralen Farben dann via Array abrufbar und können den einzelnen Graphen zugewiesen werden:

$serie['color']   = $Farb_Array['Niederschlagsmenge'];

Was mich noch interessieren würde, da du mir ja Highstock empfohlen hast um so ein schaltbares Chart zu erstellen. Highstock und Highchart sind zwei verschiedene Sachen oder?
Kann man so eine Schaltung nicht im Highchart selbst integrieren? Gibt es da keine Möglichkeit?

Ab HC 2.02 kannst du im Config-Script selbst entscheiden, welche Darstellung angezeigt werden soll: HighChart oder HighStock. Konfigurierbar über Parameter

$CfgDaten['Ips']['ChartType'] = 'Highstock'; //"HighCharts" oder "Highstock" auswählen

Ich denke, dass sollte fürs Erste reichen und wird weitere, tiefergehende Fragen nach sich ziehen :wink:

Huhu,

uns ist gerade etwas mit dem HC und https Verbindungen aufgefallen.
Wir hatten probleme ein Highchart bei Wupperi angezeigt zu bekommen.
Es ließ sich auf folgenden Sachverhalt einkreisen.
Chrome blockt einfach alles was nicht von einer https Seite kommt, so denn die Hauptseite https spricht.
Das sieht man beim Explorer auch an der Aufforderung unsichere externe Inhalt anzeigen zu lassen.
Nun steht im Header des Highcharts scriptes noch ein externer Verweis:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

Wenn man die jquery.min.js von dieser Stelle runterläd und ins highcharts/js Verzeichnis speichert, kann man mit:

<script type="text/javascript" src="js/jquery.min.js"></script>

die Library lokal laden und Chrome (sowie der Explorer) geben sich zufrieden.
Vielleicht ist es möglich dies in den nächsten Versionen zu integrieren?

cu…

Oder einfach den Link so ändern:


[COLOR=#007700]<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>  
[/COLOR]

http://drumcoder.co.uk/blog/2011/sep/28/scheme-agnostic-urls/

paresy

Die Frage ist ja auch, ob man die 90kByte Datei wirklich aus dem Netz nachladen muss.
Wenn I-Net mal nicht geht gehen die Highcharts wieder nicht.

cu…

exakt das ist der Grund, warum ich bei mir auch die jquery seit Monaten nur noch von internen Quellen laden lasse…

Wenn du dein WF von extern aus lädst, belastest du 90kb weniger deinen Upload. Und das kann je nach Anbindung Kriegsentscheidend oder irrelevant sein kann :slight_smile:

paresy

hmm,

in dem Fall könnte man ja anhand der Client IP entscheiden, ob extern oder intern.
Setz mir nicht solche Flausen in den Kopf. Ich wollte heute noch was anderes machen. :smiley:

cu…

hier schon mal ne Antwort auf die nächste Frage:

HighCharts 2.3.3 und HighStock 1.2.4 soeben über die bestehenden Versionen drübergebügelt, funktioniert problemlos :smiley:

Hallo,

ich habe genau das gleiche Problem wie ThomasWest69.

Wenn ich während das Highchart sich aufbaut nicht aktiv auf der Seite bin, sonder auf einem anderen Menüpunkt meines Webfront, so wird mir die Aussenbeschriftung und die Legende durcheinander gehauen.

Ich benutze den Firefox 15.0.1 , kann mir das nicht erklären. Hat vielleicht jemand einen Tipp woran es liegen kann?

@ThomasWest69: Hast du das Problem bei dir beheben können?

Danke und Grüße

Edit: Das Problem tritt bei mir nur unter Firefox auf. Chrome und Opera laufen normal. Wollte allerdings eigentlich den Browser nicht wechseln :frowning:

Hallo firewire,
hatte ich auch. Keiner hier konnte eine Antwort geben. Trat bei mir auf, nach dem ich HC auf die 2.3.2 geupdatet hatte. Bin vorerst zurück auf die 2.0. Da tritts bei mir nicht auf. Bin im Momemt bei FF16.

Hallo Raketenschnecke,

in deinem Posting hier: http://www.ip-symcon.de/forum/threads/17625-Highcharts-Multigraph?p=141858#post141858

zeigst Du in Bild 3, die Ventilöffnung als Column(grau) an. Ich krieg das so nicht hin. Ich hab zwar Columns aber die sind nicht verbunden, stellen also keine Fläche dar, sondern nur Peaks wenn sich der Wert des Ventils ändert. Kannst Du für dieses Bild mal den Quellcode zeigen.

Danke & Gruß

Peter

Hi Postman,

jetzt kann ich auch was erkennen :wink: Das ist ein „area“ (kein column) + step = ‚true‘, was ich da verwende

Hi!

Danke jetzt passt’s. Da kann ich mit Column natürlich lange rummachen :smiley:

Grüße

Peter

hatte ich auch. Keiner hier konnte eine Antwort geben. Trat bei mir auf, nach dem ich HC auf die 2.3.2 geupdatet hatte. Bin vorerst zurück auf die 2.0. Da tritts bei mir nicht auf. Bin im Momemt bei FF16.

Hallo Wolfgang,

danke für deine Antwort. Ok dann werde ich es auch mal mit der 2.0 versuchen. Mal sehen vielleicht hilft das. Ist sau nervig :mad:

Grüße

Hallo,

da ich einige Grossverbraucher (Strom) mit Plugwise auswerte, wollte ich gerne auch ein Chart haben, welches den Anteil der Verbraucher am Gesamtverbrauch darstellt.
Da bietet sich ja eigentlich PIE an.

Ich habe diese beiden Anleitungen probiert. http://www.ip-symcon.de/forum/threads/17625-Highcharts-Multigraph?p=160934#post160934 und http://www.ip-symcon.de/forum/threads/18312-Q-amp-A-Highcharts-V2-0?p=173868#post173868

Aber ich bekomme es einfach nicht hin :o

Macht evtl. irgendwer so etwas schon und kann mir sein Script zur Verfügung stellen, damit ich darauf aufbauen kann ?

Hallo Horst,

mein komplettes Skript zu übergeben wäre wahrscheinlich verwirrend, deshalb hier den Teil der PIE-Erstellung

Auslesen der Sensor-Daten aus dem ArchivHandler für die einzelnen Werte

 $mon_trockner    = round(AC_GetAggregatedValues(43429 /*[Archive Handler]*/, 27535, 3, $ts, $te, 1)[0]['Avg'], 1);
 $mon_waschmaschine = round(AC_GetAggregatedValues(43429 /*[Archive Handler]*/, 15230, 3, $ts, $te, 1)[0]['Avg'], 1);
 $mon_tkanlage    = round(AC_GetAggregatedValues(43429 /*[Archive Handler]*/, 49178, 3, $ts, $te, 1)[0]['Avg'], 1);
 $mon_edvanlage   = round(AC_GetAggregatedValues(43429 /*[Archive Handler]*/, 25600, 3, $ts, $te, 1)[0]['Avg'], 1);
 $mon_brunnen    = round(AC_GetAggregatedValues(43429 /*[Archive Handler]*/, 54746, 3, $ts, $te, 1)[0]['Avg'], 1);
 $mon_gesamt    = round(AC_GetAggregatedValues(43429 /*[Archive Handler]*/, 11283, 3, $ts, $te, 1)[0]['Avg'], 1);

Da ich nur einen Teil meines Verbrauches mit PlugWise logge muß ich, damit ich den Anteil des Nicht-PlugWise-Teils bekomme diesen vom Gesamtverbrauch abziehen und als Wert verfügbar machen.

 $rest = round($mon_gesamt-($mon_trockner + $mon_waschmaschine + $mon_tkanlage + $mon_edvanlage + $mon_brunnen), 2);

Erstellung des PIEs

 $serie = array();
 $serie['name']          = 'Leistungsanteile';
 $serie['type']          = 'pie';
 $serie['data'][]          = array('name'=>'Trockner',     'y' => $mon_trockner,   'Unit'=>"kW", 'color' => $CfgDaten['Series'][0]['color'], 'dataLabels' => array('color' => $CfgDaten['Series'][0]['color']) );
 $serie['data'][]          = array('name'=>'Waschmaschine',   'y' => $mon_waschmaschine, 'Unit'=>"kW", 'color' => $CfgDaten['Series'][1]['color'], 'dataLabels' => array('color' => $CfgDaten['Series'][1]['color']) );
 $serie['data'][]          = array('name'=>'TK-Anlage',     'y' => $mon_tkanlage,   'Unit'=>"kW", 'color' => $CfgDaten['Series'][2]['color'], 'dataLabels' => array('color' => $CfgDaten['Series'][2]['color']) );
 $serie['data'][]          = array('name'=>'Server-Anlage',    'y' => $mon_edvanlage,   'Unit'=>"kW", 'color' => $CfgDaten['Series'][3]['color'], 'dataLabels' => array('color' => $CfgDaten['Series'][3]['color']) );
 $serie['data'][]          = array('name'=>'Blubbersteine',   'y' => $mon_brunnen,   'Unit'=>"kW", 'color' => $CfgDaten['Series'][4]['color'], 'dataLabels' => array('color' => $CfgDaten['Series'][4]['color']) );
 $serie['data'][]          = array('name'=>'Sonstige',     'y' => $rest,     'Unit'=>"kW", 'color' => $CfgDaten['Series'][5]['color'], 'dataLabels' => array('color' => $CfgDaten['Series'][5]['color']) );
 $serie['animation']         = true;
 $serie['RoundValue']        = 2;
 $serie['innerSize']         = '25%';
 $serie['allowPointSelect']      = true;
 $serie['dataLabels']['connectorPadding']  = 15;
 $serie['dataLabels']['distance']    = 25;
 $serie['tooltip']['formatter']     = "@function() { return '<b><span style=color:' + this.series.color + '>'+ this.point.name + '</b></span>: '+ this.y.toFixed(2) +' %'}@";
 $serie['cursor']          = 'pointer';
 $serie['center']          = array(150,85);
 $serie['size']          = 125;
 $serie['dataLabels']['enabled']     = true;
 $serie['dataLabels']['formatter']         = "@function() { return '<b>' + this.point.name + '</b>: '+ this.percentage.toFixed(2) +'%'}@";
 $CfgDaten['Series'][]        = $serie;

Die Farbwerte $CfgDaten[‚Series‘][0][‚color‘] hole ich aus einem anderen Wert, diesen musst Du durch deine Wunschfarbe ersetzen, z.B.: ‚#FF0000#‘

Die Zeitauswahl sieht bei mir wie folgt aus:

 $ts = mktime(0,0,0, date("m", time()), 1, date("Y",time()));
 $te = mktime(23,59,59, date("m", time()), date("t",time()), date("Y",time()));

Also für den aktuellen Monat im aktuellen Jahr.

Der Rest des Config-Files ist Highchartskonform.

Vielleicht hilft es Dir weiter, support frühestens wieder morgen :wink:

Achja noch ein Screenshot, bin mir nicht sicher ob es überhaupt das ist was Du möchtest.

Super,
das ist ja schon fast 100% tig was ich benötige. Werde mich da morgen mal ran wagen.

Sollte ich noch fragen haben, darf ich mich doch hoffentlich nochmal melden :slight_smile:

GeTapatalk(t) mit meinem Galaxy Tab 10.1N

Eine Frage sei erlaubt :wink:

Sent from my iPhone using Tapatalk