Neues Charting / Plotting - GUI Redesign?

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

Vorheriges Thema - Nächstes Thema

Johannes

Hallo Dieter,

Ich hätte 2 Bitten an dich:

  1.) Gib mir doch Feedback zu meinen Fragen oben, auf die du noch nicht eingegangen bist (enthalten deine Logfiles keine Einträge für die letzten 24 Stunden, und bitte Logfile bereitstellen, falls doch)
  2.) Lies bitte die Installationsdoku im Wiki. Du schreibst du findest "wieder einen Fehler", der einfach daran liegt, dass du die Installation nicht nach Anleitung gemacht hast, da du den Table "frontend" nicht angelegt hast. Die Fehlermeldung sagt dir das ja auch schon ...

Danke,
Grüße,
Johannes

punker

Hi Johannes,

hab die Frage übergangen, weil ich ja dann die DBlog benutzt hab.

1. Hier hab ich ein (gekürztes) Log eines Temp-Sensors angehangen.
2. Hab genau nach dem Wiki die Installation vorgenommen und jetzt beim lesen deiner Nachricht bemerkt, dass ich den letzten Schritt:

Datenbank vorbereiten

Zuletzt muss in der Datenbank eine Tabelle für das Frontend erstellt werden.

Für MySQL kann folgendes SQL in der Datenbank abgesetzt werden:
CREATE TABLE frontend (ID int NOT NULL UNIQUE AUTO_INCREMENT, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE varchar(64), NAME varchar(64), VALUE TEXT)


nicht ausgeführt hab! Schande über mich! Jetzt funzt es! :-[

LG

Dieter

The truth is out there!

Strippenzieher

Naja schade Punker, dass du nicht das Problem mit Filelog weiter verfolgt hast, so hätte man evtl. Bugs ausmerzen können ...

punker

Da ich ja das neue und das alte Frontend nebeneinander laufen hab kann ich durchaus ein paar Experimente mit neuem FE und Filelog machen!
LG

Dieter

The truth is out there!

Johannes

@punker: Danke fürs Logfile, ich habe deine Logkonstellation noch nicht abgedeckt, Lösung ist in Arbeit.
Bei dir werden mehrere Readings pro Zeile geloggt, in meinen Testfällen war es immer genau ein Reading pro Zeile, damit klappt es wunderbar.
Werde natürlich Unterstützung mit beliebig vielen Readings pro Zeile im Log einbauen die nächsten Tage.
Für Logfiles mit einem Reading pro Zeile sollte wie gesagt alles funktionieren, vielleicht kann das ja jemand bestätigen...

Grüße,
Johannes

Johannes

Kann mir mal jemand auf die Sprünge helfen, wie das "get" in FHEM eigentlich richtig funktioniert?

Beispiel Logfilezeile:
2013-12-12_13:51:21 hms100t.pool T: 3.5  Bat: ok

Um einen konkreten Messwert, also Spalte, abzufragen, mache ich z.B. ein

get Logfile ./log/ESA-sub-2013.log - 2013-12-12_00:00:00 2013-12-13_00:00:00 1:.*T::$fld[3]


Das Ergebnis ist wunderbar:

2013-12-12_13:51:21 3.5


Wer von euch kann mir verraten, wie ich jetzt an den Wert von "Bat" komme, also die nächste Spalte?
Habe schon sämtliche mir logischen Varianten durchprobiert, nichts klappt. Entweder garkein Output, oder exakt die selbe Zeile wie oben.
Was mache ich falsch?

Johannes

Leute, ich brauche Tester.
Scheinbar gibt es ja Interesse an Filelog, dann müssten sich auch mal ein paar bereit erklären und einfach das letzte Update installieren.
Da ich selbst auf FileLog nicht angewiesen bin ist mir die Implementation nicht sonderlich wichtig.

Falls wirklich Interesse da ist wäre ein Feedback mal ganz nett, sonst belasse ich es erstmal bei dem Stand...


Harald

#577
Hallo Johannes,

ich bin Deiner Empfehlung gefolgt und habe Dein neues Charding installiert. Ich möchte es erstmal mit FileLog ausprobieren.

Die Oberfläche wird dargestellt. Einen Eintrag oder Button "Create new Chart" habe ich jedoch nicht. Die verschiedenen Räume, Geräte FileLogs usw. werden angezeigt. Die Beschreibung im Wiki bezieht sich ja auf DbLog.

Gibt es eine Beschreibung, wie man vorgehen muss, um ein neues Diagramm zu erstellen?

Viele Grüße

Harald
Nachtrag: Ich habe "Create new Chart" jetzt doch gefunden, hatte nicht weit genug heruntergescollt. Hab' mal ein wenig damit rumgespielt. es ist schon eine tolle Sache, aber es löst nicht mein Problem. Ich habe ein durch mein Modul GasZähler erzeugtes Logfile "Verbrauch_Tag.log", in das am Tagesende der GasVerbrauch geschrieben wird. Diese Daten möchte ich in Balkenform in einem Diaragramm darstellen. Wie muss ich da vorgehen?
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Harald

So, jetzt hab' ich's hinbekommen (fast).

Die Messpunkte werden nicht der X-Achse zugeordnet, sondern befinden sich ganz links am Rand des Diagrammfensters außerhalb des Diagramms auch wenn man die Scalierung der X-Achse ändert. Die Einstellung der Punktgröße habe ich noch nicht gefunden ebenso die Möglichkeit, eine Linie oder Balken zu definieren.

Viele Grüße

Harald

Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Strippenzieher

Zitat von: Johannes am 15 Dezember 2013, 12:49:01
Leute, ich brauche Tester.
Scheinbar gibt es ja Interesse an Filelog, dann müssten sich auch mal ein paar bereit erklären und einfach das letzte Update installieren.
Da ich selbst auf FileLog nicht angewiesen bin ist mir die Implementation nicht sonderlich wichtig.

Falls wirklich Interesse da ist wäre ein Feedback mal ganz nett, sonst belasse ich es erstmal bei dem Stand...

Ab 20. bin ich wieder bei meiner Fritte, dann werde ich sie mal als Probant anmelden  ;)
Dann lass ich dir mal Filelogs zukommen, nur bei mir werden die momentan nicht allzu spektakulär sein ...

