Gelöst: 93_DbLog - heutiges Update löscht DBLog-Definition

Begonnen von kadettilac89, 03 Juli 2017, 22:42:19

Vorheriges Thema - Nächstes Thema

rudolfkoenig

Ich plaediere dafuer, dass wenn Information/Daten lokal vorhanden sind, auf diese zu verlinken, und nicht auf die Version im Internet. Erstens damit man autark, und FHEM auch nachdem fhem.de Geschichte ist, noch funktioniert, und auch damit die verwendete und die dokumentierte Version nicht unterscheidet.

Und zu $FW_ME: das Problem haben mehrere Module, die Loesung ist eine Zeile wie
our ($FW_ME,$FW_tp,$FW_ss);

betateilchen

Zitat von: rudolfkoenig am 04 Juli 2017, 11:11:34
Ich plaediere dafuer, dass wenn Information/Daten lokal vorhanden sind, auf diese zu verlinken, und nicht auf die Version im Internet.

Ich plädiere grundsätzlich auch dafür. Aber es ist eben nicht zuverlässig sichergestellt, dass eine commandref immer lokal vorhanden ist.

Und das Modul würde trotz Verlinkung nach Extern auch dann noch funktionieren, wenn fhem.de Geschichte sein sollte, da wir hier nur über eine Textausgabe reden. Das derzeitige Problem ist die Erzeugung dieser Textausgabe, nicht deren Inhalt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Was man aber tun könnte:

Auf die lokal immer verfügbare, modulbezogene Hilfe zu verweisen. Denn die wird aus der Moduldatei selbst gelesen und nicht aus der commandref.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

kadettilac89

Zitat von: DS_Starter am 04 Juli 2017, 11:08:37
Werde das Mal heute Abend so wie von Udo vorgeschlagen ändern. Ist Mist wenn wegen so etwas das Modul nicht geladen werden kann. Ich ergänze eh heute Abend noch das Internal für die statistiic

Hi, wenn du am Modul noch was änderst ... ich habe etwas getestet. Mir sind noch Kleinigkeiten aufgefallen.

Das ist der Output des Config checks:


Result of table 'history' check

Column width set in fhem: 'DEVICE' = 64, 'TYPE' = 64, 'EVENT' = 512, 'READING' = 64, 'VALUE' = 50, 'UNIT' = 32
Column width used by myDbLog: 'DEVICE' = 64, 'TYPE' = 64, 'EVENT' = 512, 'READING' = 64, 'VALUE' = 128, 'UNIT' = 32
Recommendation: The relation between column width in table history and the field width used in device myDbLog don't meet the requirements. Please make sure that the width of database field definition is equal or larger than the field width used by the module. Compare the given results.
Currently the default values for field width are:

DEVICE: 64
TYPE: 64
EVENT: 512
READING: 64
UNIT: 32
DEVICE: 64

You can change the column width in database by a statement like 'alter table history modify VALUE varchar(128);' (example for changing field 'VALUE'). You can do it for example by executing 'sqlCMD' in DbRep or in a SQL-Editor of your choice. (switch myDbLog to asynchron mode for non-blocking).


1) Device: 64 taucht in der Liste 2 mal auf, dafür fehlt Feld VALUE
2) Feld VALUE hat lt. db_create_mysql.sql 128 Zeichen wie auch von mir in meiner DB angelegt. Du prüfst anscheinend gegen den alten Wert der nur 50 Zeichen lang war. Weiter unten steht aber die Anleitung wie das Feld auf 128 aufgebohrt werden kann.

Oder lese ich das falsch? "Column width set in fhem" sind die Sollwerte oder?


DS_Starter

@Rudi, betateilchen ... danke für eure Ideen/Input. Ich habe mich entschlossen die Links die gerade Stress machen generell erstmal rauszunehmen. Ich bin die nächsten Tage sehr beschäftigt und kann nicht korrigieren falls noch was aufkommen sollte. Ich baue die Links später wieder verändert ein.
Persönlich gefällt mir der Verweis auf die Ref vom Modul auch am Besten ....

