mein Projekt: SQLite DUG Tool

Es ist soweit. Seit dem 27.09. ist die neuste DUG Tool Version 1.6 fertig
Hierzu einige Anmerkungen:
Die Version 1.6 entspricht im Umfang der Version 1.5 mit dem Unterschied, dass ich ein paar Bugfixes vorgenommen habe und Version 1.6 jetzt auch mit IPS 2.1 funktioniert.
Wer weiterhin mit IPS 2.0 arbeitet braucht an sich kein Update auf das DUG Tool 1.6 vornehmen.

Wer wissen möchte, wie es um DUG Tool Version 2.0 steht, kann mich gerne Anschreiben, um Zugang zum Repository zu bekommen und mal rein zu schauen.

Wie gehts jetzt weiter?
Ich hab vor das Webseitendesign zum Anlegen und Bearbeiten der Graphen zu überarbeiten und schöner zu machen. Damit einher geht auch, dass man in der nächsten Version Filter für seine Graphen benutzen kann (Splines gehören auch dazu). Ich hoffe es so hinzubekommen, dass man sich dann zb. einen Temperaturverlauf ansehen kann und gleichzeitig von den gleichen Daten eine Linie mit dem Mittelwert angezeigt bekommt. -> dafür ist es aber notwendig Variablen mehrfach auswählen zu können, weswegen ich die Webseite überarbeiten will.
Wenn das geschafft ist, wende ich mich der Einbindung anderer Datenbanken zu. Ich hab Bruns wegen einer zusammenarbeit schon angeschrieben, aber noch nichts gehört. Wenn sonst jemand am DUG Tool mitarbeiten will, kann er oder sie sich gerne bei mir melden.

So, nun viel Spaß mit der neuen Version.!
Gruß Tobias

Hallo liebe Community,

hiermit möchte ich euch mein Projekt, das SQLite DUG (Datenbank und Graphen) Tool vorstellen.

Was bietet mir das DUG Tool?
Wer mySQLData kennt, kann sich in etwa vorstellen, was das DUG Tool kann. Für alle, die sich darunter nichts vorstellen können hier ein kurze Beschreibung.
Das SQLite DUG Tool bietet die Möglichkeiten

  • IPS Variablen zu überwachen und in einer SQLite Datenbank zu speichern
  • Variablen zu editiern-> Namen ändern, eine Einheit zuweisen
  • die Anzahl der zu speichernden Datensätze zu limitieren (Nach Anzahl und/oder Zeit) -> ähnlich dem RRD von WIIPS
  • die Datensätze in Graphen / Diagrammen darzustellen -> mittels der JpGraph Bibliothek
  • Graphen beliebiger Zeitintervalle darzustellen von 1s bis mehrere Jahre
  • Graphen beliebiger Größen darzustellen
  • Graphen manuell oder automatisch in frei wählbaren Intervallen zu erstellen
  • (beliebig) viele Variablen in einem Diagramm mit verschiedenen Farben darzustellen-> beliebig heißt, ich habs mal mit 6 Variablen getestet. Mehr sollten aber auch gehen. Das Erstellen dauert dann halt nur etwas länger.

Welche geplanten Features sind noch nicht fertig?

  • Bargraphen anzeigen -> Verbrauchsgraphen
  • beliebige Filter verwenden

Welche bekannten Bugs gibt es?

  • Leider gibt es einen „Bug“ von dem ich noch nicht weiß, wie ich ihn beheben kann: Wenn man in der Graphenverwaltung einen Graphen sofort erstellen lässt, so kommt es vor, dass nicht das neu erstelle Graphendiagramm angezeigt wird, sondern ein altes im Browsercache liegendes Diagramm.
    ==> Ich weiß nicht, ob das an meinen HTML Unfähigkeiten oder an meinem Browser liegt. Vielleicht hat ja jemand eine Lösung für dieses Problem.
  • Die Erstellung der Graphen kann auf älteren Rechner bei vielen Datensätzen durchaus länger dauern.
  • Die Erstellung der Verwaltungsübersicht dauert je nach Variablenanzahl in IPS sehr lange.

