mein Projekt: SQLite DUG Tool

Hallo Tobias,

ich hab mal 5 Graphen angehängt. Sieh Dir das mal an. Sind alles Float oder Integer Variablen. Da stimmt auch etwas nicht.

hi Rainer,

schön zu sehen, dass du mein Projekt so richtig durchtestest. :slight_smile:
Also, der Button „datensatz löschen“ funktioniert noch nicht. Ich hab den Button schon angelegt, ihm aber noch keine Funktionalität zugewiesen. Für mich war das so ok, aber wahrscheinlich ist das nicht so die schöne Art für veröffentlichte Projekte. Am Ende der Woche ist diese Funktionalität aber fertig.
Zu deinen Graphen:
die sehen alle, wie erwartet aus:
Graph 1: da werden so viele Datensätze dargestellt, dass nur noch ein dicker Balken erzeugt wird. -> die Lösung ist entweder eine andere Zeitskala zu wähle, oder die Größe des Diagrammes erhöhen, damit der Graph auseinander gezogen wird.
-> evtl. könnte ich später mal nen Filter schreiben, der mehrere Werte zusammenfasst, um diese schöner darzustellen. Aber das hat keine Priorität für mich
Graph 2: der erste Wert ist ist so groß, dass JpGraph eine Skala wählte, so dass alle Werte auf den Graphen passen, daher werden die sehr viel kleineren Werte nur noch unten am Rand dargestellt.
Graph3: sieht doch schön aus :slight_smile:
Graph 4 und 5: Nun, da gibt es eine Besonderheit der Darstellung: Ich habe JpGraph so eingestellt, dass Integer als Treppenstufen dargestellt werden und Float werte mit Zwischenwerten. Das entspricht ja auch der mathematischen Definition. Es wäre falsch, wenn ich zwei integer Werte z.b. 1 und 5 direkt mit einer Linie verbinden würde und diese Linie dann z.b. durch den Wert 2.5 oder so gehen würde. Daher werden für Integer „Treppenstufen“ benutzt. Bei Float werten ist es ganau umgekehrt, da werden die Werte dirket mit Linien verbunden, denn dort gibt es ja Zwischenwerte. Deshalb sieht dein Graph 5 aus so merkwürdig aus.

Die Lösung für das Problem wäre entweder diese Unterscheidung auszumachen, oder dem DUG Tool vorzugaukeln, dass dass Integer Werte in der DB eigentlich Float Werte sind. Dafür müsstestdu aber dirket in der Datenbank etwas verändern.

Eine Idee hab ich noch: Du kannst mal folgendes ausprobieren: lege eine Variable Luftfeucht vom Typ Float an und sag dann dem KS300USB Objekt, dass es die Werte für die Luftfeuchtigkeit dort hineinschreiben soll. Ich weiß nicht, ob IPS das so annimmt, aber wenn ich heut abend zu hause bin, probiere ich es mal aus.

P.S.: Ich würd zu gerne wissen, ob du die Graphen nachts umkurz von fünf manuell erstellt hast, oder automatisch erstellen lassen. Normalerweise schläft man da doch, oder ?:slight_smile:

gruß Tobias

Hallo Tobias,

P.S.: Ich würd zu gerne wissen, ob du die Graphen nachts umkurz von fünf manuell erstellt hast, oder automatisch erstellen lassen. Normalerweise schläft man da doch, oder ?
Das ist normaler Alltag. Zudem ich diese Woche zuHause bin.

Die Lösung für das Problem wäre entweder diese Unterscheidung auszumachen, oder dem DUG Tool vorzugaukeln, dass dass Integer Werte in der DB eigentlich Float Werte sind. Dafür müsstestdu aber dirket in der Datenbank etwas verändern.
Ich habe es mal in der Datenbank geändert. Mal sehen wie es aussieht…

Der Button löschen ist nicht so wichtig, ist mir nur aufgefallen.

Nochmal um auf den Graphen Windgeschwindigkeit zurückzukommen, denke ich, sollte bei Null wieder angefangen werden. Ob das so richtig ist, weiß ich allerdings nicht. Kenne es aber nur so.

An Ende ist wichtig das alles korrekt dargestellt wird, wie es dann aussieht, daran kann man sich ja gewöhnen.:slight_smile:

PS: Hab noch mal 2 Graphen angehängt. Bei der Luftfeuchtigkeit sieht es nach Umstellung auf Float jetzt so aus. Der Wind war Float.

Ja, die Luftfeuchtigkeit sieht doch jetzt gut aus.

