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.
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…
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.
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.
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.
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)
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?
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
$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.
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:
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.
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.
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.