Schneller Graph mit geloggten Daten

Hallo

Hab mich heute mal mit von V2.2 geloggten Variablen beschaeftigt.
Befehl um die auszulesen „AC_GetLoggedValues“.
Will mir eine einfache Moeglichkeit schaffen um schnell Graph anzuzeigen.
Wollte halt nicht regelmaessig Bilder erstellen die man eh selten
abruft.

Herausgekommen ist folgendes:
Benutze jpgraph und hab ein script geschrieben welches damit
Graphen beim Aufrufen erstellt.
Alle Parameter werden in der URL uebergeben.
zB:

http:// ipswebfront /jggraph/jg1.php?ah=25204&id0=28905&id1=34783&id2=59265&b=500&h=300&t=Temperaturen

ah = ID des Archiv Handler
id0 = geloggte Variable 1
id1 = geloggte Variable 2
id2 = geloggte Variable 3
b = Breite der Grafik
h = Hoehe der Grafik
t = Titel der Grafik
zr = day - week etc.

ergibt folgendes auf meinem iPhone
:

Beispiel im Dashboard :
http://www.inisnet.de/inisnet/dash.png

Script ist erst ein Tag alt , will das jemand testen ?

Webseite : http://www.inisnet.de/inisnet/jggraph/

immer her damit.:smiley:

…auch haben wollen, da die dashboard.php auf meinem w2k server nicht geht.

Gruß

Aktuelle Version

http://www.inisnet.de/inisnet/jggraph/

Hi 1007,

das ist ja genial … hatte diese Woche fast das gleiche vor …

Allerdings hatte ich mir "Open Flash Chart"dafür ausgesucht …

Grüße

Andreas

Hatte auch mit amChart angefangen aber dann jpGraph genommen weil ich
keine Flash gebrauchen kann. iPhone kann kein Flash.
Bin gerade dabei die Parameter die in der url uebergeben werden auch
aus IPS-Variablen zu lesen.

Hallo 1007,

super Sache. Folgende Probleme sind bei mir aufgetreten:

das Einbinden der php Dateien wollte nicht. deswegen habe ich den gesamten Pfad angegeben:

require_once (IPS_GetKernelDir().'webfront\\jpgraph\\jpgraph.php');

Stunde und Tag geht, Woche und Monat leider nicht:

Warning:  Division by zero in C:\IP-Symcon2\webfront\jpgraph\jpgraph_regstat.php on line 51

Warning:  Division by zero in C:\IP-Symcon2\webfront\jpgraph\jpgraph_regstat.php on line 52

dann wollte ich die Bilder in Dateien abspeichern:

  $graph->Stroke(IPS_GetKernelDir().'media/JPGraph.jpg');

Das klappt auch, aber nur einmal. Die Dateien werden nicht überschrieben. Hast Du noch eine Idee?

Gruß

Hallo

Das mit dem Pfad ist klar. Du hast die jpGraph-Bibliothek direkt
im Webfrontordner. Ich hab sie in meinem Ordner.

aus
require_once ('./jpgraph/jpgraph.php');
mach
require_once ('../jpgraph/jpgraph.php');

Fehler in den Zeilen sind von jpgraph. Hast du die aktuelle Version.
Wenn man das Abfrageergebniss sehen will fuege mal in der url
ein „&d=1“ ein. Dann wird keine Image erzeugt sondern die Daten
angezeigt ( d = debug ).

Warum willst du die Images abspeichern ?
Wenn du sie in einem Formular haben willst nimm ein
Webimage und trage die url als Quelle ein.

Hallo,

die Fehlermeldungen sind weg, weiß aber auch nicht wieso.

Abspeichern geht damit:

  $graph->img->SetImgFormat('png');
  $graph->StrokeStore(IPS_GetKernelDir().'media/JPGraph.png');

Auch wieder wahr, die meiste Zeit werden Bilder erzeugt die keiner braucht. Als Webbrowser im Dashboard klappt das prima.

Heute ein paar Fehler abgefangen.
Deshalb neue Version.
Und sowas wie „day1“ „day2“ zeigen gestern und vorgestern
Farbverwaltung fuer Hintergrund eingebaut.

Hier noch ein Beispiel:

