Neues Charting / Plotting - GUI Redesign?

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

Vorheriges Thema - Nächstes Thema

erwin

Hi Johannes,

also ein erster versuch:
CREATE TABLE `fhem`.`frontend` (ID integer(7) unsigned NOT NULL UNIQUE auto_increment ,TIMESTAMP TIMESTAMP, TYPE varchar(64), NAME varchar(64), VALUE varchar(512));

und anschließend:
INSERT INTO `fhem`.`frontend` (TIMESTAMP, TYPE, NAME, VALUE)
  VALUES ("2013-01-01 00:00:00", "type1", "name1", "Value1")

und gleich nochmal:
INSERT INTO `fhem`.`frontend` (TYPE, NAME, VALUE) VALUES ( "type1", "name1", "Value1")
wobei bei zweiten Beispiel zu erwähnen ist, dass die Timestamp auf die aktuelle Zeit gesetzt wird!
... und dann noch ein paar mal INSERT...
... und dann record mit ID=2 löschen
... und dann noch ein paar mal INSERT...
... und dann folgendes versuchen:
INSERT INTO `fhem`.`frontend` (ID, TYPE, NAME, VALUE) VALUES ( "1", "doppelt1", "geht2mal?", "kannnichtsein")
... das geht schief - ID not unique

ergibt folgendes Bild:

1 2013-01-01 00:00:00 type1 name1 Value1
4 2013-01-01 22:00:00 type1 name1 Value1
3 2013-02-20 23:15:40 type3 name3 Value3
5 2013-02-20 23:34:45 type37 name_lang sehrlangerstringynynynynynnynnynynnynnynynnynnynnynnynnnynynnyyyyy...

record 5 war 500 Zeichen lang.
ID=2 wird nicht wiederverwendet
schaut soo aus, als obs funktioniert...

l.g. erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

Johannes

Danke Erwin. kannst du mal prüfen, ob folgendes Create-SQL sich identisch verhält:

CREATE TABLE frontend (ID int NOT NULL AUTO_INCREMENT, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE varchar(64), NAME varchar(64), VALUE TEXT);

Ich gehe davon aus dass du MySQL benutzt ?! :-)

erwin

Johannes,

das Resultat:

CREATE TABLE frontend (ID int NOT NULL AUTO_INCREMENT, TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE varchar(64), NAME varchar(64), VALUE TEXT);
ergibt: #1064 - You have an error in your SQL syntax;  ... es fehlt die typ-deklaration von Timestamp...
CREATE TABLE frontend (ID int NOT NULL AUTO_INCREMENT, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE varchar(64), NAME varchar(64), VALUE TEXT);
ergibt: #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
CREATE TABLE frontend (ID int NOT NULL UNIQUE AUTO_INCREMENT, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE varchar(64), NAME varchar(64), VALUE TEXT)
funktioniert


...offensichtlich braucht er das unique, weil dieses Feld dann als key interpretiert wird.
Alle anderen tests verlaufen soo wie beim letzten mal.

Environment:
  MYSQL Server Version: 5.1.36
  phpMyAdmin Versionsinformationen: 3.3.5
  my SQL läuft auf einer QNAP-419P-II
  fhem auf RPI  und auf QNAP(noch..)

l.g. erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

Johannes

Danke Erwin fürs test, habe das funktionierende SQL so übernommen.

Johannes

So, es gibt ein neues Update.

Da es bei der Verteilung des Frontends über FHEM selbst noch diverse Verzögerungen gibt, laufen die Updates erstmal weiter über github.
Ich habe im WIKI eine Installationsdokumentation geschrieben, die alle nötigen Schritte für die Installation auflistet, inklusive Einrichtung von DbLog.

http://www.fhemwiki.de/wiki/Neues_Charting_Frontend

Diese Anleitung ist Pflicht für alle, sowohl für die, die das Frontend zum ersten mal installieren, als auch die, die bereits eine Installation haben.
Ich bitte euch, die Anleitung zu befolgen. Die Schritte sind nur einmalig nötig, zukünftige Updates werden deutlich einfacher.

