Neues Charting / Plotting - GUI Redesign?

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

Vorheriges Thema - Nächstes Thema

thunder

All,
ich würde auch das viel versprechend aussehende Frontend nutzen...

Aufgesetzt wie im Wiki beschrieben, File Permissions sollten passen, sqlite3 Db mit FHEM verbunden und FHEM-Log bringt keine Fehlermeldungen.

"Database Tables" listet die Infos der Devices sauber ab...
nur bekomme ich leider unter Linecharts nur eine leere devices dropdown liste...


Hat jemand eine Idee was ich falsch machen?

Danke,
Uwe.

Johannes

Hallo Uwe,

Ich bräuchte um mehr zu sagen am besten einen Screenshot von "Database Tables", wo man die Devices erkennen kann.
Ausserdem kannst du auf der Datenbank mal ein

SELECT distinct(device) FROM history;

ausführen und hier die Antwort posten.

Ich werde demnächst eine Funktion "Bug melden" integrieren, so dass man mir einen Fehlerbericht zukommen lassen kann.
Das ist dann für alle einfacher, Probleme zu finden und zu lösen.

thunder

Hallo Johannes,
vielen Dank für die schnelle Antwort...


Anbei die Daten:


(siehe Anhang / see attachement)



sqlite> SELECT distinct(device) FROM history;
CUL_HM_HM_SCI_3_FM_1DD540
CUL_HM_HM_SWI_3_FM_1C9430
CUL_HM_dimmer_18A284
CUL_HM_pushButton_1CDBDD
CUL_HM_pushButton_1CDE65
CUL_HM_switch_1C6F7C
CUL_HM_switch_1C7248
CUL_HM_switch_1C8B1D
CUL_HM_switch_1DC50D
CUL_HM_switch_1DC622
CUL_HM_switch_1DC622_Sw_03
CUL_HM_switch_1DC622_Sw_04
Kalender
W
WEB
ga_Power
ga_bewaessBeete
ga_bewaessRasen
ga_lichter
ga_lichterNord
ga_temp
ga_ziPumpe
global
ha_flurEG
ha_flurOG
ha_lichter
ph_PoolPump
ph_PoolTemp
ph_PumpActor
ph_PumpCycle
ph_PumpDaily
ph_n_count
zi_ValveActor
zi_duProtect
zi_duPump
zi_hiWater
sqlite>

Johannes

Hallo Uwe,

Habe mir die Devices mal angeschaut und bei mir probehalber eingeladen, funktioniert.
Die Frage ist, ob die Daten überhaupt beim Frontend ankommen...

Was bringt in fhem der Befehl

get logdb - webchart "" "" "" getdevices

für eine Ausgabe? (Evtl. musst du hier "logdb" durch deine Definition für logdb aus der fhem.cfg ersetzen, ich habs bei mir unter logdb definiert)

thunder

Resultat:


{"data":[{"(DEVICE)":"CUL_HM_HM_SCI_3_FM_1DD540"},{"(DEVICE)":"CUL_HM_HM_SWI_3_FM_1C9430"},{"(DEVICE)":"CUL_HM_dimmer_18A284"},{"(DEVICE)":"CUL_HM_pushButton_1CDBDD"},{"(DEVICE)":"CUL_HM_pushButton_1CDE65"},{"(DEVICE)":"CUL_HM_switch_1C6F7C"},{"(DEVICE)":"CUL_HM_switch_1C7248"},{"(DEVICE)":"CUL_HM_switch_1C8B1D"},{"(DEVICE)":"CUL_HM_switch_1DC50D"},{"(DEVICE)":"CUL_HM_switch_1DC622"},{"(DEVICE)":"CUL_HM_switch_1DC622_Sw_03"},{"(DEVICE)":"CUL_HM_switch_1DC622_Sw_04"},{"(DEVICE)":"Kalender"},{"(DEVICE)":"W"},{"(DEVICE)":"WEB"},{"(DEVICE)":"ga_Power"},{"(DEVICE)":"ga_bewaessBeete"},{"(DEVICE)":"ga_bewaessRasen"},{"(DEVICE)":"ga_lichter"},{"(DEVICE)":"ga_lichterNord"},{"(DEVICE)":"ga_temp"},{"(DEVICE)":"ga_ziPumpe"},{"(DEVICE)":"global"},{"(DEVICE)":"ha_flurEG"},{"(DEVICE)":"ha_flurOG"},{"(DEVICE)":"ha_lichter"},{"(DEVICE)":"ph_PoolPump"},{"(DEVICE)":"ph_PoolTemp"},{"(DEVICE)":"ph_PumpActor"},{"(DEVICE)":"ph_PumpCycle"},{"(DEVICE)":"ph_PumpDaily"},{"(DEVICE)":"ph_n_count"},{"(DEVICE)":"zi_ValveActor"},{"(DEVICE)":"zi_duProtect"},{"(DEVICE)":"zi_duPump"},{"(DEVICE)":"zi_hiWater"}]}

