DBLog scheint db.conf nicht zu finden

Begonnen von blade-of-fire, 05 März 2018, 17:20:57

Vorheriges Thema - Nächstes Thema

blade-of-fire

Hallo zusammen,

ich habe ein Problem mit dem DBLog. Bisher habe ich DBLog schon in mehreren FHEM-Instanzen genutzt und hatte nie derartige Probleme.

Es scheint mir, als ob das Modul die db.conf nicht ausliest. Ich bekomme allerdings folgenden Fehler:

2018.03.05 17:21:15 3: DbLog logdb - Creating Push-Handle to database  with user
2018.03.05 17:21:15 2: DbLog logdb - Error: Can't connect to data source 'dbi:' because I can't work out what driver to use (it doesn't seem to contain a 'dbi:driver:' prefix and the DBI_DRIVER env var is not set) at ./FHEM/93_DbLog.pm line 2310.


Wie man in der Meldung sieht, wird gar kein Datenbankname und User eingetragen.

Ich habe die db.conf in den Ordner /opt/fhem/ abgelegt. Besitzer und Gruppe sind "fhem:dialout". Mit den Berechtigungen habe ich schon bishin zu chmod 777 getestet.
Die Angabe im Modul lautet:

./db.conf .*:.*

Dort habe ich auch schon mit dem absoluten Pfad getestet, leider auch ohne Erfolg.
Hat jemand von euch noch eine Idee, wo der Fehler liegen könnte?

Gruß,
Patrick
VM mit Ubuntu und FHEM-Instanz (Hauptinstanz)
FHEM2FHEM
Raspberry Pi 3 B+ mit Eigenbau-Platine + Relais-Platine + Cul-Stick + FHEMDuino

betateilchen

und was steht in der db.conf drin?

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

blade-of-fire

#2
 ::)