Wesentliche Neuerung ist die Einführung einer eigenen Datenbanktabelle für das Frontend, um Logging Daten davon sauber getrennt zu halten.
Weiterhin ist ab sofort das Löschen von Charts möglich, die Tabellenansicht der Datenbank im Frontend ist nun freigeschaltet un der gemeldetete Bug mit negativen Werten in Charts sollte behoben sein.
Vermutlich morgen folgen multiple Y-Achsen und Soll Linien.

PS: Bisher gespeicherte Charts sind nach dem Update, wegen der neuen Tabelle, nicht mehr verfügbar.
Wenn jemand gerne seine bisherigen Charts übernehmen möchte kurz hier Bescheid geben, ich helfe dabei, ist nicht kompliziert.

Bie Problemen oder Fragen einfach hier Rückmelden.
Grüße,
Johannes


nfidel

Hallo Johannes,

bei mir kommt in regelmäßigen Abständen
DBLog error: MySQL server has gone away
sieht so aus als wenn das jedesmal kommt sobald etwas geschrieben werden soll.
max_allowed_packet
habe ich auf 16M stehen. Weiß ehrlich gesagt nicht so recht weiter.

PS: vielen Dank für diese nette Frontend und deine Arbeit!

LG
nfidel

Johannes

Zitat von: nfidel schrieb am Fr, 22 Februar 2013 21:48Hallo Johannes,

bei mir kommt in regelmäßigen Abständen
DBLog error: MySQL server has gone away
sieht so aus als wenn das jedesmal kommt sobald etwas geschrieben werden soll.
max_allowed_packet
habe ich auf 16M stehen. Weiß ehrlich gesagt nicht so recht weiter.
Kann es sein, dass du das PRESENCE Modul im Einsatz hast? Das scheint für den Fehler verantwortlich zu sein, hat vermutlich nichts mit dem Frontend zu tun.

Link

Auch noch gefunden, aber weniger hilfreich:
http://forum.fhem.de/index.php?t=msg&goto=23382&rid=653&srch=gone+away#msg_23382

Wenn du es nicht im Einsatz hast, bitte Rückmeldung geben, das wäre wichtig.
Zitat von: nfidel schrieb am Fr, 22 Februar 2013 21:48PS: vielen Dank für diese nette Frontend und deine Arbeit!

Gern geschehen :-)

Smooth

Hi Johannes,


hab alles nach deiner Anleitung erledigt....

mysql wird wieder mit daten gefüllt und die alte Frontend-Installation wurde entfernt und alles neu
in www/frontend aufgesetzt.
Jetzt habe ich ein Problem...

Das Frontend startet nicht mit http://192.168.178.xxxx:8083/fhem/www/frontend/index.html

Die Index.html und das lib- bzw. app-Verzeichnis sind erstellt:

(siehe Anhang / see attachement)


Es erscheint bei dem Aufruf lediglich die standard Fhem-Oberfläche


(siehe Anhang / see attachement)


Hast du noch eine Idee?

Gruß Michael

nfidel

Hallo Johannes,

danke für die schnelle Rückmeldung.

Ja das Modul habe ich im Einsatz und möchte das auch nicht abschalten.

Eventuell hilft dir das noch weiter..

Prototype after '@' for main::prepareSql : @_ at ./FHEM/93_DbLog.pm line 743, <$fh> line 26.
DBD::mysql::db do failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 412.
DBD::mysql::db do failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 412.
DBD::mysql::db do failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 412.
DBD::mysql::st execute failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 815.
DBD::mysql::st execute failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 803.
DBD::mysql::st execute failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 803.
DBD::mysql::st execute failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 815.
DBD::mysql::st execute failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 815.
DBD::mysql::st execute failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 803.
DBD::mysql::st execute failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 803.
DBD::mysql::st execute failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 815.
DBD::mysql::db do failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 412.
DBD::mysql::db do failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 412.
DBD::mysql::db do failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 412.
DBD::mysql::db do failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 412.
DBD::mysql::db do failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 412.

