Neues Charting / Plotting - GUI Redesign?

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

Vorheriges Thema - Nächstes Thema

Johannes

Zitat von: Puschel74 schrieb am Fr, 12 April 2013 18:29Am DB-RasPi habe ich 3 I2C-Sensoren dran welche auch brav in ihr eigenes Logfile schreiben aber der Chart wird leider nicht
angezeigt.

...

Zitat2013-04-12_18:01:46 Sensor_3 temperatur: 39.0 °C
2013-04-12_18:04:16 Sensor_3 temperatur: 43.5 °C
2013-04-12_18:06:46 Sensor_3 temperatur: 45.5 °C
2013-04-12_18:09:25 Sensor_3 temperatur: 46.5 °C
2013-04-12_18:11:46 Sensor_3 temperatur: 47.0 °C
2013-04-12_18:14:19 Sensor_3 temperatur: 46.0 °C
2013-04-12_18:16:46 Sensor_3 temperatur: 43.5 °C
2013-04-12_18:19:16 Sensor_3 temperatur: 40.5 °C



Du weisst aber schon, dass das Frontend keine Logfiles ausliest? :-)

Puschel74

Hallo,

das dachte ich mir schon ;-)

Aber ich ging davon aus das alles was in einem Logfile landet auch in der Datenbank landet.
Leider weiß ich nicht wie ich in der Datenbank nachschauen kann ob die Daten auch darin liegen.
Aber die Daten vom RasPi-1 landen per FHEM2FHEM in der Datenbank.
Ausser dem Update auf 5.4 habe ich nichts geändert.

Aber wie man sehen kann sind die Daten vom RasPi-1 in der Datenbank und werden auch im Chart aufgeführt.
Nur die Daten der 3 Sensoren werden nicht dargestellt.

Es ist mir schon klar das das keine nachvollziehbare Fehlerbeschreibung ist aber wo kann ich noch ansetzen um dir zu helfen mir zu helfen?

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Johannes

Hallo Puschel,

Ich habe leider keine Ahnung von FHEM2FHEM, kenne mich nicht aus wie es im Detail funktioniert.
Was du machen könntest:
Dich mit der Datenbank verbinden über die Konsole, und dann darin ein

SELECT * FROM history WHERE device = "ESA2000_LED_011e" ORDER BY timestamp DESC LIMIT 10;

machen. Das Device durch den Namen eines deiner Devices ersetzen, die Probleme machen. Dann kannst du sehen, wann die letzte 10 EInträge in die DB geschrieben wurden.

Evtl. kannst du auch versuchen, ein Backup von FHEM wieder herzustellen (die werden ja vor jedem Update automatisch gemacht).
Das das Frontend daran schuld ist glaube ich eher nicht.

Du kannst auch das Logging von FHEM auf Level 5 stellen, dann die Chartabfrage machen und schauen, ob Fehlermeldungen auftauchen.

Grüße!

Puschel74

Hallo,

mit fhem2fhem scheint es kein Problem zu geben.
Sensoren meines RasPi-1 werden im Chart angezeigt also gehe ich davon aus das fhem2fhem funktioniert.
Ich bekomme nur keinen Chart meiner Sensoren die direkt am RasPi mit der Datenbank hängen.

ZitatSELECT * FROM history WHERE device = "Sensor_3" ORDER BY timestamp DESC LIMIT 10;

liefert mir allerdings ein

Zitatsqlite> no such table: history

Mit einem .tables bekomme ich auch keinen Eintrag zu sehen das überhaupt eine Table existieren würde.
Also hab ich history, current und frontend wieder neu angelegt.
Nun werd ich das ganze mal im Auge behalten.

Danke trotzdem Johannes.

Grüße

Edith: Es ist tatsächlich so das meine .tables-Einträge in sqlite verschwinden. Hab ich da was übersehen und muss noch explizit
speichern? Ich hab in den gefundenen Beiträgen keinen Hinweis auf ein sqlite>.save o.ä. gesehen.
Allerdings funktionieren meine Charts einwandfrei (bis immer noch die 3 die direkt am DB-RPi geloggt werden).
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Johannes

Zitat von: Puschel74 schrieb am Sa, 13 April 2013 19:52Edith: Es ist tatsächlich so das meine .tables-Einträge in sqlite verschwinden. Hab ich da was übersehen und muss noch explizit
speichern? Ich hab in den gefundenen Beiträgen keinen Hinweis auf ein sqlite>.save o.ä. gesehen.
Allerdings funktionieren meine Charts einwandfrei (bis immer noch die 3 die direkt am DB-RPi geloggt werden).

