Autor Thema: 93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)  (Gelesen 28003 mal)

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1935
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #315 am: 19 Juni 2017, 19:51:22 »
Hi Joe,

Zitat
Testen kann ich das nicht, da ich meine Tabellen aus Performancegründen nicht in UTF8 erstellt habe.

Stimmt nicht ganz. Wenn du das neue Modul bei dir einspielst und alles bleibt beim Alten ist es auch ok.  ;)

lg
Heiko
ESXi 6.5 auf NUC6i5SYH mit FHEM Gastsystemen auf Debian 8 64 Bit  (Jessie) & Synology iSCSI-LUNs,
DbLog/DbRep mit MariaDB auf Synology 415+,
Homematic, IT, FS20, Cams in Synology Surveillance Station (SSCAM), CUL 433, CUL 868, HM-CFG-LAN

Offline SabineT

  • Full Member
  • ***
  • Beiträge: 169
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #316 am: 19 Juni 2017, 19:59:48 »
Bei mir wird das °C jetzt richtig in der DB gespeichert!

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1935
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #317 am: 20 Juni 2017, 22:49:37 »
Habe soeben die V2.17.1 eingecheckt.
Im contrib/dblog-Verzeichnis ist die Beispiel-db.conf ebenfalls um diesen optionalen Parameter ergänzt.

Grüße
Heiko
ESXi 6.5 auf NUC6i5SYH mit FHEM Gastsystemen auf Debian 8 64 Bit  (Jessie) & Synology iSCSI-LUNs,
DbLog/DbRep mit MariaDB auf Synology 415+,
Homematic, IT, FS20, Cams in Synology Surveillance Station (SSCAM), CUL 433, CUL 868, HM-CFG-LAN
Gefällt mir Gefällt mir x 1 Liste anzeigen

Online JoeALLb

  • Hero Member
  • *****
  • Beiträge: 1115
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #318 am: 21 Juni 2017, 08:06:26 »
Noch ein Gedanke: Würde es nicht sinn machen, die Frage der Verbindung ob "UTF8" oder nicht abhängig davon zu machen, wie die Datenbank angelegt ist?
Ich frage mich gerade, was bei unterschiedlichen kombinationen als Ergebnis herauskommt. Wenn ich jetzt die Verbindung auf UTF8 umstelle, aber eine ASCI-Datenbank habe, wird
vermutlich nichts schönes dabei heraus kommen. umgekehrt hatten fast alle bisher eine UTF8-Datenbank befüllt jedoch mit einer ASCI-Datenbankverbindung.
Auch diese Unicodezeichen sind bis jetzt nicht sauber in die Datenbank abgelegt worden.
Durch die neue Option haben wir zwei verschiedene Stellen, die "zusammenpassen" müssen.
FHEM-Server auf IntelAtom+Debian (12 Watt),
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1935
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #319 am: 21 Juni 2017, 08:29:20 »
Hi Joe,

ja, schön wäre es die Steuerung so zu machen. Allerdings habe ich dafür noch keine Lösung gefunden, weil diese Entscheidung bereits sehr frühzeitig bei der Anlage des DB-Handle erfolgen muß (beim FHEM-Start). Dieser Paramater muß an dieser Stelle mitgegeben werden.
Deswegen war ich auch mit dem ersten Attribut-Ansatz gescheitert.
Für den asynchronen Modus, der ja immer wieder einen einen neuen DBH erhält, wäre es wahrscheinlich mit entsprechenden Aufwand möglich. Beim synchronen Modus ist das komplizierter wenn nicht unmöglich.

Also ich denke dass der User, der sich Gedanken um so etwas macht, auch in der Lage ist die von dir beschriebenen Abhängigkeiten zu berücksichtigen.
Wenn der User kein "Problem" damit hat, kann er ja wie bisher in den allermeisten Fällen mit dem Standardsetup weiter machen.

lg
Heiko
ESXi 6.5 auf NUC6i5SYH mit FHEM Gastsystemen auf Debian 8 64 Bit  (Jessie) & Synology iSCSI-LUNs,
DbLog/DbRep mit MariaDB auf Synology 415+,
Homematic, IT, FS20, Cams in Synology Surveillance Station (SSCAM), CUL 433, CUL 868, HM-CFG-LAN

Online JoeALLb

  • Hero Member
  • *****
  • Beiträge: 1115
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #320 am: 21 Juni 2017, 08:48:16 »
Ich verstehe... ;-)
Dann ändere ich meine Gedanken ab in folgenden nachrangigen Wunsch für später:
Eine Funktion wie "set sql checkConfig", die dann auf gewisse Ungereimtheiten prüft und diese ausgibt.
Dort könnten wir zB auf Unicode, aber auch auf die alten Spaltenbreiten, auf fehlende Indexe, etc. hinweisen. Das wäre denk vom Aufwand her eher überschaubar,
hätte kein Fehlerpotential (da es den Livebetrieb nicht beeinflusst) und diese Information könnte bei einem Supportfall direkt angefragt werden.
FHEM-Server auf IntelAtom+Debian (12 Watt),
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1935
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #321 am: 21 Juni 2017, 09:43:11 »
Gute Idee Joe, du hast aber auch immer wieder etwas im Ärmel dass mir nicht langweilig werden kann.  ;)
Schreib's Mal auf deine Liste ...