Harald

#580
Hallo zusammen,

die Messpunkte werden jetzt richtig der X-Achse zugeordnet. Es war mein Fehler. Timestamp im Logfile war nicht richtig aufgebaut.

Viele Grüße

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Johannes

Hallo Harald,

Scheint jetzt ja bei dir soweit zu funktionieren mit FileLog. Sehe ich das richtig dass du kein DbLog installiert hast?
Wäre einfach gut zu wissen, ist für mich ein Beleg dass ich die wichtigen Abhängigkeiten zu DbLog damit gelöst hätte.

Zitat von: Harald am 15 Dezember 2013, 17:00:28
Die Einstellung der Punktgröße habe ich noch nicht gefunden ebenso die Möglichkeit, eine Linie oder Balken zu definieren.
Punktgröße ist zur Zeit auch nicht einstellbar. Es sei denn du möchtest Quellcode anpassen, ist ne Kleinigkeit (Zeile 1223 in /fhem/www/frontend/app/controller/ChartController.js, dort den radius Wert z.B. auf 1 setzen). Wäre prinzipiell natürlich schön das auch grafisch konfigurierbar zu haben...
Ich habe schonmal vor einer Weile mich dran gemacht, mehr Typen von Charts zu integrieren, unter Anderem auch Balken. Damals gab es aber noch einige Bugs in der Bibliothek, die mich dann letzten Endes davon abgehalten haben, es online zu stellen. Ich schaue es mir aber nochmal in den nächsten Tagen an, da es inzwischen einige funktionierende Beispiele gibt, z.B.:

http://docs.sencha.com/extjs/4.2.2/#!/example/charts/Mixed.html


@Strippenzieher:
Je mehr Filelogs ich bekomme, desto besser kann die Implementation werden.
Zur Zeit habe ich leider immer noch keinen Schimmer, wie die get Funktion "richtig", mit mehreren Werten pro Zeile arbeitet. Sie tut jedenfalls nicht das, was im WIki und in der Commandref steht....

Harald

Hallo Johannes,

Du siehst das richtig. Ich habe DBLog nicht installiert. Vielleicht mache ich das später nochmal. Aber bisher habe ich mit Datenbanken noch nichts gemacht.

Kann man das erzeugte Diagramm in die normale Weboberfläche übernehmen? Wo finde das File, wenn ich das abgespeichert habe?

Viele Grüße

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Harald

Hallo Johannes,

ich habe mal ein wenig mit dem Charting / Plotting herumgespielt. Eigentlich klappt das schon ganz gut im Modus FileLog.

Wenn man das erzeugte Diagramm abspeichern möchte, wie vergibt man einen Namen und endet der Name dann auf .gplot, damit man dieses File in die Weboberfläche integrieren und unter SVG nutzen kann?
Wie und wo kann ich erzeugte Diagramme erneut aufrufen, um Änderungen daran vorzunehmen?
Es wäre schön, wenn man bei der Auswahl der Plottypen min. die gleichen Möglichkeiten hätte, wie bei SVG (Punktgröße, Balken, histeps usw.)
Außerdem ist mir aufgefallen, dass Left Axis nicht in einer Zeile steht wie Right Axis sondern in 2 Zeilen.