Hi,

Das ist sehr komisch. Tables sollten nicht von alleine verschwinden, da ist etwas nicht in Ordnung.
Ich kann dir aber versichern, dass das Frontend und DbLog nicht dafür verantwortlich sind, diese löschen keine Tables.
Und nein, ein extra speichern ist und war nie notwendig. Irgendwie ist dein Setup verkorkst...

Johannes

Update:

Ein neues Update ist da:

  * Man kann pro Messreihe festlegen, auf welcher Achse und somit Skala diese dargestellt werden sollen. Dazu gibt es einen Radiobutton, den man entweder auf "Left Axis" (standard), oder "Right Axis" setzt. So kann man jetzt Daten zusammen darstellen, die eigentlich auf ihrer Skala weit auseinander liegen würden

  * Der Bug in der Steps Funktion, angemerkt von Thomas weiter oben, ist behoben


update thirdparty http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/www/frontend frontend


Bei Problemen / Bugs: Bitte Rückmeldung mit genauer Beschreibung.

Grüße,
Johannes

Puschel74

Hallo,

ZitatDas ist sehr komisch. Tables sollten nicht von alleine verschwinden, da ist etwas nicht in Ordnung.

Das habe ich mir auch schon gedacht.

ZitatIch kann dir aber versichern, dass das Frontend und DbLog nicht dafür verantwortlich sind, diese löschen keine Tables.

Das habe ich mir ebenso schon gedacht.

ZitatUnd nein, ein extra speichern ist und war nie notwendig.

Puhh. Hab ich doch nichts übersehen.

ZitatIrgendwie ist dein Setup verkorkst...

Dagegen, oder besser wegen den Folgen daraus, habe ich mich bisher gesträubt das zu vermuten.

Ich hab jetzt nochmal dein letztes Update laufen lassen - danke übrigens.
Wenn das auch nichts hilft ist mein Setup wirklich durch den Wind und ich werd mal meine Installationen sichern und neu anlegen.
Nächstes Wochenende solls ja wieder regnen ;-)
Solange die Charts angezeigt werden (ausser 3) ist es nicht so schlimm.
Irgendwann kann man sicher auch fhem-Logfiles importieren und anzeigen ;-)

Danke nochmal für die Hilfe.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Johannes

Kurze Zwischeninfo:

Ich arbeite gerade daran, die Chartdaten auch tabellarisch darzustellen.
Der Ablauf ist mit dem nächsten Update dann folgender:

Nachdem man einen Chart über "Show chart" anzeigt oder über einen gespeicherten Eintrag aufruft, werden zuerst die Charteinstellungen weggeklappt.
An deren Stelle erscheint dann eine Tabelle, die die Chartdaten tabellarisch darstellt. Darunter liegt wie gewohnt der Chart.

Klickt man in der tabellearischen Ansicht auf einen Eintrag, wird der jeweilige Messwert im Chart markiert. Auch umgekehrt ist der Workflow denkbar, aber noch nicht eingebaut (Klick im Chart auf einen Punkt springt oben in der Tabelle zu dem Messwert).

Ich finde das ist ein recht brauchbares Feature, man hat so seine Daten eben tabellarisch zum Durchscrollen als auch grafisch über den Chart auf einen Blick.

Die Tabelle lässt sich übrigens durch einen Klick auf die Spalte sortieren, z.B: nach Messwert oder Timestamp.


In etwa so wird es aussehen:


(siehe Anhang / see attachement)



Wird denke ich in ein paar Tagen fertig.
Grüße,
Johannes

ThorstenH

Hallo,

habt ihr eigentlich auch den Effekt, dass nach einem Reload des Frontends (im Browser) das zuerst angezeigte Chart schön schnell angezeigt wird. Dann klickt man immer wieder auf das Chart, um ein erneutes Anzeigen zu erzwingen. Nach jedem Klick dauert es immer länger, bis das Chart fertig geladen und dargestellt wird.

Man könnte auch immer ein anderes Chart wählen, aber so sind die Zeiten besser vergleichbar. Irgendwann blockieren die Javascripte den Firefox derart stark, dass sogar die Sicherheitsabfrage von Firefox angezeigt wird:
A script on this page may be busy, or it may have stopped responding. You can stop the script now, or you can continue to see if the script will complete.

Script: http://192.168.74.1:8083/fhem/frontend/app/model/ChartModel.js:231

Ich vermute, dass irgendwelche Resourcen nicht rechtzeitig freigegeben werden und bis zum nächsten Reload Frontends den Browser belasten.