Johannes

Zitat von: Smooth schrieb am Fr, 22 Februar 2013 22:58Jetzt habe ich ein Problem...

Das Frontend startet nicht mit http://192.168.178.xxxx:8083/fhem/www/frontend/index.html

Hi, nimm mal das www aus dem Pfad der URL raus, gehört da nicht rein. Sollte in der Doku / Wiki hoffentlich richtig stehen.

Johannes

Zitat von: nfidel schrieb am Fr, 22 Februar 2013 22:59Hallo Johannes,

danke für die schnelle Rückmeldung.

Ja das Modul habe ich im Einsatz und möchte das auch nicht abschalten.
Ich schaus mir morgen mal an und geb nochmal Bescheid. Du kannst vielleicht mal noch etwas testen. Besorg dir eine 93_DbLog.pm die etwas älter ist, mindestens ein paar Wochen. Liegt im SVN, falls du damit zurecht kommst. Kann sonst auch morgen die Datei zuschicken. Wenn mit einer älteren Version die Probleme bleiben, ist definitiv presence schuld, ansonsten ich :-)

Smooth

Sorry hast recht... Steht ohne www im wiki.....


Allerdings funktioniert es dennoch nicht. Hab jetzt ein leeren Browser mit folgendem Erscheinungsbild:


(siehe Anhang / see attachement)



Außer dem Titel Frontend ist nichts zu sehen ;-(

Mach ich noch etwas falsch?


Danke für die Unterstützung und die viele Arbeit

Gruß Michael

Johannes

Zitat von: Smooth schrieb am Fr, 22 Februar 2013 23:13Sorry hast recht... Steht ohne www im wiki.....


Allerdings funktioniert es dennoch nicht. Hab jetzt ein leeren Browser mit folgendem Erscheinungsbild:

Außer dem Titel Frontend ist nichts zu sehen ;-(

Mach ich noch etwas falsch?

Setz mal bitte die Berechtigungen auf den Ordner frontend, so dass Vollzugriff für alle gewährt ist.
Habe es gerade nochmal durrchgespielt, ich kann das Problem nur reproduzieren wenn die Berechtigungen nicht stimmen, fhem also die Ordner nicht lesen darf.

Smooth

ZitatSetz mal bitte die Berechtigungen auf den Ordner frontend, so dass Vollzugriff für alle gewährt ist.
 Habe es gerade nochmal durrchgespielt, ich kann das Problem nur reproduzieren wenn die Berechtigungen nicht stimmen, fhem also die Ordner nicht lesen darf.

Die Vermutung hatte ich auch schon. Die Rechte wurden bereits wie folgt gesetzt:


(siehe Anhang / see attachement)


Ich habe mich am Verzeichnis /gplot orientiert. Dort funktioniert der Zugriff:


(siehe Anhang / see attachement)


Auch die Unterlagerten Ordner und Dateien sind berechtigt:


(siehe Anhang / see attachement)



Benötige ich hierfür einen anderen user?

mfg.

Michael

Johannes

Fang mal klein an und versuch folgenden Aufruf im Browser:
http://192.168.0.111:8083/fhem/frontend/app/app.js

IP natürlich ersetzen :-)

Wenn im Browser javascript Code erscheint, ist alles gut. Wenn aber nur die FHEM Startseite kommt oder eine weiße Seite, stimmen die Berechtigungen noch nicht.
Ich nehem an, du hast auch mal ein shutdown restart probiert nach dem Ändern der Berechtigungen?
Achja FHEM sollte geupdated worden sein in den letzten Tagen, damit diese Verzeichnisstruktur funktioniert, zur Sicherheit also nochmal updaten.