Q&A Highcharts V2.0

Hallo Symkie,

ich hab das 2.0.2 laut der Forum-Anleitung installiert und mit dem auch meine Charts erstellt.
Dann hab ich das aktuelle Highchart 3.0.1 sowie das Highstock 1.3.1 in die alten Verzeichnisse entpackt:
LW:\IP-Symcon\webfront\user\Highcharts und LW:\IP-Symcon\webfront\user\Highstock.

funktioniert bisher ohne Probleme.

liebe Grüße
Wolfgang

Danke Wolfi,

ich habe nach Raketenschneckes Anleitung nur die zwei .js Dateien drüber kopiert. Aber wenn Du das so sagt, kopiere ich vorsichtshalber den Rest auch noch drüber…

Hallo :slight_smile:

im HS-Config Skript wird erwähnt, dass eine automatische Aktualisierung der HS-Anzeige erfolgen kann. Ich stelle mir hierunter ein Update der Werte wie im folgender HS-Demo vor: http://www.highcharts.com/demo/dynamic-update

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

Echo Debug Nachrichten zeigen auch, dass bei mir Variante 1 verwendet wird. Die automatische Aktualisierung erfolgt jedoch nicht. Funktioniert bei jemandem denn das automatische Aktualisieren / bzw. hat jemand einen Tipp was ich falsch machen könnte? i.M. verwende ich noch HS V2.02.

Vielen Dank im Voraus für etwaige Hilfe!

Grüße, Timo

Huhu,

gibts denn irgendwie eine Möglichkeit den Master-Detail-Chart von Highcharts.com zu Integrieren ?
Fände den recht cool weil ja quasi eine Zeitleiste Integriert ist.

http://www.highcharts.com/demo/dynamic-master-detail

Möchte khc nicht vorgreifen, aber denke da werden Daten dynamisch nachgeladen, ähnlich wie bei Highstocks, daher nicht trivial. Ich fänds aber natürlich auch Klasse.

Hallo zusammen,

habe gerade mal ausprobiert, auf die aktuelle Highcharts Version zu schwenken (von 2.3.2 kommend)

Ich habe den bestehenden Ordner webfront\user\IPSHighcharts\Highcharts\js ersetzt durch die neue Version.

Leider werden danach keine Charts mehr angezeigt.

Muss ich noch mehr ändern? Oder hat jemand einen Tipp, wie ich der Ursache auf die Spur kommen kann?

Viele Grüße

Burkhard

Komme leider alleine nicht weiter. Hat jemand eine Idee oder einen „Forschungsansatz“?

Gruß

Burkhard

Der Tipp ist: Ctrl+Shift+I

Dieser Shortcut öffnet die Entwicklerkonsole im Chrome und zeigt Dir dann in der Console vermutlich 2 Fehler:
1.) jquery.min.js wurde nicht gefunden
2.) themes/ips.js wurde nicht gefunden

–> jQuery vom alten js Ordner kopieren und dann sollte es wieder funktionieren (zumindest funktionierte IPSPowerControl danach bei mir wieder)

Bingo, das war’s.

Vielen Dank!

Gruß

Burkhard

Hallo Highcharter:)

ich habe jetzt schon diverse Highcharts erstellt.Jetzt fehlt bei mir aber noch eines:
Die Zeitenumschaltung(Jahr,Monat,Woche,Tag) in der Chart selbst,die ich schon bei einigen gesehen habe.
Jetzt habe ich von dem Thread nicht mehr alles im Kopf.

Gibts irgendwo ein paar Tips die ich noch nicht gesehen habe?

Danke und Gruß
Robert

Huhu,

daran wäre ich auch Interessiert, so ein Vor und Zurückbutton und Monat/Woche/Tag/stunde wäre bei den Highcharts perfekt.
Hat da jemand nen kleinen Codeschnipsel mit dem man sowas realisieren kann ?
Mir fehlt da irgendwo der Ansatz dafür, ausser das man im Script die Zeitrahmen ändern kann fällt mir nix ein :frowning:

