93_DbLog - Umstellung Log-Funktion auf non-blocking

Begonnen von DS_Starter, 18 Dezember 2016, 20:03:56

Vorheriges Thema - Nächstes Thema

DS_Starter

Die DropDown-Listen auch ok bei dir ? Falls du die Current Tabelle einsetzt.
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

stromer-12

Felder sind da, musste erstmal wieder Current aktivieren.
Ich bearbeite die gplot-Dateien direkt.
Bei mir ist meistens sowieso ein Text-Feld und keine Dropdownfeld für device:reading da.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

DS_Starter

ok, super .... dann checke ich oder Tobias heute Abend die neue Version ein.
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

Xcoder

Hallo DS_Starter

Die Fehlermeldung ist mit 2.8.6 nun leicht anders:
2017.01.10 21:44:45 1: Including fhem.cfg
2017.01.10 21:44:45 0: Using EIB is deprecated. Please migrate to KNX soon. Module 10_EIB is not maintained any longer. If you still want to use the module EIB,
please set the attribute useEIB to 1 within the tul-device. Please keep in mind, that 10_KNX has a changed syntax regarding the definition, arguments and readings. Please refer to the commandref.
As well 10_EIB and 10_KNX are compatible to daemon eibd and knxd.
2017.01.10 21:44:45 2: eventTypes: loaded 1155 events from ./log/eventTypes.txt
2017.01.10 21:44:46 1: Including ./log/fhem.save
2017.01.10 21:44:46 0: Featurelevel: 5.7
2017.01.10 21:44:46 0: Server started with 449 defined entities (fhem.pl:12966/2017-01-05 perl:5.024001 os:linux user:fhem pid:29421)
2017.01.10 21:44:56 1: PERL WARNING: Argument "no" isn't numeric in numeric gt (>) at ./FHEM/23_LUXTRONIK2.pm line 1188.
2017.01.10 21:46:26 2: DbLog logdb_core -> Error: DBD::mysql::st execute_array failed: MySQL server has gone away [err was 2006 now 2000000000]
executing 13 generated 13 errors at ./FHEM/93_DbLog.pm line 946.

2017.01.10 21:46:26 1: PERL WARNING: rollback ineffective with AutoCommit enabled at ./FHEM/93_DbLog.pm line 1014.
2017.01.10 21:48:17 2: DbLog logdb_core -> Error: DBD::mysql::st execute_array failed: MySQL server has gone away [err was 2006 now 2000000000]
executing 2 generated 2 errors at ./FHEM/93_DbLog.pm line 946.

2017.01.10 21:48:31 2: DbLog logdb_core -> Error: DBD::mysql::st execute_array failed: MySQL server has gone away [err was 2006 now 2000000000]
executing 2 generated 2 errors at ./FHEM/93_DbLog.pm line 946.

2017.01.10 21:48:39 2: DbLog logdb_core -> Error: DBD::mysql::st execute_array failed: MySQL server has gone away [err was 2006 now 2000000000]
executing 2 generated 2 errors at ./FHEM/93_DbLog.pm line 946.

2017.01.10 21:48:41 2: DbLog logdb_core -> Error: DBD::mysql::st execute_array failed: MySQL server has gone away [err was 2006 now 2000000000]
executing 2 generated 2 errors at ./FHEM/93_DbLog.pm line 946.


Bis jetzt 21:55 aber keine neuen Meldungen. MySQL war auf jeden Fall verfügbar ich habe laufend in phpMyAdmin die current Tabelle betrachtet, und keine Ausfälle bemerkt. MySQL läuft lokal.

Gruss, Xcoder

DS_Starter

Hallo XCoder,

die Warnungen habe ich mit der V2.8.8 hier weiter oben auch eliminiert.
Verwende die bitte mal.
Ich gehe aber davon aus dass deine DB ganz normal logged ?

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

Xcoder

Richtig, alles wird geloggt.

Die AutoCommit-Meldung ist weg. Aber diese kommt immer noch:
2017.01.10 23:53:30 2: DbLog logdb_core -> Error: DBD::mysql::st execute_array failed: MySQL server has gone away [err was 2006 now 2000000000]
executing 2 generated 2 errors at ./FHEM/93_DbLog.pm line 951.


Ich kann die Meldung fast zuverlässig erzwingen, wenn ich SVG Plots aus dem DbLog anzeigen lasse...

Ist aber nicht so tragisch. Das Problem mit DbLogExclude ist da schon eher störend.


Danke und Gruss, Xcoder

DS_Starter

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

JoeALLb

Hallo Heiko,

vielen Dank nochmals, die Versionen laufen sehr flott und sind eine wirkliche Verbesserung!!!!

