Ankündigung

Einklappen
Keine Ankündigung bisher.

Diagramme - Werte ein- / ausblenden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    wintermute danke für deine Ausführung,
    man sieht du bist Feuer und Flamme für Influx und Grafana.

    Bevor ich mich reinhänge, mein vorhaben:

    Meine Graphen wurden (werden) auf dem Wiregate erstellt und man kann sie recht ansehnlich und mit wenig Aufwand in der CometVisu darstellen.
    Besonders gefallen mir die Tooltips mit dem "Fangpunkt" auf der Line.

    Wie zum Beispiel:
    RRD KWL.PNG
    RRD Systemdruck.PNG

    Sowas würde ich gerne in der Edomi Visu haben.
    Meine Schmerzgrenze ist mittlerweile sehr gestiegen aber bei den Diagrammen in Edomi habe ich Milch gegeben. Sorry habe mich sehr bemüht und habe auch einige gemacht.

    Also, würde man die Wiregate RRDs in die Influx-DB schreiben, könnte man in Edomi z.B. über ein Popup sich den Graph mittels Grafana anzeigen lassen und ihn auch bedienen > wie Graphen einblenden, Tooltip, zoomen, scrollen usw.
    Sehe ich das richtig?

    Quasi eingebettet in Edomi.


    Zitat von wintermute Beitrag anzeigen
    Ist es! Wenn Du mir jetzt noch erklaeren koenntest was fuer Skripte du von mir haben moechtest?
    Wenn das so funktionieren würde bräuchte ich dein Script um vom Wiregate auf Influx-DB konvertieren.

    Schöne Grüße
    Gernot
    Angehängte Dateien

    Kommentar


      #17
      Zitat von murelli146 Beitrag anzeigen
      Feuer und Flamme für Influx und Grafana
      "Feuer und Flamme" ist etwas zu euphorisch formuliert
      Ich habe mit influx beruflich oft zu tun und Influx und Grafana sind halt wie Weihnachten und Baum...

      Wie schon umschrieben nutze ich Influx als Datenbank mit Grafana zur Visualisierung nicht wirklich innerhalb von Edomi, da stelle ich Graphen (zumindest zZ noch) mit den Edomi-Bordmitteln dar. Mir ging es halt im wesentlichen um die "historischen" Daten, die aber IMHO nicht wirklich was in der Edomi-Visu verloren haben, dafuer nutze ich dann doch lieber die Grafana-Dashboards.

      Zitat von murelli146 Beitrag anzeigen
      Also, würde man die Wiregate RRDs in die Influx-DB schreiben, könnte man in Edomi z.B. über ein Popup sich den Graph mittels Grafana anzeigen lassen und ihn auch bedienen > wie Graphen einblenden, Tooltip, zoomen, scrollen usw.
      Sehe ich das richtig?
      Einbetten kann man das, ob diese Tooltip-Geschichten allerdings auf einem Touch-Geraet funktionieren weiss ich nicht, am Desktop geht es jedenfalls. Ich habe als Beispiel mal einen Beispielgraphen in eine Beispielvisu eingebettet, das sieht dann (eben zum Beispiel) so aus:

      Bildschirmfoto 2018-12-27 um 22.31.38.png

      Ob man problemlos einen Zeitraum selektieren kann weiss ich nicht. Bei mir geht das nicht, ich hab aber auch einfach nur den Link zum Graphen als Webseite in die Visu geklickt. Wenn man das mit den korrekten embed-Codes in einem iFrame (!) laufen laesst, sieht das vllt alles ein wenig andes aus. Musst du halt mal mit rumspielen

      Zitat von murelli146 Beitrag anzeigen
      Script um vom Wiregate auf Influx-DB konvertieren
      Ja, gerne. Das ist allerdings keine 1:1 Kopie was damit zusammen haengt wie RRD und Influx intern mit den Daten umgehen - die Ergebnisse sind aber nachvollziehbar.

      Wiregate:
      graph.png

      Grafana/Influx:
      screenshot-192.168.0.3-3000-2018.12.27-22-55-18.png

      Das Skript ist Perl und wird direkt auf dem WG gestartet, getestet nur ohne Authentifizierung gegen die InfluxDB, die betreffende Datenbank muss vorher vorhanden sein, die URL entweder im Code anpassen oder beim Aufruf mitgeben:
      Code:
      #!/usr/bin/perl
      
      use Getopt::Long;
      
      my $url="http://192.168.0.3:8086/write";
      my $series="";
      my $db="";
      my $rrd="";
      my $tmp="tmpfile.influxdb";
      
      GetOptions('tmpfile=s'=>\$tmp,'url=s'=>\$url,'rrd=s'=>\$rrd,'series=s' => \$series,'database=s'=>\$db) or die "Usage: $0 --series SERIES --rrd RRDFILE --database DATABASE --url URL\n";
      
      die("rrd file '$rrd' nicht gefunden\n") if !-e $rrd;
      die("keine series angegeben\n") if !$series;
      die("keine Datenbank angegeben\n") if !$db;
      
      print "RRD...... $rrd\n";
      print "URL...... $url\n";
      print "DATABASE. $db\n";
      print "SERIES... $series\n";
      print "TMPFILE.. $tmp\n";
      
      my $part=0;
      my $database=0;
      my $c=0;
      my %a;
      foreach (`/usr/bin/rrdtool dump $rrd`) {
          my $line=$_;
          if ($line=~/AVERAGE/ && !$part) { $part=1; }
          if ($line=~/<database>/ && $part) { $database=1; }
          if ($line=~/<\/database>/ && $database) { $database=0; $part=0; }
      
          if ($line=~/<!-- / && $database && $part) {
              my $time="";
              my $value="";
              $line=~s/,/\./g; # kommata durch dezimalpunkte ersetzen
              if ($line=~/ \/ (\d*).*v> ([^ ]*)/) { # Timestamp/Value suchen
                  if ($2=~/nan/i) {
                  } else {
                      $time=$1;
                      $value=$2+0;
                      if($a{$time}) { } else { $a{$time}=$value; $c++; }
                  }
              }
          }
      }
      
      print "\n";
      print "$c Eintraege gefunden, RETURN zum Upload, CTRL-C zum Abbruch...\n";
      <STDIN>;
      open F,">$tmp";
      foreach (sort keys %a) {
          my $time=$_;
          printf F "%s value=%.2f %d000000000\n",$series,$a{$time},$time;
      }
      close F;
      print "TMP-File '$tmp' geschrieben, lade hoch...\n";
      system 'curl -i -XPOST "'.$url.'?db='.$db.'" --data-binary @'.$tmp;
      
      exit();
      Aufruf dann zB mit (wie die Series aussehen soll weiss man meist selbst am besten )
      Code:
      ./rrd2influx.pl -d influx-db -r /var/www/rrd/irgendeinRRDaufDemWG.rrd -s "temp,floor=EG,room=Wohnen,sender=1.2.3,sensor=1wire"
      Ohne Garantie, Gewaehr, Support und/oder Haftung - viel Erfolg/Spass
      Zuletzt geändert von wintermute; 27.12.2018, 23:10.

      Kommentar


        #18
        Zitat von wintermute Beitrag anzeigen
        Einbetten kann man das, ob diese Tooltip-Geschichten allerdings auf einem Touch-Geraet funktionieren weiss ich nicht
        Tooltips funktionieren gut, Rauszoomen funktioniert per Doppelklick auch. Reinzoomen oder mehrere Kurven selektieren/deselektieren (Ctrl+Klick) funktioniert leider nicht. Man könnte es über Edomi-Controls nachbilden. Außerdem ist das Seitenverhältnis auf dem Tablet irgendwie komplett anders als auf dem Desktop.

        Die Anfragen für ein Mobile UI in Grafana sind nicht neu, aber da scheint sich trotzdem nicht viel zu tun.

        Kommentar


          #19
          Noch mal ein Danke an wintermute

          Habe mich jetzt eine halbe Stunde damit beschäftigt und hab mal einen Demo-Graph in die Visu eingebunden und auf drei Endgeräten das Verhalten mal angesehen.

          PC Win10 mit Tastatur und Maus, Chrome:
          Tooltip > OK
          Zoom - (Doppelklick) > OK
          Zoom + (Bereich mit klick markieren und ziehen) > OK

          PC Win10 Tabletmode, Chrome:
          Tooltip > OK
          Zoom - (Doppelklick) > OK
          Zoom + (Bereich mit klick markieren und ziehen) > funktioniert nicht

          iPhone 6S Plus, Safari , Firefox
          Tooltip > OK
          Zoom - (Doppelklick) > funktioniert nicht
          Zoom + (Bereich mit klick markieren und ziehen) > funktioniert nicht

          iPad 4, Safari
          Tooltip > OK
          Zoom - (Doppelklick) > funktioniert nicht
          Zoom + (Bereich mit klick markieren und ziehen) > funktioniert nicht

          Ergebnis

          Test Graph.PNG


          In dieser kurzen Zeit ein schönes Ergebnis werde mich weiter damit beschäftigen.

          Nächstes Kriterium: Graphen erstellen (komplex ?)

          Schöne Grüße
          Gernot
          Angehängte Dateien
          Zuletzt geändert von murelli146; 28.12.2018, 18:05.

          Kommentar


            #20
            Update, habe mich nun mit Grafana und Influx näher beschäftigt.

            Danke an wintermute, dein Script funktioniert tadellos.

            Somit habe ich zum spielen schon mal ein paar Daten die ich auswerten kann.

            Bin zwar noch am Anfang, aber mit diesem Tool kann man wirklich viel machen und mach dazu auch noch Spaß.

            Ein Thema sind für mich Monats und Jahresverbräuche, damit würde einiges an Logiken und Archiven entfallen.

            Vorhaben:

            Zählerstand kontinuierlich in ein Archiv schreiben (z.B. Ölstand), mit Grafana kann man zwei selbe Grafen (einer Zeitversetzt 1 Monat) subtrahieren lassen und schon hat man den Monatsverbrauch in Balkenform.

            Man kann somit mit einem Zählerstandsarchiv, Jahres-, Monats- , Wochen-, Tages-, Stunden- und Minutenverbrauchs inkl. Kostendiagramme erstellen.
            Und das Ganz ohne aufwendige Logiken.

            Doch noch scheitere ich an einem Issue der InfluxDB und zwar kann ich den Zeitversatz nicht auf ein Monat einstellen.

            Kennt vielleicht jemand ein Workaround? (GROUP BY time(1M))

            Schöne Grüße
            Gernot

            Kommentar


              #21
              Zitat von murelli146 Beitrag anzeigen
              Kennt vielleicht jemand ein Workaround?
              Nein, also zumindest kenne ich keinen.
              Ich finde das aber auch irgendwie nicht so sinnvoll zwei ungleich lange Zeitraeume miteinander zu vergleichen (bzw voneinander zu subtrahieren oder aufzuaddieren). Auch wenn Abrechnungen gern mal auf monatliche Quantisierung zurueckfallen, wuerde ich sowas eher streng auf - zum Beispiel - 30 Tage oder 4 Wochen rechnen. Es bringt ja nix wenn ich zB einen Februar mit 28 Tagen gegen einen Januar mit 31 Tagen vergleiche, das gibt ja ohnehin schonmal 10% Abweichung wegen der fehlenden 3 Tage

              Muss ja natuerlich jeder selber wissen, aber um eine Abschaetzung zu treffen wie sich bestimmte Werte aufgrund bestimmter Einfluesse veraendern, reicht es sicherlich aus auf 30 Tages-Basis zu rechnen. Und dasselbe dann halt mit 365 Tagen fuer ein Jahr... just my 2¢

              Kommentar

              Lädt...
              X