Da die Windgeschwindigkeit ein Float ist, werden diese langen Diagonalen eingezeichnet. Besser würde es aussehen, wenn es Integer wären, dann würde das Diagramm so dargestellt, dass die Linie da, wo sie jetzt die Diagonale bildet, dann auf 0 zurück gehen würde.

Ich kann dir folgendes anbieten. Ich baue in die DB noch einen Wert ein, so dass man unter den „erweiterten Einstellungen“ individuell angeben kann, welches Darstellungsformat man für bestimmt Variablen haben möchte. Also entweder Treppenstufen (wie für die Windgeschwindigkeit) oder mit Zwischenwerten, wie bei der Luftfeuchtigkeit.

Ich denke das ist ein guter Kompromiss.

kommt auf die Todolist,
Gruß Tobias

Hallo Tobias,

könntest Du die generierten Graphen und dem Media-Verzeichnis von IPS ablegen, somit stände es sämtlichen Applikationen unter IPS zur Verfügung.

Hatte versucht den Pfad in der DB anzupassen was auch funktionierte aber es wurden auch alle 3 anderen Felder der Tabelle „Zubehör“ auf den Wert des Graph-Pfades geändert, somit funktioniert natürlich einiges nicht mehr.

Hallo Tobias,

folgendes ist vorhin passiert. Der Luxgraph wird normal upgedatet, zeigt aber das Datum von gestern an und es hagelt Fehlermeldungen. Ich suchs sie im Log raus und häng sie Dir dann noch dran.

Das erste mal um 7:54 Uhr.

Warning: Cannot use a scalar value as an array in C:\IP-Symcon\scripts\graphenbasis.php on line 194
Warning: Cannot use a scalar value as an array in C:\IP-Symcon\scripts\graphenbasis.php on line 201

So Graph gelöscht(Fehlermeldungen sind weg). Graph neu angelegt, alles wieder in Ordnung. Der neue Graph auch im Anhang.
Ich denke er kam mit der Scalierung nicht klar beim neu schreiben. Da die Helligkeit doch stark schwankt, können bei vollem Sonnenschein schon mal um die 145000 Lux und mehr erreicht werden.

lux.jpg

lux1.jpg

Hallo,

ja, kommt in der neuen Version am Wochenende.

Die Zeilen in denen der Fehler aufgetretten ist, deuten aber eher auf Probleme mit der X-Achse, also der Zeitskalierung, hin. Bis jetzt kann ich den Fehler aber noch nicht nachvollziehen.
Generell ist es besser eine Kopie der Datenbank anzulegen, wenn ein solcher Fehler reproduzierbar auftritt. Die DB könntest du mir dann zusenden und ich könnte das Problem analysieren.

Nun gut, wie gesagt, spätestens am WE gibts mehr.
Sortieren nach Variablennamen und Graphen nachträglich bearbeiten ist schon fertig. Der Rest kommt noch.

bis dahin, Gruß Tobias

Ich teste nun auch fleißig dein Tool und es sind mir bisher 2 Dinge aufgefallen:

1.) Ich kann bei mir keine Boolean Variablen in einem Diagramm anzeigen lassen. Zwar werden fleißig Daten in die DB geschrieben (Bewegungsmelder) aber leider keinerlei Linie im Diagramm nicht angezeigt.

2.) Die Beschriftung für Min-Max-Avg. ragt in den rechten Schriftzug herein, wenn man die Größe des Diagramms auf 600x300 belässt. Bei 800x400px passt es dann.

3.) Man kann leider einmal erstellte Graphen nicht mehr bearbeiten. Leider nur löschen und ganz neu anlegen. Kommt da noch was? Auch hat man leider keinen Einfluss auf die Einheiten Beschriftung bei Multigraphen, wenn in ihm unterschiedliche Einheiten (Temp./Feute) angezeigt werden sollen.

Auch könnte man den untersten Wert auf der Y-Achse etwas nach unten verlegen, da sonst die Temperatur (immer so um die 20°C) fast auf der X-Achse liegt (parallel verläuft)

Hallo obicom,

Das freut mich zu hören.

Das scheint wirklich ein Problem zu sein. Ich schau mir das mal an und schreib dann mehr dazu.

Diese beiden Dinge sind in meiner version hier zuhause schön geändert. Allerdings würde ich sie gerne testen bevor ich das veröffentlich. Vorraussichtlich werde ich zum kommenden Wochenende die neue Version hochladen.