So etwa?
wetteranzeige.png

$zeitwahl = GetValue(12345);
// Zeitraum welcher dargestellt werden soll (kann durch die Zeitvorgaben in den Serien verändert werden)
	$CfgDaten['StartTime'] = mktime(date("H", time()),0,0, date("m", time()), date("d",time())-$zeitwahl, date("Y",time())); // ab heute 00:00 Uhr
	$CfgDaten['EndTime'] = mktime(date("H", time())+1,30,0, date("m", time()), date("d",time()), date("Y",time())); // ab heute 23:59 Uhr, oder //$CfgDaten['EndTime'] = time();   // = bis jetzt

In der Variable sind Tage (1, 7, 31, 365) hinterlegt.

Grüße
galleto

Hallo zusammen,
ich hab das irgend wo hier gefunden und angepasst. Ist ein wenig aufwändiger, aber auch flexibler. Man kann die gewählten Zeiträume in die Historie verlegen. Allerdings nur relativ aktuellen Zeitpunkt. Habe mir verschiedene Variableprofile angelegt die nur die sinnvollen und mit Daten gefüllten Zeiträume (Sunden/Minutenwerte werden nur 1-3 Monate vorgehalten, Tageswerte hab ich noch nicht begrenzt) anzeigt. Sonst gibts Fehler oder lange Ladezeiten.
Lege dazu für jeden Chart eine Kategorie an die ein HC-Configscript und die zugehörige Variable zur Darstellung im WF enthält. Zusätzlich lege ich darin noch eine Kategorie Zeitraum an, in der ein Script liegt das den Endpunkt des Charts in einer Variable festlegt, gesteuert über das WF, und je eine Variable für den Zeitraum und den Endpunkt. -> Screenshot 1-3
Hier das Script HC_Stundenwerte_Zeitraum

<?

$ENDPUNKT = GetValue(34523 /*[Wetter\InternetWetter\HC\Stundenwerte\Zeitraum\HC_Endpunkt]*/ );

Switch ($IPS_VALUE){
    Case -3: // Zurück
       SetValue(34523 /*[Wetter\InternetWetter\HC\Stundenwerte\Zeitraum\HC_Endpunkt]*/ , $ENDPUNKT -1);
       Break;
    Case -2: // Vor
       SetValue(34523 /*[Wetter\InternetWetter\HC\Stundenwerte\Zeitraum\HC_Endpunkt]*/ , $ENDPUNKT +1);
       Break;
    Case -1: // Jetzt
       SetValue(34523 /*[Wetter\InternetWetter\HC\Stundenwerte\Zeitraum\HC_Endpunkt]*/ , 0);
       Break;
    default:
        SetValue($IPS_VARIABLE, $IPS_VALUE);
       Break;
    }
?>

Hier das HC-Config. Nur der Teil mit der Zeitauswahl. Die nutze ich auch zur einschränkung meiner SQL-Abfrage aus der die Daten kommen.

     $ZeitRaum = GetValue(11208 /*[Wetter\InternetWetter\HC\Stundenwerte\Zeitraum\HC_Zeitraum]*/ );
    // AggType: [0=Hour, 1=Day, 2=Week, 3=Month, 4=Year] .. wie der Werte gelesen werden soll
    Switch ($ZeitRaum) {
       Case 0:
       Case 1:
          $AggType = 0;
          Break;
       Case 7:
       Case 30:
          $AggType = 1;
          Break;
       Case 365:
        Case 90:
       Case 180:
          $AggType = 3;
          Break;
        Default:
        $AggType = 0;
    };
    If ($ZeitRaum == 0) {$ZeitRaum = (8/24);};
    $EndPunkt = GetValue(34523 /*[Wetter\InternetWetter\HC\Stundenwerte\Zeitraum\HC_Endpunkt]*/ );
    $CfgDaten["EndTime"] = (time() + 60 * 60 * 24 * $ZeitRaum * $EndPunkt);
    $CfgDaten["StartTime"] = ($CfgDaten["EndTime"] - 60 * 60 * 24 * $ZeitRaum);

     $SQLStart = "'".date("Y-m-d H:i:s",$CfgDaten["StartTime"])."'";
     $SQLEnd = "'".date("Y-m-d H:i:s",$CfgDaten["EndTime"])."'";

