Neues Charting / Plotting - GUI Redesign?

Begonnen von Johannes, 20 Januar 2013, 12:06:52

Vorheriges Thema - Nächstes Thema

Johannes

Hallo Markus,

Der Fix ist online, du musst nur das Perlmodul austauschen gegen die neue Version:
https://github.com/w3stbam/FHEM_Frontend/raw/master/perlmodules/99_DbUtils.pm

Kurze Rückmeldung obs klappt wär super.
Grüße!

Markus Bloch

Funktioniert, jetzt seh ich auch einige Devices mehr als vorher :-)
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Johannes

Super!

Ich mache gerade die Charts speicherbar, damit man nicht immer von vorne anfängt sich verschiedene Charts zu bauen.
Die Charts tauchen dann im linken Reiter "Plots" auf und werden per Klick direkt angezeigt

Markus Bloch

Eine Frage, ist es möglich evtl. folgende Features zu realisieren?


  • in den Charts zu zoomen? also einen bestimmten Bereich markieren und dann da rein zoomen
  • Zeitlicher vor und zurück button

Du hattest ja gemeint, man kann nun auf der y achse mit dem scrollrad zoomen. Allerdings zoomt man da immer vom 0 Punkt auf der Y-Achse aus. Hier währe es super auf den Y-Wert zu zoomen, der unter dem Mauszeiger liegt.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Johannes

Zitat von: Markus Bloch schrieb am Mo, 04 Februar 2013 21:42
  • in den Charts zu zoomen? also einen bestimmten Bereich markieren und dann da rein zoomen
