Ich möchte euch heut meine Graphen vorstellen. Das RRD-Tool ist bestimmt gut, aber man hört doch immer wieder wie sehr es doch den Prozessor beschäftigt. Da ich IPS nach Möglichkeit auf einem ganz alten PC als Haus-Server einsetzen will hab ich mir daher viele Gedanken gemacht. Und dies ist dabei herausgekommen.
@Torro: Ich hab mir dein Tool absichtlich nicht vorher angeschaut. Zum einen um unvoreingenommen zu bleiben und zum Anderen hatte ich keinerlei Konkurrenz-Gedanken dabei. Nur Spaß an der Sache.
Was es macht:
-Es erstellt Graphen aus einer simplen Textdatei.
-Zu jeder Variable die man darstellen will erstellt das Tool selbsttätig (muss durch IPS getriggert werden) eine History, die auch von Hand nachbearbeitet werden kann.
-Es kann den Zustand jeder „Zahl Variable“ in IPS verfolgen. Mit Nachkommastellen, Positiv und Negativ.
-Zu jeder Variable können diverse Einstellungen und Layouts erstellt werden
-Die Layouts werden ebenfalls in einer simplen Tetdatei hinterlegt. Damit man immer die kontrolle hat.
-Es kann nehezu beliebig viele Graphen verwalten.
-Es können Tumbnail-Graphen erstellt werden.
-Es braucht nur Sekundenbruchteile für einen Graphen und belastet dabei kaum den Rechner.
-Es speichert die Graphen als JPG. Deren Kompressionsrate und damit die Qualität/Dateigröße kann für jeden Graphen einzeln eingestellt werden.
-Die Größe der Graphen kann man einstellen. Brauche ich für Fullscreen beim PDA.
-Automatische Scaling. Das heisst es wird nach Möglichkeit eine optimale Darstellung der Werte gewährleistet (das war schwierig, bin auch noch nicht ganz zufrieden)
-Es lässt sich vollständig aus einer Textdatei administrieren und über die Kommandozeile bedienen. Damit lässt es sich sauber aus Scripten aufrufen.
Was es nicht macht:
-Es kann und will Torros Tool nicht ersetzen. Es ist sehr auf meine Wünsche und Anforderungen zugeschnitten. Ich nehme aber Verbesserungsvorschläge an.
-Multigraphen kann es nicht darstellen und es ist auch nicht vorgesehen.
-Es werden ausschließlich Werte in Bezug zur Zeit gesetzt. (Monitoring) Die X-Achse ist IMMER die Zeit.
-Es ist nicht an IPS gebunden. Woher die Werte kommen ist ihm egal.
Ich habe viel von euch bekommen, und desshalb gebe ich euch heut etwas zurück. Ich geb das Tool raus an jeden, der es testen möchte. Aber seid nachsichtig mit mir. Ich hab nur wenig Zeit da rein investiert, es ist noch nicht ganz fertig, und es sind bestimmt noch kleine Macken drin… Ich muss es noch ein wenig polieren bevor ich es aus der Hand geben kann, aber lasst es mich wissen wenn ihr Intresse habt es zu testen
07.03.06 - Version 0.9b
So Leute ich hab nun einmal einen Download angehängt. Lasst mich bitte wissen, wenn ihr Probleme habt. Es ist sonst schwer für einen Entwickler etwas dagegen zu unternehmen.
08.03.06 - noch immer Version 0.9b
Ich bin Opfer meines Packers geworden. Der hat leider das in der Readme.txt beschriebene verzeichnis nicht mit Kopiert. Klassischer Bedienungsfehler meinerseits. Hier ein Update mit korrekt gepacktem ZIP - Sorry.
das sieht schon sehr gut aus. Genau richtig für mich, da mein 500MHz Rechner schon sehr zu kämpfen hat. Ich würde das Tool gerne verwenden zur Visualisierung meiner Heizungstemperaturen (Soll + Ist-Werte), von daher wäre eine Grafik mit 2 Datenreihen schon sinnvoll (1 Chart pro FHT). Muss ich dann die Daten erst eine Text-Datei schreiben oder wie? Kann ich die Charts irgendwie in den Designer integrieren? Aktualisieren sich die Charts automatisch?
ein sehr schönes Projekt, was Du da realisiert hast.
Ich selbst habe schon vor einigen Monaten ein ähnliches Tool geschrieben, allerdings speziell für den Einsatz im Designer.
Einen Graphen aus einer Textdatei zu berechnen und zu skalieren ist gewiss kein GAU für die CPU. Damals hatte ich mit Torro eine diesbezügliche Diskussion und ich muss gestehen, dass ich bis heute nicht verstehe, warum Torros Tool so CPU-hungrig ist. Auch mein Programm schafft das im Millisekundenbereich. Ich muss Dir also völlig Recht geben.
Aber ich habe ein paar Bemerkungen zu machen:
Wir haben es bei den FHTs mit zwei „Klassen“ von Graphen zu tun: Temperatur und Ventilstellung.
Worin liegt der Unterschied?
Die Temperatur besitzt einen kontinuierlichen Verlauf.
Die Ventilstellung besitzt dagegen einen zeitdiskreten Verlauf.
Wenn Du ein Abtastintervall von 5 Minuten zugrunde legst, dann kann man davon ausgehen, dass die Temperatur sich in diesem Zeitraum kontinuierlich geändert hat. Wohingegen die Ventilstellung sich sprunghaft ändert. Dieser Unterschied sollte auch aus dem Verlauf eines Graphen deutlich hervorgehen. Ein zeitdiskreter Graph verläuft „eckig“, denn er ist die allermeiste Zeit konstant (siehe Anhang).
Diese Feature beherrscht auch Torros Tool nicht!
Es ist sehrwohl sinnvoll mehrere Graphen gleichzeitig darzustellen, denn sehr häufig möchte man doch Vergleiche anstellen. Das geht deutlich besser, wenn beide (oder noch mehr, aber nicht zu viele) im selben Koordinatennetz dargestellt werden.
Ich habe bewusst auf das JPG-Format zugunsten von GIF verzichtet. Erstens sind die Dateien kleiner und zweitens gibt es keine „verwaschene“ Darstellung.
Vielleicht ist diese Anregung für Dich interressant.
Du bist mit Denem Tool sicher auf dem richtigen Wege. Weiter so…
Zu 1.: Ich setze keine FHTs ein und bin noch nicht auf die Idee gekommen dass ich das mal tun werde. (werd ich wohl auch nicht). Der „eckige Verlauf“ ist nach meiner Methode ganz simpel zu implementieren. Werd ich mir mal vornehmen in Version 1.1
Zu 2.: Ja, ich hab mir da schon Gedanken drüber gemacht. Da ich es (noch) nicht brauche habe ich es nicht mit reingenommen. Letztlich ist die Änderung im Code aber nicht so gigantisch, dass man nicht mal drüber nachdenken könnte.
Über Gif hab ich schon nachgedacht…
Ich stell das Teil heute oder Morgen zu download hier rein. Könnt ich alle gerne bekommen. Zum benutzen oder „zerreissen“
@DocSnug: das volle Script, also alles was du brauchst, steht schon da. (oben)
grundsätzlich habe ich nichts dagegen meine Scripts weiterzugeben.
Ich überlege gerade, wie ich das anstelle. Das Projekt besteht nämlich inzwischen aus dutzenden von Scripts und nochmehr Variablen. Es ist daher dringend erforderlich erst einmal aufzuräumen. Dafür brauche ich etwas Zeit.
Der prinzipielle Aufbau des Graphen sieht etwa so aus:
Die relevanten Daten werden im 5-Minuten-Takt mit festem Format in eine Datei geschrieben.
Ebenfalls im 5-Minuten-Takt wird diese Datei zusammen mit der vom Vortag ausgelesen, damit immer ein Zeitraum von mindestens 24 Stunden zur Verfügung steht.
Es wird ein leeres Graphenfenster erzeugt mit einer Breite von 288 Pixeln. Somit entspricht 1 Pixel genau einem 5-Minuten-intervall (bezogen auf 24 Stunden).
Ausgehend vom aktuellen 5-Minuten-Intervall (also dem jüngsten Eintrag) werden die Graphen rückwärts in das Fenster eingetragen.
Der Vorgang wird für alle beteiligten Räume wiederholt.
Meine Graphen-Routine ist inzwischen genau auf diesen Anwendungsfall abgestimmt. Dieser Abstimmung ist auch die Skalierung zum Opfer gefallen. Wenn Du mehr Flexibilität benötigst, müsstest Du die fehlenden Teile selbst ergänzen oder doch das Tool von Tonic1024 verwenden. Das ist in mancher Hinsicht dem meinen eine Nasenlänge voraus.
Egal, wie Du Dich entscheidest, ich werde auf jedenfall mal mit dem Aufräumen beginnen.
Danke für die Blumen. Aber ich denke die baben beide so ihre Vorteile. Wenn ich höre 5min entsprechen 1 Pixel. Soweit hab ich wirklich nicht gedacht. Ich muss zugeben, man wird es schwer haben minutengenau oder auf 0,1 Grad-Celsius genau von meinem Graphen abzulesen. Ist wieder ne Frage vom Scaling…
Aber ich hab noch so einiges an Ideen und viel zu wenig Zeit die umzusetzen.
Konnt mir nicht verkneifen mit diesen Vorgaben Nen Graphen zu generieren. Nur um zu sehen wies ausschaut.
Jap, und genau da sehe ich den Unterschied und auch den Bedarf für mein Tool. Sieht ziemlich professionell aus. Aber sowas will ich morgens auf meinem Panel nicht lesen (müssen). Wie ich schon geschrieben hab kann und will ParaGraph soetwas nicht darstellen. Ich hab ehrlich gesagt auch keine Lust es soweit aufzubohren. Ich will auch nicht in Konkurrenz mit dir treten oder irgendwas beweisen. Ansich ist das ParaGraph auch nur für mich allein bestimmt. Ich möchte nur das Forum dran teilhaben lassen.
Mein Gedanke ging eher in die Richtung der Einfachheit. Ich hab nämlich nie große Lust mich mit Bedienungsanleitungen auseinander zu setzen. ParaGraph wird nur auf die Festplatte kopiert und mit einer Zeile im Script bedient. Die Bedienungsanleitung (arbeite ich grade dran) wird gleichzeitig (ganz Linux-Like) das Konfigurationsfile sein
einfach und simpel hört sich gut an. Ich wollte eigentlich nur die Stromaufnahme unseren Hauses zusätzlich zu den Anzeigewerten einmal Graphisch sichtbar machen.
Dann warte ich mal ab, bis du die 726 seitige Bedienungsanleitung fertig hast
11 Downloads. Find ich klasse, dass so ein Interesse an Toni’s ParaGraph besteht. Leider hat mein Packer mich überlistet und die in der Readme.txt beschriebene Verzeichnisstruktur aufgebrochen. Das Verzeichnis, dass ihr entpacken sollt ist garnicht im Zip-Archiv.
Ich habe das korrigiert. Der jetzige download funktioniert (im ersten Beitrag geändert). Für alle die keine Breitband verbindung haben ne kleine Anleitung:
Im IPS-Verzeichnis ein Unterverzeichnis erstellen mit Namen „ParaGraph“
Auf dieses verzeichnis mus der User Schreibrechte haben weil ParaGraph dort ein Logfile anlegen will. Die Dateien „ParaGraph.ini“ und „test.txt“ müssen in dieses Verzeichnis verschoben werden. Die EXE bleibt im Stammverzeichnis von IPS.
das logfile wurde erst geschrieben, als ich ein jpg erzeugen wollte, vorher war das logfile gar nicht da, und das jpg wurde auch nicht erzeugt (aus deinem Test.txt.
Die Variable ist eine Float.
Das mit dem DOS-Fenster ist leider eine dumme Sache, sieht aus, als wenn mein Touch-Screen in der Wand 'ne Bildstörung hat
Hast du die Anleitung gelesen? Die Dateien liegen alle am verkehrten Ort nach dem Entpacken. Das war ein Fehler im Zip-File, den ich bereits korrigiert habe. Deine Informationen sind etwas spärlich. Da kann ich dir so kaum weiterhelfen.
ParaGraph.exe -> IPS-Stammverzeichnis
ParaGraph.ini -> Verzeichnis ParaGraph als Unterverzeichnis vom IPS Stammverzeichnis
test.txt -> Verzeichnis ParaGraph
(Im jetztigen download ist das automatisch so, wenn du den ins IPS-Verzeichnis entpackst)
Rechte gesetzt auf das Verzeichnis - je nach Windows Benutzer
in der INI steht, dass er nach C: est.jpg schreiben soll. Gibts Laufwerk C bei dir und hat dein Windows-User dort Schreibrechte? Du kannst das JPG auch woanders hinschreiben lassen.