Da habe ich wohl mal wieder einen wichtigen Teil vergessen  :-[

#
# database configuration file
#
#
## for MySQL
################################################################
%dbconfig= (
        connection => "mysql:database=srvfhem01_1_logdb;host=10.0.0.3;port=3306",
        user => "fhemuser",
        password => "***",
);



Die db.conf habe ich aus einer meiner anderen FHEM-instanzen, danach habe ich den servernamen angepasst. Die Struktur in  der DB ist auch angelegt.
Wie man sehen kann, habe ich einen MySql Server, der auch von der Instanz erreichbar ist (mysql per shell funktioniert).
Ich vermute aber, dass das Problem schon vorher besteht. Ich kann zum Beispiel als Datei irgendeine nicht existierende Datei angeben, was den gleichen Fehler bringt.  :o
VM mit Ubuntu und FHEM-Instanz (Hauptinstanz)
FHEM2FHEM
Raspberry Pi 3 B+ mit Eigenbau-Platine + Relais-Platine + Cul-Stick + FHEMDuino

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

blade-of-fire

Also ich habe die Anweisungen befolgt. Da ich ja erfolgreich die configDB verbunden habe, glaube ich wie gesagt nicht daran, dass es an der DB-Verbindung liegt. Ich hatte auch nochmal die configdb.conf mit der db.conf verglichen.
Wenn ich ein checkConfig ausführe, kommt folgendes (die html-codes werden dabei mit dargestellt)

<html><u><b>Result of DbLog version check</u></b><br><br>Used DbLog version: 3.8.6 <br><b>Recommendation:</b> Your running version may be the current one. Please check for updates of DbLog periodically. <br><br><u><b>Result of configuration read check</u></b><br><br>Connection parameter store type: configDB (don't forget upload configuration file if changed) <br>Connection Error on reading /opt/fhem/db.conf from database! <br><br><u><b>Result of connection check</u></b><br><br>Connection to database was not successful. <br><b>Recommendation:</b> Plese check logfile for further information. <br><br>

Ich habe verbose auf 5 gestellt. Im Logfile steht nun das.

2018.03.05 19:57:43 4: DbLog logdb - Trying to connect to database
2018.03.05 19:57:43 4: DbLog logdb - Waiting for database connection
2018.03.05 19:57:48 3: DbLog logdb - Creating Push-Handle to database  with user
2018.03.05 19:57:48 2: DbLog logdb - Error: Can't connect to data source 'dbi:' because I can't work out what driver to use (it doesn't seem to contain a 'dbi:driver:' prefix and the DBI_DRIVER env var is not set) at ./FHEM/93_DbLog.pm line 2310.


Mich wundert eben, dass das DbLog.pm nicht den Datenbank Namen auflösen kann, weil der ja eigentlich bei "Creating Push-Handle to database [db name] with user [dbuser]" stehen sollte. Da er da wohl einen leeren String hat, kann er dann folglich auch nicht die datasource auflösen.


VM mit Ubuntu und FHEM-Instanz (Hauptinstanz)
FHEM2FHEM
Raspberry Pi 3 B+ mit Eigenbau-Platine + Relais-Platine + Cul-Stick + FHEMDuino

KernSani

#5
Hast du die Berechtigungen der db.conf mal überprüft?
Edit: Sorry - habe nicht weit genug nach oben gescrollt...

Kurz, weil mobil...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

blade-of-fire

ZitatIch habe die db.conf in den Ordner /opt/fhem/ abgelegt. Besitzer und Gruppe sind "fhem:dialout". Mit den Berechtigungen habe ich schon bishin zu chmod 777 getestet.

Ja, das hatte ich bereits getestet.  :)
VM mit Ubuntu und FHEM-Instanz (Hauptinstanz)
FHEM2FHEM
Raspberry Pi 3 B+ mit Eigenbau-Platine + Relais-Platine + Cul-Stick + FHEMDuino

KernSani

Zitat von: blade-of-fire am 05 März 2018, 20:12:59
Ja, das hatte ich bereits getestet.  :)
Hab's gerade selbst gemerkt- sorry


Kurz, weil mobil...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

DS_Starter

#8
Die Ergebnisse des Configcheck sind schwer zu lesen (ausnahmsweise mal keine Code-Tags verwenden), aber man sieht schon das wahrscheinliche Problem:

Connection parameter store type: configDB (don't forget upload configuration file if changed)
Connection Error on reading /opt/fhem/db.conf from database! 

Du verwendest configDB und hast die conf wahrscheinlich nicht hineingeladen.

Edit: Die Meldung "Connection Error on reading /opt/fhem/db.conf from database! " sieht mir sogar so aus als ob die Verbindung zur configDB garnicht funktioniert.
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

blade-of-fire

ja, ich benutze configDB. Und das funktioniert auch. Die Parameter werden in der Datenbank gespeichert.

VM mit Ubuntu und FHEM-Instanz (Hauptinstanz)
FHEM2FHEM
Raspberry Pi 3 B+ mit Eigenbau-Platine + Relais-Platine + Cul-Stick + FHEMDuino

kumue

wenn Du
configdb filelist
ausführst, siehst du dann deine db.conf ?

blade-of-fire

Die Ausgabe von "configdb filelist" ist:

Files found in database:
------------------------------------------------------------
./FHEM/FhemUtils/uniqueID
./www/gplot/wzpa_hz.gplot
VM mit Ubuntu und FHEM-Instanz (Hauptinstanz)
FHEM2FHEM
Raspberry Pi 3 B+ mit Eigenbau-Platine + Relais-Platine + Cul-Stick + FHEMDuino

kumue

dann solltest du die Datei importieren.

configDB fileimport ./db.conf

blade-of-fire

Super, danke, das wars :)

Vielen Dank für die schnelle Hilfe. Auf euch ist verlass.  :D
VM mit Ubuntu und FHEM-Instanz (Hauptinstanz)
FHEM2FHEM
Raspberry Pi 3 B+ mit Eigenbau-Platine + Relais-Platine + Cul-Stick + FHEMDuino

DS_Starter

Dafür gibts den ConfigCheck im DbLog und dort stand auch schon der Hinweis darauf. Das sollte einem dann auffallen  ;)
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