OWServer - DbLog Problem

Begonnen von erwin, 11 April 2013, 12:54:06

Vorheriges Thema - Nächstes Thema

erwin

Hi All,
ich habe gestern versucht OWserver mit attr nonblocking zu betreiben.
Es kommen jedesmal, wenn OWserver forked - die folgenden Fehler:
2013.04.11 12:00:20 2: DbLog: Failed to insert new readings into database: DBD::mysql::db begin_work failed: Turning off AutoCommit failed at ./FHEM/93_DbLogMH.pm line 330.
ich hab mich jetzt an einen älteren Thread erinnert, wo das schon mal Thema war (in Zusammmenhang mit PRESENCE):
http://forum.fhem.de/index.php?t=msg&th=11246&goto=65953&rid=0#msg_65953
Die Fehlermeldungen waren damals andere, aber inzwischen hat sich in DbLog ja einiges getan...
Es ist eindeutig reproduzierbar - Atrr nonblocking löschen - alles läuft!
Konfig:
define my_OWServer OWServer localhost:4304
attr my_OWServer nonblocking 1
define DS18S20_75EEDC010800 OWDevice 10.75EEDC010800 120
attr DS18S20_75EEDC010800 IODev my_OWServer
attr DS18S20_75EEDC010800 model DS18S20


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,...

fstreffer

Hallo Zusammen,
ich hatte das gleiche Problem. Ich habe nach der Lösung in Blocking.pm geschaut und eine Änderung in 10_OWServer.pm Zeile 265 vorgenommen. Bei mir funktioniert es.

@Matrin & Boris: Bitte schaut es Euch an und checkt es bei gelegenheit ein, wenn es passt.

Beste Grüße,
Frieder  

    256  InternalTimer(gettimeofday()+20, "OWServer_TimeoutChild", $pid, 0);
    257     if($pid == 0) {
    258       close READER;
    259       $ret= OWNet::read($hash->{DEF},$path);
    260       $ret =~ s/^\s+//g if(defined($ret));
    261       Log 5, "OWServer child read $path: $ret";
    262       delete $hash->{".path"};
    263       print WRITER $ret;
    264       close WRITER;
    265       POSIX::_exit(0);
    266     }
    267
    268     Log 5, "OWServer child ID for reading '$path' is $pid";

MNeugebauer

Hallo,
ich habe das gleiche Problem:

DbLog: Failed to insert new readings into database: DBD driver has not implemented the AutoCommit attribute at /opt/lib/perl5/site_perl/5.10.0/arm-linux/DBI.pm line 1724.

Auch ich muss entweder NONBLOCKING ausschalten oder die vorgeschlagene Änderung in 10_OWServer.pm einfügen, damit alles ohne Fehlermeldung läuft.

Kann man die Änderung in OWServer durchführen ?

Dr. Boris Neubert

Zitat von: MNeugebauer schrieb am So, 15 September 2013 13:01Kann man die Änderung in OWServer durchführen ?

Erledigt!

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!