Reporting mit Graphen und MySQL on Demand

Hallo zusammen,
ich habe mir mal gdanken zum erstellen von Grafiken im IPS gemacht. Meine Anforderungen waren: MySQL Basiert, individuelle Reports, Web.

Folgendes ist nun dabei herumgekommen. Was ich jedoch vorher noch sagen muß das was ich hier vorstelle ist mehr gestrickt als programmiert und über das ganze Design kann man sich streiten. Für mich zählt halt nur die Funktion.

Die Basis ist ein Script im IPS welches die zu monitorenden Variablen in eine MySQl Datenbank schiebt. Die Variablen können über eine Webseite ganz easy hinzugefügt werden.
Das Reporting Basiert auf einen Berich von mehreren Tagen (Tagesreport) oder nur auf einen Tag in dem man Start und Stopzeit definiert. Alle Reports sind zur Zeit Historisch und on demand erstellbar.
Das letzte ist gerade fertig geworden. Der Multigraph.

So jetzt mal ein paar Screen Captures. Bei intresse bin ich gerne bereit alles mit install anleitung zu Posten, aber bitte habt Nachsicht das ich keinen Support auf die Lösung geben kann. Ich habe halt recht wenig Zeit und muß noch die Heizung- und Lüftungssteuerung vor dem Winter fertig bekommen.
Die Grafiken werden übrigens mit der JpGraph Library erstellt.

Systemvoraussetzung: GD2lib.dll, mysql

Gruß

Oliver

seh ich genauso, mit mysql und php ist man viel freier - gerade auch wenn man die auswertungen selber vorgeben oder ändern möchte.

ich habe z.b. für unsere terminalserver user ein linzentool gebaut, mit dem sie ihre lizenzverbräuche bzw. terminalnutzung nachvollziehen können, das kommt nun immer an die rechnung bei und wir nutzen sogar das tool zum reporten an ms.

ausserdem kann man die seiten dann individuell ans eigene layout einer eventuell bestehenden webseite anpassen.

Hi Folks,
da ich nicht gerade der PHP Crack bin, war mir die Umsetzung einer solchen Lösung bis her verwehrt. So habe ich Olis Angebot als Beta-User zu fungieren vor ca 2 Wochen dankend angenommen. Ich kann echt sagen Hut ab. Es ist eine kleine Smarte Lösung. Die Graphen werden dann erstellt, wenn ich sie brauche, ansonsten laufen meine Wetter und Solardaten einfach in eine MYSQL Datenbank. So kann ich auch im nachhinein an detailierte Daten heran kommen. Von mir auf jedenfall ein großes „merci“ an Oli. :smiley:

MfG

Alex

PS: Die Installation des ganzen war in ca 30 Minuten (höchstens) erledigt.Und nun werde ich das ganze mit Peters MCE Homcontrol kombinieren. (wegen des look and feels) :wink:

klingt gut :wink:

Hallo Elektrofreak,
hallo Schlimmerfinger,

das hört sich ja alles wirklich interessant an.

Ab wann kann man mit der Anleitung rechnen. Bin schon ganz gespannt.

Einfach schön anzusehen, wie Leute sich in so ein Projekt reinhängen können.

mfG Franz

Hallo zusammen,

hier meine Projekt als Zipfile. Ich nenne es mysqldata. Naja einfach alles in ein IPS Webverzeichnis entpacken und die install.txt lesen. Wenn MySQL schon läuft dauert das ganze vieleicht 10 Minuten.
Viel Spass !!! Übrigens ich übernehme natürlich keine Haftung für meine PHP Strickmaschine.

www.apfelstiege.de/ips/mysqldata1.0.6.zip <- geändert am 15.11.06

Gruß Oliver

:slight_smile:

Hallo MSR_Junky,

ich habe hier in der Firma nochmal mit den DB Spezies gesprochen. Sie sagten das du mit der DB bei 400 Variablen keine Probleme bekommen solltest :smiley: . Wenn du natürlich alle Graphen auf einmal Anzeigen lassen willst wird das JPGraph das ganze ausbremsen da ja alle Datensätze über ein Array abgegeben werden.:mad:
Wie läuft es denn bei dir jetzt so. :confused:

Gruß

Oliver

Hallo elektrofreaf,

Installation lief nach Anleitung fehlerfrei. Nebst Installation der mySQL-DB brauchte ich ca. 15 Minuten.

So, nun zu meinem Problem.

DB läuft und Daten werden gesammelt, zumindest laut MySQL Query-Tool. Die Einträge in der DB sind auch korrekt.

Also.

[ol]
[li]DB läuft.
[/li][li]Skript über Timer 1 Minute läuft
[/li][li]Variable: mySqlDataCounter = 2 (da 2 1-Wire-Sensoren überwacht werden)
[/li][li]Poller-Config in deinem Tool läuft dem entsprechend auch.
[/li][li]Extension eingefügt: php_gd2.dll und php_mysql.dll
[/li][/ol]

Nur.

Ich kann mir keine Grafiken anzeigen lassen. Bei Auswahl, egal ob Stunden oder Tage kommt immer folgender Fehler:


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Programme\IP-SYMCON\web\mysqldata\chartgen.php on line 69

Notice: Undefined variable: ydata in C:\Programme\IP-SYMCON\web\mysqldata\chartgen.php on line 95

Notice: Undefined variable: xdata in C:\Programme\IP-SYMCON\web\mysqldata\chartgen.php on line 95
JpGraph Error Eine leerer Datenvektor wurde für den Plot eingegeben. Es muss wenigstens ein Datenpunkt vorliegen.

Vielleicht fällt Dir dazu was ein.