Wie installiere ich das DUG Tool?
Das SQLite DUG Tool wurde für die IPS Version V2 geschrieben und benutzt die IPS IDs zur Identifizierung von Variablen und Scripten. Es ist unter der IPS Version 1 definitiv NICHT lauffähig!!!
Zur Installation:
Ladet die ZIP Datei im Anhang zu diesem Beitrag herunter. Darin enthalten sind alle nötigen Programmdateien für das DUG Tool. Entpackt das ZIP File unter Beibehaltung der Ordnerstruktur in euren Webordner. Bei mir sieht das etwa so aus:
c:\IPSV2\webfront.
Dort hinein kommt das DUG Tool. Also etwa so:
c:\IPSV2\webfront\DUGTool
Nun öffnet Ihr einen Browser eurer Wahl und ruft die Datei install.php im DUG Tool Ordner auf. Bei mir sieht das so aus:
http://localhost:82/DUGTool/install.php
Das Installationsscript zeigt euch an, ob ihr alle Vorraussetzungen zur Installation erfüllt. Wenn nicht, sagt euch das Script, was ihr machen müsst. Sind alle Vorbedingungen erfüllt, drückt einfach auf installieren. Kurz warten, und fertig.
Es kommt eine Seite mit einer Liste alle ausgeführten Installationsschritte und einem Link zur Startseite des DUG Tools.

Das wars dann auch schon. Wollt ihr später noch einmal auf die Verwaltung zugreifen, so müsst ihr die Datei index.php aufrufen. Wieder in etwa so:
http//localhost:82/DUGTool/index.php

Für alle die etwas mehr Erfahrung in PHP haben, sei hier gesagt, dass das DUG Tool folgende Extensions benötigt:
(für alle Unerfahrenen erklärt einem dies das Installationsscript)
php_pdo.dll, php_sqlite.dll und php_gd2.dll

Was gibt es sonst noch zu beachten?
Ihr solltet wissen, dass dies mein erstes größeres PHP Projekt ist. Der Code, den ich geshrieben habe, ist nicht unbedingt schön und mit Sicherheit nicht 100%ig effizient, aber er sollte funktionieren. Wenn es Probleme mit dem Tool gibt, könnt ihr mich hier über das Forum informieren.
Und bitte nehmt zur Kenntnis, dass ich keine Haftung für mögliche Schäden an eurer Hard- oder Software, sowie für möglichen Datenverlust übernehme. Nur, weil dieses Tool bei mir funktioniert heißt das noch lange nicht, dass es bei allen Anderen auch so ist. Dafür sind die Systemkonfigurationen einfach zu unterschiedlich. Ich bemühe mich allerdings das SQLite DUG Tool möglichst vielen Benutztern zugänglich zu machen. :wink:

So, nun viel Spaß damit,
gruß Tobias

Ergänzung:
Es gibt eine ganze Menge Programme mit denen man sich SQLite DAtenbanken ansehen und bearbeiten kann. ICh persönlich benutze den SQLite Administrator unter: SQLite Administrator - International Milestone Beta
Damit könnt ihr sehen, was sich in eurer Datenbank befindet und auch ein paar SQL Abfragen ausprobieren.

Updateanleitung

  1. Sicherheitskopie der eigenen Datenbank anlegen!
  2. Überprüfen, ob man wirklich die aktuelle Datenbank gesichert hat!
  3. Sicherheitskopie der Graphen- und VerwaltungsKonfigurations Dateien anlegen, falls eigene Änderungen am Design vorgenommen worden sind. -> diese Änderungen müssten dann manuell in die neuen Dateien eingearbeitet werden.
  4. Die neue DUG Tool Version ins DUG Tool Verzeichnis kopieren. -> Das sieht bei mir etwa so aus: c:\IPSV2\webfront\DUGTool\
  5. Die Datei update.php aufrufen -> Bei mir geht das so: http://localhost:82/DUGTool/update.php
  6. Einen Augenblick warten und fertig.
  7. Das DUG Tool ist auf dem neuesten Stand.

*** SQLite DUG Tool Change Log ***

*** V1.61 ** 02.10.2009

  • Bug: 60sek Graphenupdate Script wirde jetzt wieder richtig dem Grapehnupdate Script zugewiesen
  • Bug: Anzeige des „Darstellungs-“ und „Neuerstellungsintervalls“ in der Verwaltung funktioniert wieder ohne Fehlermeldung

*** V1.6 ** 27.09.2009

  • Bug: mehrere kleine Bugfixes, um mit IPS 2.0 und höher zu funktionieren