Bitte verstehe meine Ausführungen nur als positive Kritik und Anregung. Ist schon toll, was Du bisher geschaffen hast.

Vielen Dank dafür und viele Grüße

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Johannes

Hallo Harald,

Zitat von: Harald am 17 Dezember 2013, 17:33:42
ich habe mal ein wenig mit dem Charting / Plotting herumgespielt. Eigentlich klappt das schon ganz gut im Modus FileLog.
Das ist doch schonmal gut.

Zitat von: Harald am 17 Dezember 2013, 17:33:42
Wenn man das erzeugte Diagramm abspeichern möchte, wie vergibt man einen Namen und endet der Name dann auf .gplot, damit man dieses File in die Weboberfläche integrieren und unter SVG nutzen kann?
Vorsicht! Hier gibt es grundsätzliche Unterschiede.
gplot Dateien werden von FHEM verwendet, um Serverseitig mit Hilfe von Perls gnuplot / SVG Diagramme zu erstellen.
Die Diagramme in diesem Frontend werden aber clientseitig im Webbrowser durch ExtJS (eine Javascriptbibliothek, die grundsätzlich anders arbeitet) als SVG generiert.
ExtJS und gnuplot haben nichts miteinander gemeinsam und sind auch nicht untereinander kompatibel.
Du erstellst also entweder Diagramme mit gnuplot / SVG, oder mit diesem Frontend.

Zitat von: Harald am 17 Dezember 2013, 17:33:42
Wie und wo kann ich erzeugte Diagramme erneut aufrufen, um Änderungen daran vorzunehmen?
Wenn du DbLog installierst, profitierst du nicht nur von einer sauberen Datenhaltung und zusätzlichen Statistik-Funktionen, sondern kannst auch deine erstellten Charts speichern, umbennen und modifizieren.
Ohne DbLog, also nur mit FileLog, gibt es wie ein paar Posts weiter oben von mir beschrieben noch keine Möglichkeit, FileLog-Charts abzuspeichern.

Zitat von: Harald am 17 Dezember 2013, 17:33:42
Es wäre schön, wenn man bei der Auswahl der Plottypen min. die gleichen Möglichkeiten hätte, wie bei SVG (Punktgröße, Balken, histeps usw.)
Wie gesagt reden wir von komplett unterschiedlichen Charts (gnuplot/ExtJS).
Prinzipiell sind deine Ideen auch unter ExtJS möglich, ich möchte aber nicht den Konfigurationsdialog, der mittlerweile schon ziemlich aufgebläht ist, durch noch zig weitere Buttons, Checkboxen etc. erweitern.

Zitat von: Harald am 17 Dezember 2013, 17:33:42
Bitte verstehe meine Ausführungen nur als positive Kritik und Anregung. Ist schon toll, was Du bisher geschaffen hast.
Keine Sorge, ich fasse das nicht negativ auf :-)

Noch eine generelle Sache:
Das Frontend ist nun mittlerweile fast ein Jahr alt und ziemlich gewachsen, was Funktionalität und Aufbau angeht.
Leider ist, abgesehen von Dokumentation (Danke nochmal an Puschel :-) keine Untersützung von außen dazugekommen.
Ich hatte ursprünglich mal gehofft, dass der ein oder andere Javascript Entwickler etwas beisteuert, aber den Glauben habe ich mittlerweile aufgegeben.
Was  ich damit sagen will: Die komplette Umsetzung alleine zu machen und bei neuen Entwicklungen, wie z.B. FileLog Integration kein Feedback zu bekommen, obwohl sich es scheinbar einige gewünscht haben, ist einfach ermüdend. Ich selbst brauche FileLog nicht und dachte ich tue den Anwendern was gutes. Aber insgesamt gibt es mir zu wenig Rückmeldung / Kritik / Ideen etc.
Ausserdem bin ich mit der Situation nicht zufrieden, zweigleisig zu fahren. Also Charts in FHEM und extra in diesem Frontend.
Erfreulicherweise gibt es auch in FHEM Bewegung in Sachen Charts, siehe die Entwicklungen bei SVG.
Sinnvoll wäre sicherlich ein Zusammenfließen von beidem zu einem, verpackt unter dem Dach von Fhem. Aber da gibts einfach zu viele Hürden, die mich davon abhalten (z.B. wäre meiner Meinung nach erstmal ein komplettes Redesign von FHEMWEB fällig, da es auf veralteten "Technologien" und Denkweisen aufbaut)...

Das mal nur so am Rande...  :D