Mein Chart enthält ca. 5 Messreihen mit ca. 1000 Messwerten insgesamt (1 Tag).

Grüße
Thorsten

Johannes

Zitat von: ThorstenH schrieb am Mi, 17 April 2013 22:36Hallo,

habt ihr eigentlich auch den Effekt, dass nach einem Reload des Frontends (im Browser) das zuerst angezeigte Chart schön schnell angezeigt wird. Dann klickt man immer wieder auf das Chart, um ein erneutes Anzeigen zu erzwingen. Nach jedem Klick dauert es immer länger, bis das Chart fertig geladen und dargestellt wird.

Hi,

Habs gerade mal nachgestellt mit einem 1000er Chart in Firefox und Chromium. Auch nach 20 mal klicken bleibt die Zeit bis zur Anzeige bei mir gleich. Was aber stimmt ist, dass die Speicherauslastung mit jedem Laden leicht zunimmt, um ca. 1 % bei mir.
Welchen Browser und welches Betriebssystem nutzt du?
Ich werde in der nächsten Version mal noch ein paar Tricks zur Speicherentlastung einbauen und den Workflow ändern, so dass der Chart insgesamt schneller arbeiten sollte.


Grüße,
Johannes

ThorstenH

Ich nutze Firefox 20.0 mit FireBug Extension (war aber ausgeschaltet).
Ausserdem habe ich einen ähnlichen Blockiereffekt mit Chrome feststellen können. Irgendwann sagt Chrome auch, dass das Script unresponsive sei. Auch der Lüfter sprinkt bei meinem Macbook Air dann an und der meldet sich sonst nie.

Johannes

Das ist die CPU wenn der Lüfter angeht. Das parsen und darstellen der Daten läuft nun mal komplett im Browser und braucht CPU Power. Schon mal mit der Generalisierung probiert?

ThorstenH

Ist schon klar, dass das die CPU ist. Eben die Last, die von dem Script erzeugt wird, wenn es immer länger dauert.
Ich brauche jeden Wert meiner Kurven, da ich einem Problem auf die Spur kommen möchte. Bei der Generalisierung gehen mir da Daten verloren.

Puschel74

Hallo,

ich muss nochmal auf meinen Beitrag vom letzten Sonntag, 14.04 zurück kommen.

Obwohl ich mich dagegen gewehrt habe musste gestern mein DB-RasPi dran glauben (zum Glück regnet es ;-) ).

Noch ein update von allem gemacht und fhem und RasPi sauber runtergefahren.
Kopie der SD-Karte mit Win32DiskImager gemacht und mein Backup von der Erst-Installation ohne fhem und allem draufgespielt.

Erst das RasPi update und upgrade laufen lassen.
Danach sauber fhem, sqlite3, fhem2fhem und dblog eingerichtet (die tables waren vorhanden).
Heute Zugriff auf fhem - einwandfrei. Weblinks hab ich an diesem keine definiert.
Zugriff auf das Frontend - einwandfrei.
Anzeige der Charts - einwandfrei, meine 3 I2C-Sensoren bin ich grad am nachrüsten - i2ctools installieren und die defines in fhem
anlegen.
Anzeige der .tables in sqlite3 - leer! Obwohl die Charts einwandfrei funktionieren.
Ok. Nur seit gestern. Ich hab die Datenbank nicht kopiert sondern eine neue angelegt.

Ich werd mal eine andere SD-Karte versuchen. Jeder Strohhalm zählt ;-)

Oder hat noch jemand eine andere zündende Idee??

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Johannes

Hallo Puschel,

Das klingt für mich sehr danach, dass du dich nicht auf die richtige Datenbank verbindest, denn

1.) Kommt das Frontend an alle Daten ran, es gibt also eine DB mit allen nötigen Tables
2.) Hat SQLite ja das Verhalten, dass wenn man zu einer Datenbank verbindet und diese nicht existiert (oder du keine Leserechte hast), dass eine neue DB angelegt wird.
Man bekommt ja beim Verbinden keine Meldung, ob man auf einer bestehenden DB Verbunden ist oder gerade "ausversehen" eine neue erstellt hat. Ich vermute bei dir letzteres, nur das kann erklären, warum keine Tables zu finden sind. Es sei denn der User mit dem du verbindest hat keinerlei Rechte auf der DB....

Wie groß ist denn die DB, zu der du verbindest? Hast du nochmal abgeglichen, dass du genau zu der DB verbindest, die auch in der db.conf angegeben ist?

Grüße,
Johannes