*** V1.52 ** 21.05.2009

  • Bug: Aktuelle Werte in der Legende werden nun gerundet
  • Bug: Mittelwert wird nun im Graphen richtig berechnet -> in der Legende noch nicht
  • Bug: Balkengraphen werden nun aus IPS heraus richtig erstellt -> war ein Problem mit den Pfaden zu den Filterfunktionen

*** V1.51 ** 17.05.2009

  • Bug: Tippfehler in beiden Konfigurationsdateien korrigiert

*** V1.5 ** 17.05.2009

  • Bug: In IPS umbenannte Graphen behalten nun Ihre neue Bezeichnung, auch, wenn sie neu erstellt werden
  • hinzugefügt: neu angelegte Events werden gelöscht, wenn es Probleme mit der Zuweisung zum Script „DBupdate.php“ in IPS gibt.
  • hinzugefügt: 48 Stunden Schritte für die X Achsen Beschriftung -> schöner bei 1 Monatsgraphen
  • hinzugefügt: Balkendiagramme mit den Modi -> Maximum, Minimum, Mittelwert, Summe
  • hinzugefügt: Vorschau der Variablenfarben beim Anlegen und Bearbeiten hinzugefügt
  • hinzugefügt: Darstellungsreihenfolge der Variablen im Graphen ist nun veränderbar -> Graph bearbeiten (erweitert)
  • hinzugefügt: weiter Farben für die Graphen
  • geändert: physikalische Einheiten werden im Graphen nun nicht mehr in eckigen Klammern dargestellt
  • geändert: ein Klick auf „Graphen erstellen“ lässte alle Graphen neu erstellen, wenn vorher nicht ein bestimmter Graphen ausgewählt worden ist
  • geändert: Konfigurationsdateien benutzen nun echte Konstanten anstatt globale Variablen

DUGToolV1.52.zip (398 KB)

DUGToolV1.61.zip (430 KB)

Update1.6 auf 1.61.zip (14.3 KB)

Hallo Tobias,

danke für deine Mühe die Du dir gemacht hast.
Werde es gleich mal testen.

Hallo Tobias,

ein recht herzliches Willkommen im Forum und vielen Dank das Du uns sogleich mit einem so wundervollen Skript verwöhnst. Genau das ist die Mischung die sich viele hier gewünscht haben, die Flexibilät von MySQL und die statischen Graphen von WIIPS.

Habe auch sofort begonnen das Skript zu testen.

Installation klappt reibungslos, auch der erste Start hat auf Anhieb funktioniert. Ich habe mich gleich daran gemacht eine Variable einzufügen was auch funktionierte.

Jetzt wollte ich erst einmal abwarten ob er die Daten auch aufzeichnet. Und hier ist der Haken. Anscheinend wird die DB nicht richtig installiert, oder besser gesagt ein oder alle Tabellen.

Die DB ist in Dateiform vorhanden nur das Skript meldet einen Fehler das die Tabelle VARIABLE nicht vorhanden ist. Der Fehler tritt in dem Skript DBUpdate in Zeile 44 auf.

Hallo Werner,

dann geht bei Dir schon mehr wie bei mir.

Alles wunderbar. Nur kann ich keine Variablen irgendwo einem Graph zuordnen

Servus Rainer,

weiter bin ich auch noch nicht. Solange sich Variablen nicht in der DB abspeichern lassen und somit im dem Graph-Modul zur Verfügung stehen kannst Du auch keine Graphen anlegen.

Da werden wir wohl auf Tobias warten müssen.

Hallo Werner,

kannst Du auch keine Graphen anlegen.

anlegen schon.

Kannst Du Variablne in die DB aufnehmen, bzw. werde die auch gespeichert. Ich habe einen Fehler im Log.

Hallo Tobias,

bitte die Variablensortierung bei der Auswahl nach der Beschreibung sortieren, nicht nach IDs.

Hi Werner,

nein kann ich nicht. Hab alle graphen wieder gelöscht. Der müllt den Log zu.

Hallo Rainer,

ich ging logisch an die Sache.

  1. Variablen anlegen.
  2. Díe Vars den Graphen zuordnen.

Da die Vars nicht zur Verfügung standen habe ich bei den Graphen garnicht mehr weiter gemacht.