Der 4. Screeshot zeigt das Ergebnis

Wer auch noch wissen will welchen Zeitraum er gewählt hat bevor der Chart aktualisiert wird erstellt noch eine Variable im HC_Zeitraum z.B. ZeitraumVorschau und hängt folgenden Code unten an das Zeitraumscript:

    $ZeitRaum = GetValue(35240 /*[Heizung\HC\HC_Heizung_01\HC_Zeitraum\HC_Zeitraum]*/ );
    $EndPunkt = GetValue(26863 /*[Heizung\HC\HC_Heizung_01\HC_Zeitraum\HC_EndPunkt]*/ );
    $EndTime = time() + 60 * 60 * 24 * $ZeitRaum * $EndPunkt;
     $StartTime = $EndTime - 86400 * $ZeitRaum;
     SetValue(45094 /*[Heizung\HC\HC_Heizung_01\HC_Zeitraum\ZeitraumVorschau]*/ , date('d.m. Y H:i',$StartTime) ." - " . date('d.m. Y H:i',$EndTime));

Ergebnis siehe Screenshot 5

Viel Spaß beim basteln,

Hab doch noch gefunden wo ich die Basis her hab:

Zwischenablage-3.png

Zwischenablage-5.png

Hi Wolfgang,

vielen Dank für das ziemlich geniale Script bzw. die Anleitung um die Zeitangaben einzufügen.
Ich bin mir sicher das das mehreren Usern weiterhelfen wird.

Dennoch lässt mich der „Master-Detail“ Chart nicht los in dem man den Zeitrahmen mit einem Schieber verändern kann.

Hier mal das was ich meine :

Würde ich Saucool finden.

Das sind die Highstocks nicht die Highcharts.

Auch mal im Forum danach, gab auch schon einmal einen Beitrag darüber.

Sent from my iPhone using Tapatalk

Hat es schon mal jemand geschafft die Daten live zu aktualisieren?
So wie hier: http://www.highcharts.com/demo/dynamic-update

Würde das gerne für meine Stromverbrauch Charts bauen. Ein neues Erstellen führt immer zum kompletten neu zeichnen des ganzen Charts.

Gruß

Andreas

Hallo!

Ich finds einfach nicht:
Ich schalte mit Buttons die Ansichten auf Std. Tag, Woche usw. um
Wie kann ich erreichen dass der Chart gleich aktualisiert wird.

Im Moment starte ich das Config script alle 1 Min.
„Lösung“ wäre alle 2 Sek. das Script ausführen=Flackert dann nur noch=is nix.

Dann ist die Anzeige Aktuell. D.h. ich muss Max. 1 Min warten bis die Anzeige aktuell ist.
Ich möchte aber beim Button betätigen gleich aktualisieren.

Schönen Gruß
Egon

Hallo Egon,
leider schreibst Du nicht wie Du die Ansichten schaltest.
Versuch einfach mal in dem Script in dem Du die Zeiträume festlegst ganz unten folgende Zeile einzufügen.

IPS_RunScript(scriptID);

Würde bei mir funktionieren. Hab ich nur auskommentiert, damit beim vor u. zurück-springen der Zeiträume nicht jedes mal aktualisiert wird.
Hope it helps.

Hallo Wolfgang!

Suuper letzt schalten die Buttons sofort um.:):slight_smile:

Vielen Dank :slight_smile:
Egon

Hallo Andreas,

Bist Du da schon weiter gekommen, irgendwie sieht das recht interessant aus.

Gruß

Frank