Hallo,
da hier viele Fragen (und wenig Anworten) zum DBLog-Modul und der Fehlermeldung
DbLog: Failed to insert new readings into database: DBD::SQLite::st execute failed: attempt to execute on inactive database handle at ./FHEM/93_DbLog.pm line
hier mal meine bisherigen Erkenntnisse (falls die schon im Forum existieren und ich nicht gut genug gesucht habe - bitte löschen):
ich habe sqlite als DB benutzt und die DB wie in vielen Tutorials in /opt/fhem (auf dem raspi) installiert.
Schreibzugriff für den User fhem auf die DB war gegeben. Zugriff für /opt/fhem war für den User fhem auf read+execute -> DAS REICHT NICHT!
Hintergrund: in 93_DbLog.pm wird für SQLite das Pragma Statement "journal_mode" auf "WAL" gesetzt. Das bedeutet aber, das in demselben
Verzeichnis wie die DB durch den User fhem versucht wird die Dateien
"database.db-shm" und "database.db.wal"
zu erstellen.
Wenn dies fehlschlägt, bekommt man diese Fehlermeldungen.
Also die DB in ein Verzeichnis mit den entsprechenden Berechtigungen verschieben oder aber /opt/fhem für den User fhem beschreibbar machen
(aus Security-Sicht keine so gute Idee!)
Hallo,
ich habe jenes von dir beschriebene Problem und habe testweise die Berechtigungen angepasst:
/opt $ ls -l
drwxrwxrwx 14 fhem dialout 4096 Jan 23 22:28 fhem
Gut, ich hab mit der Rechtevergabe vielleicht etwas übertrieben. Der Punkt ist jedoch, dass ich immernoch die von dir beschriebene Fehlermeldung erhalte.
Was habe ich übersehen?