Wir haben es bei Uwe (bmwm3) gerade auch installiert. Selber Fehler.

Ja, hab den Fehler gefunden…
muss mal schauen, ob ich das heute noch fertig machen kann.

P.S. Graphen anlegen kann man erst dann, wenn auch werte in der Datenbank stehen. Man kann natürlich auch einen Graphen ohne Variablenzuweisung anlegen, aber das ist natürlich wenig nützlich.

gruß Tobias

-> die neue Version steht am Anfang dieses Themas zum Download bereit. Ich habe ein ChangeLog eingefügt, damit man sieht, was ich verändert habe.

Hallo Tobias,

geht nicht. Einen Graph konnte ich erstellen, mehr nicht.

Hallo Tobias,

im Gegensatz zu RWN hat bei mir jetzt alles funktioniert.

Ich hatte in der alten Version ja bereits an Variable angelegt, diese wurde nach dem Update auch in der DB eingetragen.

Dann einen Graphen erstellt der mit dieser Variable gefüttert wird und gut war.

2 Dinge wären jetzt noch von Vorteil.

  1. Die Graphen sollten sich wieder ändern bzw ergänzen lassen.
  2. Bei der Übersicht der Variablen bitte nach dem „IPS Namen“ sortieren, ansonsten sucht man sich die Finger wund.

Vielleicht auch noch eine Trennung (Gruppierung) von bereits hinzugefügten und noch nicht hinzugefügten Variabelen.

Moin die Herren,

folgendes ist mir noch aufgefallen.

Variablen welche alle Schaltjahre mal aktualisiert werden erscheinen erst nach einem Trigger in der Datenbank.(Sobald eine Variable aufgezeichnet wird, sollte sie auch in der Datenbank sein).

Hallo Rainer.

Du musst auf den „Variable bearbeiten“-Button drücken, dort kannst Du anschließend die Einheit der Variablen die sich in der DB befinden bearbeiten. Sollte auch sofort nach dem anlegen der Variablen möglich sein.

Die Idee das der erste Datensatz beim Anlegen der Variable gespeichert wird ist gut.

Hallo Werner,

hatte sich erledigt. Hab wieder mal schneller geschrieben wie ich geschaut hatte :smiley:

Tatsächlich kann man Variablen erst dann bearbeiten, wenn mindestens ein Datensatz zu dieser Variable gespeichert worden ist. Ich sehe ein, dass das etwas ungünstig ist. Die Idee, dass der erste Variablenwert direkt bei dessen Anlegen in die Datanbank geschrieben wird ist gut und daher auch direkt auf meine todo Liste gewandert.

Eine Sortierung der Variablen nach Namen ist eine etwas komplizierte Sache. Ich werde mal schauen, was ich da machen kann. Was ich aber auf die Schnell anbieten kann, ist, dass die Variablen in der Variablenverwaltung getrennt / gruppiert nach bereits in der Datenbank / noch nicht in der Datenbank angezeigt werden. Die Variablen die schon in der Datenbank sind kann ich dann auch nach deren Namen sortieren.
Bei den Anderen wird es, wie gesagt, schwierig.

Bei der Anzeige der physikalischen Einheit im Graph gibt es noch eine Besonderheit/Einschränkung. Ich bin davon ausgegangen, dass man in einem Graphen mit mehreren Variablen nur Variablen mit der gleichen Einheit benutzt. Daher wird bei der Bezeichnung der Y Achse immer die Einheit der letzten gezeichneten Variable benutzt. Hat die letzte Variable keine Einheit, so wird die der vorletzten usw. benutzt.

Aber schön zu sehen, dass es erste Erfolge gibt. :slight_smile:

Hallo Tobias,

das wird schon :slight_smile:

Noch einige Anmerkungen.

Die Schrift(Uhr) unten würde ich ganz weglassen, sodas die Zeiten in die Mitte rücken.
Eventuell würde ich auch das erstellt mit… weglassen und nur erstellt am … oben Mittig unter den Text setzen. Ist übersichtlicher und unten ist mehr Platz.

Habs mal schnell geändert. Da siehst Du wie ich es gemeint hatte.

tempgraph1.jpg

Hallo Tobias,

Datensatz aus Datenbank löschen funktioniert nicht. Sehe leider auch keine Fehlermeldung.