@kadettilac89

ZitatDevice: 64 taucht in der Liste 2 mal auf, dafür fehlt Feld VALUE
Ist nur ein simpler Copy&Paste Fehler ... korrigiert.

Zitat2) Feld VALUE hat lt. db_create_mysql.sql 128 Zeichen wie auch von mir in meiner DB angelegt. Du prüfst anscheinend gegen den alten Wert der nur 50 Zeichen lang war. Weiter unten steht aber die Anleitung wie das Feld auf 128 aufgebohrt werden kann.

Oder lese ich das falsch? "Column width set in fhem" sind die Sollwerte oder?

Also die Prüfung erfolgt direkt gegen die DB über SQL-Statements. D.h. in deinem Fall meldet die DB auf die Abfrage dass das Feld "Value" den Wert 50 hat. Schau bitte nochmal mit einem Admin-Tool nach ob die Länge des Feldes VALUE wirklich dem Standard 128 entspricht. Ich kann mir nicht vorstellen dass die SQL-Abfrage bei einem Feld versagt und den falschen Wert rausbringt.

D.h.  "Column width set in fhem" sind nicht die Standardwerte sondern die live von der DB zurück gemeldeten Feldgrößen.
Die Standardwerte sind dann in der Erläuterung:


Currently the default values for field width are:

DEVICE: 64
TYPE: 64
EVENT: 512
......


aufgeführt falls Ungereimtheiten auftreten.

Ich stelle die Korrektur gleich hier zur Verfügung wenn ich durch bin....

Grüße
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

So hier die korrigierte Version 2.18.3.
Die Links und die Typos sind raus, es gibt auch ein neues Internal MODEL für die statistic.

@kadettilac89 ... lade dir bitte die Version und Restart.

Checke sie dann auch noch ein..

LG
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

kadettilac89

Zitat von: DS_Starter am 04 Juli 2017, 18:14:35
Also die Prüfung erfolgt direkt gegen die DB über SQL-Statements. D.h. in deinem Fall meldet die DB auf die Abfrage dass das Feld "Value" den Wert 50 hat. Schau bitte nochmal mit einem Admin-Tool nach ob die Länge des Feldes VALUE wirklich dem Standard 128 entspricht. Ich kann mir nicht vorstellen dass die SQL-Abfrage bei einem Feld versagt und den falschen Wert rausbringt.

D.h.  "Column width set in fhem" sind nicht die Standardwerte sondern die live von der DB zurück gemeldeten Feldgrößen.
Die Standardwerte sind dann in der Erläuterung:

Ich habe es mir vorhin auch im Code angesehen. Mit "fhem" ist nicht das Programm sondern die Datenbank gemeint, die meist auch "fhem" heißt. Du hast jetzt noch den Zusastz "DB" angehängt. Sollte reichen.

Das Feld war bei mir noch 50 lang. Habe ich schon geändert.

Zitat von: DS_Starter am 04 Juli 2017, 18:35:54
@kadettilac89 ... lade dir bitte die Version und Restart.

Checke sie dann auch noch ein..

Ich habe mal getestet und für gut befunden. Soweit ich es beurteilen kann. Hatte heute schon zum Test die "$FW_ME"-Zeilen auskommentiert.

Danke dir für die schnelle Umsetzung!

DS_Starter

Prima, danke für die Rückmeldung !
Naja, ist immer unschön wenn so etwas trotz vieler Tests passiert.
Die Links baue ich später in Ruhe wieder verändert ein.

schönen Abend ...
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

kadettilac89

Zitat von: DS_Starter am 04 Juli 2017, 19:11:08
Naja, ist immer unschön wenn so etwas trotz vieler Tests passiert.

Gibt schlimmeres :)

betateilchen

Zitat von: DS_Starter am 04 Juli 2017, 18:35:54
es gibt auch ein neues Internal MODEL für die statistic.

Getestet und für gut befunden.
Danke für die schnelle Umsetzung.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!