Variable anlegen als String ( id=xxxxxx).
Im Dashboard in dem Webobject unter Eigenschaften IPSYMCON
ImageURL diese Variable auswaehlen.
Dann kann man alles uber ein Script steuern.

	if ( $heizung_ein )
		{ $farbe = "FF3333"; $breite = 500; $hoehe = 300;}
	else
		{ $farbe = "CCCCCC"; $breite = 300; $hoehe = 200;}
	

	$url = "http://barebone:82/jggraph/jgline.php?";
	$url = $url . "ah=25204&id0=28905&id1=34783&id2=59265";
	$url = $url . "&b=".$breite;
	$url = $url . "&h=".$hoehe;
	$url = $url . "&t=Temperaturen";
	$url = $url . "&z=day1";
	$url = $url . "&bc1=". $farbe;
	

	SetValueString(xxxxx,$url);

Damit hat man ein „kleines“ Bild wenn die Heizung nicht an ist und
wenn die Heizung laeuft wird das Bild groesser und der Hintergrund
Farbverlauf aendert sich ( kann jeder machen wie er will ) .

Ich hab immer noch diesen Fehler bei den Wochen und Monatsgraphen.

Hab gestern eine Version hochgeladen die ein paar Sachen abfaengt.
Hab mir die Fehlerzeilen in jpGraph angeschaut.
Hat was mit dem „runden und aufhuebschen“ der Grafiken zu tun.
Hatte das gestern ganz rausgenommen weil ich erstmal alle Fehler abfangen
will bevor ich am „schoenen“ der Graphen anfange.
Probier mal folgenden Link.
http://www.inisnet.de/inisnet/jggraph/jgline.zip

Prinzipiell nicht verkehrt. Aber ich seh da eine gewiße Gefahr darin, daß die Quelle dann aufgrund der vielen Zugriffe gesperrt wird. Genau das hab ich vor ein paar Tagen auf einer Seite erlebt, die Gif’s frei zur Verfügung gestellt hat. Und die Begründung war eben, daß die Seite auf Grund des hohen Traffics durch Verlinkungen auf die URL gesperrt wurde.

Ich würde die Images lieber lokal ablegen. Mal abgesehen, davon daß bei einer URL-Verlinkung diese auch erreichbar sein sollte. Sprich wenn die Inernetverbindung abreißt kommt der häßliche Platzhalter statt dem Image.

Ich bin etwas verwirrt :confused:
Das Script laeuft auf dem lokalen IPS-Webserver.
Internet wird doch garnicht benutzt.

Dann war das ein Mißverständnis meinserseits. Ich dachte Du willst auf ext. URL’s zugreifen. Sorry.

So hab jetzt ein paar Sachen verbessert und Fehler abgefangen.
Der Type des Graphen kann jeder selbst ueber den
Parameter st=0 st=1 oder st=2 bestimmen.
Demograph ob jpGraph OK und Versionskontrolle im Dashboard
moeglich ( check=1 )

style0.jpg

style1.jpg

style2.jpg

LED-Anzeige von IPS-Variablen und
PieGraphen von IP-Variablen hinzugefuegt.

led.png

pie.jpg

HAllo 1007,

http://192.168.20.119:82/jggraph/jgline.php?check=1
bringt V0.4 -> V0.4

http://192.168.20.119:82/jggraph/jgline.php
die Demographik

http://192.168.20.119:82/jggraph/jgline.php?jgline.php?ah=24704&id1=16337&b=1000&h=600&t=Temperaturen&z=day

folgende Fehlermeldung:


Warning: No Interface to invoke function in C:\IP-Symcon\webfront\jggraph\jgline.php on line 198

Warning: array_reverse() expects parameter 1 to be array, boolean given in C:\IP-Symcon\webfront\jggraph\jgline.php on line 198
JpGraph Fehler: HTTP header wurden bereits gesendet.
Fehler in der Datei jgline.php in der Zeile 198.


Der Archive Handler hat die ID=24704
und die Variable = 16337 mit über 8000 Einträgen lt. AH.
Die Variable 16337 ist float, nicht boolean

Wo muss ich suchen
Gruss NBA

Kann zur Zeit nicht nachsehen.
Bin Ueber Ostern springen ( Saisonbeginn )
:slight_smile:

Hallo 1007,

so, jetzt klappts - warum? Keine Ahnung!
Vermutlich hat es daran gelegen, dass ich den Rechner runter und wieder hoch gefahren habe und auf „live-update“ von IPS gedrückt habe. Wie dem auch sei…

geniales Tool!! :-))

Gruss NBA