Mittels Markierung wird das wohl nicht gehen, denkbar aber, dass man wie du schilderst auf einen Wert "heranzoomt", der sich unter dem Mauszeiger befindet.
Muss ich mir mal genauer anschauen
Zitat von: Markus Bloch schrieb am Mo, 04 Februar 2013 21:42
  • Zeitlicher vor und zurück button[/list]
  • Das ist kein Problem, ich wollte eh den bisherigen Kalender erweitern auf 2, so dass man einen von - bis Zeitraum wählen kann.
    Aber auch 2 Buttons einzubauen, die um einen festen Betrag in die Vergangenheit / Zukunft springen, ist kein Problem.

    Wenn ich das Speichern fertig habe schaue ich mir die Punkte nochmal genauer an, wie sie am besten umzusetzen sind. Möglichkeiten gibt es genug.

    Johannes

    Ich hab mir nochmal die Geschichte mit dem Zoomen angeschaut. Das gute ist, dass es in extjs schon vorgesehen ist, eine Box über den Chart aufzuziehen und damit zu zoomen. Entweder auf Basis der x, y Achse oder sogar beide gleichzeitig. Das schlechte ist, dass es da noch einen gemeldeten Bug gibt der das ganze vom funktionieren abhält. Sobald der aber gefixt wurde, baue ich das natürlich gerne ein. Bis dahin müssen wir mit zoom über scrollrad leben.

    Zu den "Zeitsprüngen" auf der y-achse:
    Ich dachte daran, zuerst einen 2. Kalender einzubauen inkl. Uhrzeit, so dass man einen genauen Zeitraum definieren kann. Auf Basis dieses Intervalls, z.b. ein Tag, könnte man dann mit vorwärts / rückwärts Buttons um eine Einheit nach vorne oder hinten springen.
    Meinungen dazu? Ich bin offen für alle Ideen.

    Johannes

    So, neues Release ist online auf https://github.com/w3stbam/FHEM_Frontend

    Neuerungen:

      * Charts können jetzt gespeichert und geladen werden. Gespeicherte Charts tauchen links im Reiter Plots auf. Durch Klick auf einen Eintrag wird dieser geladen und dargestellt. Die Speicherung erfolgt direkt in der Datenbank

        * Man kann nun einen genauen Zeitraum definieren, da es jetzt je einen Kalender für Start und Ende gibt. Möchte man Uhrzeiten angeben, so muss das derzeit direkt im Feld per Tastatur erfolgen.

        * Es gibt nun ein Step forward / Step Backward Button. Damit wird auf Basis des eingestellten Intervalls auf der Y-Achse vor oder zurück gesprungen
     
    Die Installationsanleitung bleibt gleich. Für diejenigen, die bereits eine Version am Laufen haben reicht es aus, Schritt 1 und 7 nochmal durchzuführen, also das überschreiben des gesamten "app" Ordners und des Perlmoduls

    Johannes

    Aktueller Screenshot



    (siehe Anhang / see attachement)

    Johannes

    In den nächsten Tagen fällt die Installation komplett weg, dann lässt sich das Charting Frontend einfach per fhem update einspielen. Ich hoffe das verringert die Einstiegshürde für das ganze.
    Sobald der Umzug komplett ist gebe ich nochmals Bescheid, was dann noch übrig bleibt um das Charting zu konfigurieren.

    Meine aktuelle Roadmap ist zur Zeit:

      * gespeicherte Charts wieder löschen können
      * beliebig viele Y-Achsen hinzufügen, um z.B. Soll und Ist Vergleiche zuhaben, oder einfach z.B. den Verlauf des aktuellen und vorherigen Tages auf einen Blick zu haben
      * Einführung neuer Charttypen, wie z.B. Säulen bzw. Balken, Kuchen etc.

    kermi

    Zitat von: Johannes schrieb am Di, 12 Februar 2013 22:46Meine aktuelle Roadmap ist zur Zeit:

    ist schon etwas in Planung für die FB?

    Gruss
    Stephan
    FB 7390 mit FHEM 5.5
    2x CUL V2
    HM-Sec-RHS, HM-ES-PMSw1-Pl, HM-PB-4Dis-WM, HM-LC-Dim1TPBU-FM, HM-LC-Sw1-FM, HM-PB-2-WM55, KFM 100, HM-OU-LED16,
    EM 1000 WZ ... und div. Quatsch

    Johannes

    Ich komme "etwas" voran was die Fritzboxen angeht. Ich habe immer hin ein aktuelles perl 5.16 inkl. DBI Modul kompilieren können, das auch auf meiner FB läuft. Es hapert aber noch an den Connectoren (mysql/sqlite/pg). Wird also noch was dauern, aber es bleibt machbar

    Johannes

    Ich habe gerade eine Tabellenfunktion eingebaut, mit der sich sämtliche geloggte Daten aus der Datenbank auslesen lassen.
    So hat man nicht nur aktuelle Readings zur Verfügung, sondern kann sich die gesamte History anschauen.
    Bei meinem aktuellen Stand lässt sich der gesamte Datenbankinhalt (ca. 17000 Zeilen) komplett in einer Tabelle im Browser darstellen und durchscrollen, die Größe der Datenbank spielt also keine Rolle.

    Denkbar ist auch hier eine Filterung nach Devices, Zeiträumen etc.
    Feedback dazu erwünscht.

    Nächstes Release kommt übrigens, sobald das aktuelle DbLog Modul eingecheckt wird, was in den nächsten Tagen passieren sollte.


    (siehe Anhang / see attachement)


    Smooth

    Vielen Dank Johannes,

    habe am Wochenende meine Textlogs in MYSQL umgeswitcht, und bin begeistert wie einfach das dank diesem Forum
    möglich wird. Vielen Dank für die vielen vielen Arbeitsstunden die alle in das Projekt FHEM investieren.

    Meine Datenbank läuft soweit prima, allerdings habe ich noch ein paar Fragen:

    -  Speichern der Plots im neuen Charting ist problemlos möglich, nur das Laden funktioniert nicht.
       (Klick auf den Namen führt keine Aktion aus)

    -   Wenn ich mittels SQL-Abfrage die Datenbankgröße abfrage erhalte ich folgenden Hinweis:

    +--------------------+--------------+------------+----------------+------------------------+
    | Datenbankname   | Daten (MB) | Index (MB) | Gesamt (MB) | Freier Speicher (MB) |
    +--------------------+--------------+------------+----------------+------------------------+
    | fhem                  |      1.531          |      0.422        |       1.953             |                8.000                      |
    +--------------------+--------------+------------+----------------+------------------------+

        Das bedeutet für mich, meine Datenbank wächst mit ca. 1-1,5MB pro Tag (7610 rows).... Was passiert wenn die
        8MB, welche bei "Freier Speicher" angezeigt werden, erschöpft sind?  Vergrößert mysql die Datenbank automatisch?

        Die Abfrage zu dem oben stehenden Ergebniss lautet wie folgt:

    SELECT    table_schema AS 'Datenbankname',   Round( SUM( data_length ) / 1024 / 1024, 3 ) AS 'Daten (MB)',   Round( SUM( index_length ) / 1024 / 1024, 3 ) AS 'Index (MB)',   Round( Sum( data_length + index_length ) / 1024 / 1024, 3 ) AS 'Gesamt (MB)',   Round( Sum( data_free ) / 1024 / 1024, 3 ) AS 'Freier Speicher (MB)' FROM information_schema.tables GROUP BY table_schema;


    Gruß Michael

    Johannes

    Hi,

    Zitat von: Smooth schrieb am So, 17 Februar 2013 14:34-  Speichern der Plots im neuen Charting ist problemlos möglich, nur das Laden funktioniert nicht.
       (Klick auf den Namen führt keine Aktion aus)
    Ok, ich nehme an es kommt beim Speichern die Meldung, dass erfolgreich gespeichert wurde. Beim Klick auf den Eintrag passiert wie du sagst nichts. Kannst du denn sehen, dass die Dropdown Listen alle mit Daten gefüllt werden, oder bleiben diese ebenfalls leer?

    Ich werde in der nächste Version auf jeden Fall das Errorhandling ausbauen, so dass man eine vernünftige Rückmeldung bekommt, wenn und warum etwas nicht geklappt haben sollte.
    Du kannst mir aber gerne schonmal mitteilen, was der Befehl

    SELECT * FROM history WHERE READING = "savedchart";

    bei dir auf der Datenbank ausgibt, das wäre hilfreich.

    Zitat von: Smooth schrieb am So, 17 Februar 2013 14:34-   Wenn ich mittels SQL-Abfrage die Datenbankgröße abfrage erhalte ich folgenden Hinweis:
    Ich glaube nicht, dass die data_free Ausgabe die Maximale Größe ausgibt, ich glaube es ist eher ein dynamischer Wert von zugewiesenem Speicher.
    Ich würde mir darum erstmal keine Sorgen machen, in ein paar Tagen siehst du dann, ob es ein Problem gibt.

    Smooth

    Hi Johannes,


    ja es ist so wie Du beschreibst. Beim Speichern wird die Datei angelegt (auch in Datenbank), beim klicken darauf werden allerdings die Dropdownmenüs nicht gefüllt.  (Eine Fehlermeldung kommt nicht, nur der Hinweis das erfolgreich gespeichert wurde)

    ZitatDu kannst mir aber gerne schonmal mitteilen, was der Befehl

     SELECT * FROM history WHERE READING = "savedchart";

     bei dir auf der Datenbank ausgibt, das wäre hilfreich.

    Der Befehl führt in meiner Datenbank zu dem Ergebnis....


    (siehe Anhang / see attachement)


    Bzgl. der Speicherbelegung der Datenbank werde ich weiter berichten wenn die 10MB vollgelaufen sind..

    Vielen Dank

    Gruß Michael