Diese Fehlermeldung ist sicherlich eine Spezialität meiner Installation.
Ich bekomme noch immer diese Einträge im state.
DBD::mysql::st execute_array failed: executing 195 generated 3 errors at ./FHEM/93_DbLog.pm line 1221.
Ich bin mir sicher, dass diese im Zusammenhang mit Primary-Key Fehlern kommen, wenn gewisse Einträge nicht nicht in die DB geschrieben werden können,
weil sie dort bereits vorhanden sind. Da ich einen PK auf "Timestamp, device, reading" gelegt habe und manche Devices leider 2 Einträge zur selben Zeit
produzieren, kommt das manchmal vor.

Ist es dazu ausreichend, wenn ich in Zeile 921 und 1188 für einen Test
INSERT INTO
durch
INSERT IGNORE INTO
ersetze? Ich werde das jedenfalls für heute so testen!

schöne Grüße
Joe
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
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

DS_Starter

Morgen Joe,

Ja genau, das sollte so passen.
Wünsche dir einen schönen Tag. Bei mir ruft die Arbeit ...

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

Tedious

Guten Morgen,

ich will das nicht noch mal alles quoten, daher der Verweis: https://forum.fhem.de/index.php/topic,64537.msg558617.html#msg558617

Jemand eine Idee was da los ist? Tante Google hat mich nicht wirklich weiter gebracht :(
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

DS_Starter

Die Datenlänge in DbLog für das Feld VALUE ist 64. Die Meldung liest sich so dass dies zu lang wäre für deine DB und spezielle Reading. Ist die Feldlänge für value in der DB auch auf 64 eingestellt ?
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

Tedious

Die Werte habe ich gestern hochgestellt, ja... Weil ich die Meldung so interpretiert hatte.
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

JoeALLb

Zitat von: Tedious am 11 Januar 2017, 11:53:25
Jemand eine Idee was da los ist? Tante Google hat mich nicht wirklich weiter gebracht :(

setz ein
show COLUMNS  from history;
und wenn du auch die current-tabelle verwendest zusätzlich noch ein
show COLUMNS  from current;

Als Ergebnis solltest Du etwas in der Form für beide Tabellen erhalten!


Field Type Null Key Default Extra
TIMESTAMP datetime NO PRI 0000-00-00 00:00:00
DEVICE varchar(64) NO PRI
TYPE varchar(32) YES
EVENT varchar(512) YES
READING varchar(64) NO PRI
VALUE varchar(32) YES
UNIT varchar(32) YES


Was ist das Ergebnis davon?
show variables  like 'STRICT_%';

FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
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

CoolTux

Zitat von: JoeALLb am 11 Januar 2017, 13:44:17
setz ein
show COLUMNS  from history;
und wenn du auch die current-tabelle verwendest zusätzlich noch ein
show COLUMNS  from current;

Als Ergebnis solltest Du etwas in der Form für beide Tabellen erhalten!


Field Type Null Key Default Extra
TIMESTAMP datetime NO PRI 0000-00-00 00:00:00
DEVICE varchar(64) NO PRI
TYPE varchar(32) YES
EVENT varchar(512) YES
READING varchar(64) NO PRI
VALUE varchar(32) YES
UNIT varchar(32) YES


Was ist das Ergebnis davon?
show variables  like 'STRICT_%';

Wenn ich mich da mal zwischen drängeln darf. Bei mir sieht das nicht so aus wie bei Dir

MariaDB [fhem]> show COLUMNS  from history;
+-----------+--------------+------+-----+-------------------+-----------------------------+
| Field     | Type         | Null | Key | Default           | Extra                       |
+-----------+--------------+------+-----+-------------------+-----------------------------+
| TIMESTAMP | timestamp    | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| DEVICE    | varchar(32)  | YES  | MUL | NULL              |                             |
| TYPE      | varchar(32)  | YES  |     | NULL              |                             |
| EVENT     | varchar(512) | YES  |     | NULL              |                             |
| READING   | varchar(32)  | YES  |     | NULL              |                             |
| VALUE     | varchar(32)  | YES  |     | NULL              |                             |
| UNIT      | varchar(32)  | YES  |     | NULL              |                             |
+-----------+--------------+------+-----+-------------------+-----------------------------+
7 rows in set (0.00 sec)


Ne Idee was nun "besser" oder "schlechter" ist?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

JoeALLb

32 war die alte Spaltenbreite und wurde nunmehr auf 64 angeboben, daher sind alle Überprüfungen des Moduls ebenfalls auf 64 angehoben!

Also bitte verbreitere die Tabellen!

@Heiko:
Ich würde tatsächlich vorschlagen, beim init des Moduls internals zu generieren mit den Spaltenbreiten aus der Tabelle!
Ich erwarte zukünftig mehrere solcher Fehlermeldungen, und dadurch würden wir diese direkt erkennen.
Wennd as Auslesen in das internal nicht klappt, kann der Wert ja immer noch die Default-Breite annehmen.

Optimaler (für Später) könnten wir im STATE oder einem anderen Reading noch eine Warnung ausgeben: "Achtung, die Spaltenbreite ist kleiner als empfohlen, dies kann zu Fehlern beim Loggen führen"
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
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