LG
Heiko
ESXi 6.5 auf NUC6i5SYH mit FHEM Gastsystemen auf Debian 8 64 Bit  (Jessie) & Synology iSCSI-LUNs,
DbLog/DbRep mit MariaDB auf Synology 415+,
Homematic, IT, FS20, Cams in Synology Surveillance Station (SSCAM), CUL 433, CUL 868, HM-CFG-LAN
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1935
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #322 am: 23 Juni 2017, 16:25:24 »
Hallo zusammen,

es hat mich natürlich gereizt den von Joe angeregten configCheck einzubauen. Hier der erste Wurf mit V2.18.0.
Implementiert ist "set ... configCheck" für MySQL und PostgreSQL.
Viel ist dazu nicht anzumerken.

Probierts mal aus und gerne wieder Verbesserungsvorschläge und Ergänzungen.

Grüße
Heiko
« Letzte Änderung: 24 Juni 2017, 10:36:31 von DS_Starter »
ESXi 6.5 auf NUC6i5SYH mit FHEM Gastsystemen auf Debian 8 64 Bit  (Jessie) & Synology iSCSI-LUNs,
DbLog/DbRep mit MariaDB auf Synology 415+,
Homematic, IT, FS20, Cams in Synology Surveillance Station (SSCAM), CUL 433, CUL 868, HM-CFG-LAN

Online JoeALLb

  • Hero Member
  • *****
  • Beiträge: 1115
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #323 am: 23 Juni 2017, 17:31:49 »
Hallo Heiko,

Bin gespannt, herzlichen Dank :D
Leider bin ich im Ausland und komm erst Sonntag Abend heim zum testen....


schöne Grüße
Joe
FHEM-Server auf IntelAtom+Debian (12 Watt),
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1935
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #324 am: 23 Juni 2017, 19:42:07 »
Hi Joe,

ja kein Stress. Es gibt ja auch noch andere Mitstreiter. Und vllt. habe ich bis dahin noch etwas mehr gemacht, mal schauen wie das WE wird.

Bis dann ...
ESXi 6.5 auf NUC6i5SYH mit FHEM Gastsystemen auf Debian 8 64 Bit  (Jessie) & Synology iSCSI-LUNs,
DbLog/DbRep mit MariaDB auf Synology 415+,
Homematic, IT, FS20, Cams in Synology Surveillance Station (SSCAM), CUL 433, CUL 868, HM-CFG-LAN

Offline MichaelT

  • Full Member
  • ***
  • Beiträge: 146
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #325 am: 24 Juni 2017, 11:21:47 »
Hallo zusammen,

es hat mich natürlich gereizt den von Joe angeregten configCheck einzubauen. Hier der erste Wurf mit V2.18.0.
Implementiert ist "set ... configCheck" für MySQL und PostgreSQL.
Viel ist dazu nicht anzumerken.

Probierts mal aus und gerne wieder Verbesserungsvorschläge und Ergänzungen.

Grüße
Heiko

Morgen Heiko,

zur Info, habe die 2.18.0 bei mir in einer STD-Konfiguration am laufen.


Result of connection check

Connection to database fhem successfully done.
Recommendation: settings o.k.

Result of encoding check

Encoding used by Client (connection): LATIN1
Encodung used by fhem: UTF8
Recommendation: Both parameters should be identical. You can adjust the usage of UTF8 connection by setting the UTF8 parameter in file './db.conf' to the right value.

Result of table 'history' check

Column width set in fhem: 'DEVICE' = 32, 'TYPE' = 32, 'EVENT' = 512, 'READING' = 32, 'VALUE' = 64, 'UNIT' = 32
Column width used by logdb: '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 logdb 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.
You can change the column width in database by a statement like 'alter table history modify VALUE varchar(128);' (example for changing field 'VALUE'). The field width used by the module can be done by setting attributes 'colEvent', 'colReading', 'colValue',

Result of table 'current' check

Column width set in fhem: 'DEVICE' = 32, 'TYPE' = 32, 'EVENT' = 512, 'READING' = 32, 'VALUE' = 64, 'UNIT' = 32
Column width used by logdb: 'DEVICE' = 64, 'TYPE' = 64, 'EVENT' = 512, 'READING' = 64, 'VALUE' = 128, 'UNIT' = 32
Recommendation: The relation between column width in table current and the field width used in device logdb 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.
You can change the column width in database by a statement like 'alter table current modify VALUE varchar(128);' (example for changing field 'VALUE'). The field width used by the module can be done by setting attributes 'colEvent', 'colReading', 'colValue',

Result of check 'Search_Idx' availability