Also, wenn ich das richtig sehe hast du die Variable MySqlDataCounter flasch angelegt. Bitte groß und kleinschreibung beachten. Dieser Counter ist dafür da, festzustellen ob es sich um einen 5 Minuten bzw 1 Minuten Poll handel !!! Wenn der falsch geschrieben ist steht wahrscheinlich in der DB bei Polltimer immer 1. Dann funst die Tagesauswertung nicht, sondern nur die Stundenauswertung. Die Tagesauswertung und Multichartauswertung verwendet nur 5 Minuten Polls. Also schau mal ob die Stundenauswertung funktioniert, dann ist das dein Fehler.
Die mysql.php scheinst du ja angepast zu haben, aber check das bitte nochmal.

Gruß

Oliver

Hallo Oliver,

leider nicht, die Variable ist schon richtig angelegt, war nur ein Tipfehler im Thread.

In der DB sind auch die Pollzeiten 1 und 5 vorhanden (siehe Screenshot).

Welche Extension hast Du den eingebunden, php_mysql oder php_mysqli. Bei der php_mysqli.dll bekomme ich seitens IPS immer Fehler, die php_mysql.dll meldet keine Fehler.

Der Counter zähöt auch schön hoch.

Hallo,

ich habe die mbstring.dll noch drin für mysql. Finde ich komisch. Bei MSR lief es sofort. Ich schau da nochmal rein ob ich was finde. Hast du evtl noch im IPS debug was gesehen bzw. Koentest du mal bitte alle Variablen in der PollerKonf löschen und eine ohne Sonderzeichen wie -_ etc eintragen ?

Gruß
Oliver

Ich hab den Fehler ich bau das mal up und lade das hoch.

Hallo Oliver,

Hallo MSR_Junky,

ich habe hier in der Firma nochmal mit den DB Spezies gesprochen. Sie sagten das du mit der DB bei 400 Variablen keine Probleme bekommen solltest . Wenn du natürlich alle Graphen auf einmal Anzeigen lassen willst wird das JPGraph das ganze ausbremsen da ja alle Datensätze über ein Array abgegeben werden.
Wie läuft es denn bei dir jetzt so.

Gruß

Oliver

ich habe jetzt ca. 85 Variablen in die DB aufgenommen. Es werden aber nicht mehr allzuviel dazukommen (denke mal es wird sich so bei ca. 100 einpendeln).
Bis jetzt läuft alles reibungslos :slight_smile: Der Rechner wird kaum belastet bei Schreib und Lesevorgängen (nur ein kurzer Peack).
Ich habe mir dein Tool auch noch etwas angepasst :slight_smile: .
Guckst du hier: http://atr-computer.dyndns.org:8080
Die DB wächst wächst täglich um ca. 800Kb.
Ich habe aber noch ein Problem:
Ich möchte wenn man auf eine Temperatur klickt das dann sofort von dieser Variablen eine Grafik erstellt wird. Ich habe das im Bild bei meinem BHKW schon so gemacht, allerdings über den Zwischenschritt mit der Auswahl der Variablen. Ich probier das schon Stundenlang ohne diesen Zwischenschritt hinzbekommen aber ohne Erfolg. Kannst du mir da evtl. weiterhelfen??
Ansonsten geiles Tool :wink:

Gruß
Thomas

Hallo zusammen,

leider hatte ich da noch einen Bug in den Auswertungen wenn eine Variable Sonderzeichen enthält.

Bei einer vorhandenen Installation reicht es die Dateien:

chartgen.php, chartdgen.php, multigen.php

auszutauschen.

www.apfelstiege.de/ips/mysqldata1.0.1.zip

@wgreipl Danke für den Einwurf

Gruß

Oliver

Hallo Oliver,

ist bei den Sonderzeichen auch der „.“ mit drin?? Der macht nämlich auch Probleme :wink:

Gruß
Thomas

Welche Grafik soll denn dann kommen ? Das ist je schon komplett redesigned :slight_smile: Ich hatte so weit garnicht gedacht. Eigentlich brauchst du nur die Variablen an die chartgen.php übergeben. Da gibt es dann nur das Problem mit den $fpkeys (naja ich stricke ja mehr als programmieren). Schreib mir mal bitte genau welcher Chart und welche Auswertung da kommen soll dann schaue ich mal die Woche ob ich dir da noch was bauen kann.

Gruß

Oliver

Hi,

Eigentlich brauchst du nur die Variablen an die chartgen.php übergeben. Da gibt es dann nur das Problem mit den $fpkeys (naja ich stricke ja mehr als programmieren).

Das mit dem Stricken ist bei mir auch nicht anderst :stuck_out_tongue: (wobei mein Stricken noch nicht so gut ist wie deins).

Das mit der Variablenübergabe ist klar. Das Problem ist wie du geschrieben hast die Sache mit den $fpkeys. Das blicke ich nicht ganz :frowning:
Ich übergebe beim Aufruf die Beschreibung der Variablen z.B. Heizung Vorlauftemp. . Danach lasse ich dann die DB suchen und er spuckt mir das Ergebnis aus. Mit diesen Werten soll dann gleich der Graph erstellt werden ohne den Zwischenschritt das man die Variable sowie das Design usw. angeben muß.

Ich hoffe du kannst mir folgen :confused:

Es soll quasi beim Anklicken irgendeiner Temperatur in der Grafik gleich ein Graph (z.B Tagesdarstellung) erzeugt werden.

Gruß
Thomas

Hallo Oliver,

Super, es worked. Vielen Dank.

Vielleicht für die Zukunft.

Abspeichern von Mulitgraphenkombinationen und gruppieren von Sensoren.