Johannes

Scheinbar hat die Datenbankabfrage in Perl ergeben, dass deine Spalte (DEVICE) und nicht DEVICE heisst.
Da liegt auch das ganze Problem. Ich frage mich nur gerade, wo das herkommt. Du hast sqlite3 im Einsatz und die Tables wie erstellt?

Kannst ja mal ein

.schema

in der DB abfeuern.

thunder

Hallo Johannes,

bitteschööön :-)


sqlite> .schema
CREATE TABLE current (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));
CREATE TABLE frontend (ID INTEGER PRIMARY KEY, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);
CREATE TABLE history (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));
CREATE INDEX Search_Idx ON `history` (DEVICE, READING, TIMESTAMP);

Johannes

Hi,

Ich habe ehrlich gerade keine Ahnung wo das herkommt.
Deine Table Definitionen sind genau wie meine, ich bekomme aber als Ausgabe für die Devices

{"data":[{"DEVICE":"ESA2000_LED_011e"},{"DEVICE":"global"}]}

Ausschlaggebend ist die Zeile 853 in DbLog:

$jsonstring .= uc($query_handle->{NAME}->[$i]);

die liefert bei dir (DEVICE) aus statt DEVICE

Vielleicht hat jemand anderes eine Ahnung wie das zu Stande kommt?

Johannes

An Alle:

Die Installation und das Update werden ab jetzt einfacher ablaufen:

Ich habe die Installationsdoku unter
http://www.fhemwiki.de/wiki/Neues_Charting_Frontend
angepasst.

Für ein Update muss jetzt nur noch

update thirdparty https://raw.github.com/w3stbam/FHEM_Frontend/master frontend

in FHEM aufgerufen werden.
Das händische herunterladen und hin und her kopieren fällt jetzt damit weg.
Danke an Martin Fischer, der die Funktionalität ins update-modul von fhem verbaut hat.


thunder

habe quick&dirty die klammern in DbLog entfernt schon passt es mit den dropdowns... ein chart bekomme ich trotzdem noch nicht...


wo im Perl code muss ich da "flicken" ?

thunder

Zitat von: thunder schrieb am Mo, 25 Februar 2013 22:37habe quick&dirty die klammern in DbLog entfernt schon passt es mit den dropdowns... ein chart bekomme ich trotzdem noch nicht...


wo im Perl code muss ich da "flicken" ?

...habe es herausgefunden... der hässliche Workaround sieht so aus....


my $bla = $query_handle->{NAME}->[$i];
   $bla =~ s/\(device\)/device/;
   $bla =~ s/\(reading\)/reading/;
$jsonstring .= uc($bla);
            #$jsonstring .= uc($query_handle->{NAME}->[$i]);

Billy

Zitat von: Johannes schrieb am Mo, 25 Februar 2013 22:12An Alle:
Die Installation und das Update werden ab jetzt einfacher ablaufen:
Für ein Update muss jetzt nur noch

update thirdparty https://raw.github.com/w3stbam/FHEM_Frontend/master frontend

in FHEM aufgerufen werden.
Das händische herunterladen und hin und her kopieren fällt jetzt damit weg.
Wenn ich das aufrufe
fhem> update thirdparty https://raw.github.com/w3stbam/FHEM_Frontend/master frontend
kommt folgende Meldung!
Usage: update thirdparty <url> <package> [force]

Was mache ich falsch?

Gruss Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

Johannes

Hallo billy,

Hast du vorher ein normales fhem update gemacht?
Wenn ja, dann hats der patch noch nicht ins update geschafft, sollte dann aber morgen klappen .

Billy

Habe den Thread mit Interesse verfolgt und es geschafft Sqlite3 zu installieren und die Datenbank aufzusetzen.
Danke an Johannes für dieses Modul und Frontend.
Ich bin totaler Neuling in Sachen Sqlite3 geholfen hat mir auch dieser alte Link:
http://www.russellallen.info/post/2010/10/17/Logging-to-a-Database.aspx

Ergebnis:
Das Frontend und die Datenbank laufen, Charts werden angezeigt,  allerdings habe ich ein Problem beim Speichern der Charts.


(siehe Anhang / see attachement)


(siehe Anhang / see attachement)

Ich bekomme die Meldung The Chart could not be saved! siehe auch Anlage!
Was läuft hier falsch?
Liegt es evtl. an fehlenden Zugriffsberechtigungen?
Wie kann ich die nicht vorhandenen Charts löschen?

Danke vorab für jede Hilfe

Gruss Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

Johannes

Hallo,

Bitte mal die Ausgabe von folgendem DB Befehl hier posten:

SELECT * FROM frontend WHERE TYPE = 'savedchart';

Hast du heute schon ein

update thirdparty https://raw.github.com/w3stbam/FHEM_Frontend/master frontend

gemacht? Dann wüsste ich dass du up2date bist...