'Search_Idx' exists and contains fields 'DEVICE', 'READING', 'TIMESTAMP'.
Recommendation: settings o.k.
rpi2, 2xHMLAN, 8xHM-LC-BL1-FM, 11xHM-Sec-RHS, 4+HM-LC-Sw2-FM, 5xHM-CC-RT-DN, 3xHM-CC-VD, 2xHM-CC-TC, HM-PBI-4-FM, HM-RC-12-B, 3xHM-TC-IT-WM-W-EU, 2xHM-LC-DIM1T-FM, HM-PB-4DIS-WM-2
externe I/Os (properitär: Heizung, Aussenbereich)

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1935
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #326 am: 24 Juni 2017, 12:15:21 »
Hi Michael,

das sind doch schonmal hilfreiche Ergebnisse, sieht alles richtig gelaufen aus. (was ist STD ??)

Zitat
Result of encoding check

Encoding used by Client (connection): LATIN1
Encodung used by fhem: UTF8
Recommendation: Both parameters should be identical. You can adjust the usage of UTF8 connection by setting the UTF8 parameter in file './db.conf' to the right value.

Das bedeutet dass in deiner DB "°C" als "°C" zu sehen sein wird wenn du zB. mit phpMyAdmin oder DbRep dir die Einträge anschaust.
Die UTF8 Unterstützung kannst du mit dem UTF8-Paramater in der Konfigdatei einschalten.

Zitat
Column width set in fhem: 'DEVICE' = 32, 'TYPE' = 32, 'EVENT' = 512, 'READING' = 32, 'VALUE' = 64, 'UNIT' = 32
Column width used by logdb: 'DEVICE' = 64, 'TYPE' = 64, 'EVENT' = 512, 'READING' = 64, 'VALUE' = 128, 'UNIT' = 32

Die Spaltenbreite für 'DEVICE',  'READING', 'VALUE' ist in der DB zu klein. Füher (bis letztes Jahr irgendwann) waren das richtige Werte. Dann wurden die Defaultwerte erhöht. Es würde zu Fehlern kommen wenn Werte in den Spalten gespeichert werden sollen die diese Größen überschreiten. Entweder in der Tabelle history bzw. current die Spaltenbreite auf den jetzt akzuellen Wert setzen (best way) oder im Modul über die Attribute begrenzen.

Das wären so die Handlungsempfehlungen die aus dem Check rauspurzeln.
Prima !

Grüße
Heiko
ESXi 6.5 auf NUC6i5SYH mit FHEM Gastsystemen auf Debian 8 64 Bit  (Jessie) & Synology iSCSI-LUNs,
DbLog/DbRep mit MariaDB auf Synology 415+,
Homematic, IT, FS20, Cams in Synology Surveillance Station (SSCAM), CUL 433, CUL 868, HM-CFG-LAN

Offline MichaelT

  • Full Member
  • ***
  • Beiträge: 146
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #327 am: 24 Juni 2017, 17:43:45 »
Hallo Heiko,

STD=Standard, heisst "nichts besonders" ;)

Ja, mit der Länge hatte ich damals nichts angepasst. Utf8 latin1 habe bisher nicht bemerkt.

Werde ich jatzt wohl mal anpassen.

Schönes Wochende. Danke für deine Weiterentwicklung.
rpi2, 2xHMLAN, 8xHM-LC-BL1-FM, 11xHM-Sec-RHS, 4+HM-LC-Sw2-FM, 5xHM-CC-RT-DN, 3xHM-CC-VD, 2xHM-CC-TC, HM-PBI-4-FM, HM-RC-12-B, 3xHM-TC-IT-WM-W-EU, 2xHM-LC-DIM1T-FM, HM-PB-4DIS-WM-2
externe I/Os (properitär: Heizung, Aussenbereich)

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1935
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #328 am: 25 Juni 2017, 13:49:40 »
Hallo zusammen,

In der angehängten V 2.18.1 habe ich die Checks noch etwas erweitert, verfeinert und auch die Commandref bereits angepasst.

VG
Heiko
ESXi 6.5 auf NUC6i5SYH mit FHEM Gastsystemen auf Debian 8 64 Bit  (Jessie) & Synology iSCSI-LUNs,
DbLog/DbRep mit MariaDB auf Synology 415+,
Homematic, IT, FS20, Cams in Synology Surveillance Station (SSCAM), CUL 433, CUL 868, HM-CFG-LAN

Online JoeALLb

  • Hero Member
  • *****
  • Beiträge: 1115
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #329 am: 27 Juni 2017, 11:04:38 »
Hallo Heiko,

habe gerade V2.18.1.pm getestet und zeigt bei mir ebenfalls korrekte und brauchbare Ergebnisse an.
Kleiner gedanken noch: Sollte man beim Index ggf. auch auf den DbRep-Index prüfen, wenn das Modul DbRep genutzt wird?

Ansonsten lasse ich es jetzt mal bbei mir laufen! Herzlichen Dank,

Joe
FHEM-Server auf IntelAtom+Debian (12 Watt),
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270