Note: leider bin ich grad etwas neben der Spur: in den Projekt-Export hatten sich diverse Fehler eingeschlichen. Wer den Download vor dem 28.04.2014, 21:00 Uhr gemacht hat: bitte nochmal runterladen und Update-Prozedur erneut ausführen, sorry ;-)

 

Changelog:

2014-04-26 V 1.7
Features:

    • Highcharts Update auf V 4.0
    • Umstellung von KHC-HighCharts 2.0.2 auf HighChartsPHP (http://www.goncaloqueiros.net/highcharts.php)
    • Design leicht überarbeitet

Bufixes:

    • keine

Vorweg:

Dieses Update für den RS Energy Forecast beinhaltet keine neuen Funktionen. Es handelt sich lediglich um die Umstellung der PHP-Schnittstelle von KHC-HighCharts auf HighChartsPHP sowie auf die aktuelle HighChats 4.0 Library. Ein Update ist also nicht zwingend erforderlich!

Für diejenigen, die auf die Erweiterung des RS Energy-Forecasts um ‚Berücksichtigung der saisonalen Abhängigkeiten‘ warten: ist in Arbeit, aber leider noch nicht reif für ein neues Release ;-)

Warum?

Natürlich nur, um dem User zu suggerieren: schau mal, dieser Typ reißt sich echt ein Bein aus, um mit vermeintlichen Neuigkeiten mich User zu nerven und zu unnützen Updates zu bewegen.

Na ja: auch, aber nicht nur: die HighChartsPHP-Schnittstelle scheint mir die perfekte Basis für alle meine zukünftigen Projektentwicklungen zu sein, in denen Daten visualisiert werden. Also brauchte ich ein Testobjekt. Da der RS-Energy-Forecast einerseits recht überschaubar ist, andererseits schon einige Chart-Typen beinhaltet, war das für mich die perfekte Testumgebung.

Was ist neu?

Optische Aufwertung: Marker mit Halo

Optische Aufwertung: Marker mit Halo

Ich könnte jetzt mit neuen Features wie ‚konfigurierbare Halos‘ oder ‚vollständig beweglichen Chrosshairs‘ kommen. Das ist was fürs Auge und schindet immer Eindruck. Aber Informations-Mehrwert? Nein, nicht wirklich.

Und da ich davon ausgehe, dass sowas beim IPS-User nicht die Wurst vom Brot zieht, konzentrieren wie uns auf das, was unter der Motorhaube passiert: Drehzahl, Drehmoment, PS und Hubraum!

Für mich ein lange gesuchtes, echtes Leckerli (sabber!): eine offensichtlich vollständige PHP-Schnittstelle für die HighCharts. Damit sind die neuesten Funktionen der HighCharts und HighStocks nutzbar. Darauf hab ich schon lange gewartet (auch schon mit dem Gedanken gespielt, es selbst zu versuchen).

Da die KHC-HighChart Schnittstelle nur den Funktionsumfang der HighCharts bis etwa V 3.0 bereitstellt und seit 2 Jahren nicht mehr weiter entwickelt wurde, wurde es langsam Zeit, sich nach Alternativen umzuschauen. Mit der HighChartsPHP hab ich offensichtlich die ideale Alternative gefunden.

Alles habe ich lange noch nicht alles ausprobieren und testen können, aber innerhalb des RS Energy Forecasts ist die Schnittselle und HighCharts 4.0 vollständig integriert. Nicht in diesem Projekt integriert, aber z.B. 3D-Charts und Boxplots (einige der neuen Features) funktionieren definitiv.

Schema der Syntax-Übersetzung von JS nach PHP

Schema der Syntax-Übersetzung von JS nach PHP

Das wesentlich Neue ist hier die Verwendung von Klassen (statt Funktionen), was eine Änderung der Syntax zur Folge hatte (Schweinearbeit!). Als sehr angenehm empfinde ich aber die daraus resultierende Übersetzungsarbeit, die der Entwickler aus der HighCharts API-Doku in die eigenen Scripte vornehmen muss. So lassen sich neue Optionen wesentlich einfacher einbauen und ausprobieren. Und man muss „nur“ die HighCharts API Doku lesen und verstehen. Entsprechende IP-Symcon Kenntnisse (Insbesondere AC_-Befehle) und der fließende Umgang mir Arrays sollten ebenfalls Kernbestandteile des Entwickler-Skills sein.

Details

Wir schweifen ab, aber im Grunde ersetzt man „nur“ Semikolon + geschweifte Klammer (‚: {‚) der API-Doku mit Pfeilen (‚->‘) im eigenen PHP-Script. Die Parameter der API werden dabei 1:1 übernommen.

Aus

wird in PHP dann

Beispiel: Übergabe einer vollständigen Series an HighCharts via HighChartsPHP

Beispiel: Übergabe einer vollständigen Series an HighCharts via HighChartsPHP

Natürlich sollte man sich in der PHP-Syntax gut auskennen, auch liegen (für den ungeübten Coder) einige Stolperfallen  in der Nummer: es hat z.B. eine Weile gebraucht, um herauszufinden, dass neben Series und Axis auch Plotlines immer als Array angegeben werden müssen (sonst kein HighChart):

Alles in allem ermöglicht die HighChartsPHP-Klasse mir den vollständigen Zugriff auf alle Funktionen der HighCharts- und HighStock-Library – Entwicklerherz: was willst du mehr?!

PS: Von Support-Anfragen bezgl.HighChartsPHP/HighCharts bitte ich abzusehen und statt dessen Hilfe im IP-Symcon Forum zu suchen. Es kann aber durchaus sein, dass ich hier in Kürze ein paar Integrations-Beispiele veröffentliche. Natürlich darf sich auch jeder in den Code des Projekts hier einlesen und sich Anregungen holen ;-)

Update

  • Installer-Script aus dem Anhang in das bestehende Install-Script einkopieren
  • WFE-Instanz-ID angeben
  • Install-Script starten
  • Meldungsfenster der Konsole checken
  • Config-Script einmalig manuell starten (initialisiert Projekt neu)

Download

wie immer über die Projekt-Homepage

 


 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

css.php