Das klappt tatsächlich noch nicht. Es wird wohl auch noch ein oder zwei Wochen dauern, bis dieses Feature eingebaut ist. Ich will erst mal, dass das Tool stabil läuft und „einfache“ Graphen ordentlich darstellt. Aktuelle wird nur eine Y Skala angelegt und mit der Einheit beschriftet, die die letzte dargestellte Variable enthält. Mit anderen Worte, die Multigraphen sind aktuell nur für mehrere variablen des selben Typs ausgelegt.

Ich kann mir da jetzt nicht genau vorstellen, was du meinst. Füg deinem Beitrag einfach mal das Diagrammbild des Graphen den du meinst bei. Im allgemeinen ist das mit der Y Skalierung eine etwas umständliche Sache, da die von der Graphen Bibliothek automitsch angelegt wird. Wenn ich weiß, was genau du haben willst, werd ich mal schauen, was ich da machen kann.

Trotzdem danke für die Hinweise. Ich bin für alle Auffälligkeiten dankbar! :slight_smile:

Schönen Abend noch, Gruß Tobias

Also zu den beiden letzten Punkten:

Lass doch einfach zu, das man im Multigraphen die Y-Achse selber mit einer Einheit versehen kann. Mach ich bei meinen Multigraphen im WIIPS auch so (°C / % rel. Feuchte). Dort kann man die Einheit für jeden Multigraphen manuell eingeben.

Zu dem Graphen nahe an der X-Achse mal ein Beispielbild:

Würdest du die Y-Achse mit -10 vom Min Wert anfangen lassen (in dem Beispiel also bei 0°C) wäre der Abstand zur X-Achse größer und der temp. Graph besser zu erkennen.

Hallo Tobias,

was hälst Du hiervon ?

Edit: Kannst Du vergessen. Funktioniert nur wenn nicht zuviele Datenpunkte vorhanden sind.

graphbeschriftung.jpg

Sehr schicke sache schaut euch och mal pchartan das Teil macht einfach geile Grafen
MFG Ken
Ach übrigens Geiles projekt

ein bischen aufgepeppt mit der Graphfarbe transparent als Füllfarbe.

Ich denke macht aber nur bei Singlegraph Sinn. Bei Multi müsste man es rausfiltern.

Ja, das sieht wirklich schön aus. Aber was mich an der Füllfarbe stört (und weswegen ich sie nicht benutze) ist, dass der Graph am Ende immer so aussieht, als ob er auf Null zurück geht.
Hat man nun eine Variable, die zwischen null und irgendeinem Wert schwankt, so kann diese Darstellung verwirrend sein, da sie den falschen Eindruck erweckt der Variablenwert wäre zum Ende hin Null.

Gruß Tobias

Hallo Tobias,

da hast Du nicht ganz unrecht. Aber man kann es ja umgehen.

graphaussen.png

Hallo Tobias,

der Fehler von hier ist noch aktuell. Was mir aufgefallen ist, es ist immer der selbe Graph(Variable integer). Ich habe ihn jetzt mal auf float umgestellt und werde es mal beobachten.

Es sind auch mittlerweile fast 11000 Datenpunkte für diesen Graph vorhanden.

Schöne Feiertage.

Edit: Was mir noch aufgefallen ist, z.B. ein Floatwert welcher eine Temperaturvorgabe setzt wird auch nicht richtig angezeigt. Er sollte zu dem Zeitpunkt nach oben oder unten gehen und nicht als langsam ansteigend.

Bild im Anhang.

So, ich hab die Feiertage genutzt, um die fehlenden Features fertig zu programmieren. Die neue Version 1.2 ist auf der ersten Diskussionsseite zu finden.
Zwar habe ich meine Arbeit ausführlich getestet, allerdings kann man vor Fehlern nie sicher sein. Wenn also was nicht klappt, mir bitte schnellstmöglich schreiben :slight_smile:

Falls ihr irgendwelche Änderungen am Graphendesign vorgenommen habt, denkt dran eure Arbeit von dem Update zu sichern und dann in die neue Version von graphenbasis.php einzuarbeiten.

@Rainer: könntest du mir schreiben, wie du es hinbekommen hast einen gefüllten Graphen ohne das „falsches Ende“ Problem anzulegen?

Gruß Tobias

Hallo Tobias,

schick ich dir nachher per PM.

Hallo Tobias,

update soweit OK. Nur die graphenbasis.php sollte eigentlich auch im scripts Ordner mit upgedatet werden !

Update hat bei mir auch fast geklappt. Bekam ein , zei Fehlermeldungen angezeigt. Danach ist mir aufgefallen, das Variablen, die ich in der Zwischenzeit verschoben hatte, in der Liste noch am alten Ort stehen. Wie kann ich den am einfachsten mal die Variablen-Liste neu anlegen lassen?