Hauptmenü

keine Verbindung mit DBLog

Begonnen von Mirko_2013, 26 März 2018, 18:54:06

Vorheriges Thema - Nächstes Thema

Mirko_2013

Hallo zusammen,

Ich habe auf einer externen Synology eine DB laut Wiki angelegt.

Allerdings kann keine Verbindung aufgebaut werden.

Der Config Check gibt folgende Rückmeldung:

Result of DbLog version check

Used DbLog version: 3.9.0
Recommendation: Your running version may be the current one. Please check for updates of DbLog periodically.

Result of configuration read check

Connection parameter store type: file
Connection parameter: Connection -> mysql:database=fhem;host=xxx.xxx.xxx.xxx;port=3306, User -> fhemuser, Password -> read o.k.

Result of connection check

Connection to database was not successful.


Im Logfile zum Verbindungsversuch steht folgende Meldung:
2018.03.26 18:48:31 2: DbLog myDbLog - DBI connect('database=fhem;host=xxx.xxx.xxx.xxx;port=3306','fhemuser',...) failed: Malformed packet at ./FHEM/93_DbLog.pm line 2396.
2018.03.26 18:48:31 5: DbLog myDbLog -> DbLog_Push Returncode:
2018.03.26 18:48:31 3: DbLog myDbLog - Creating Push-Handle to database mysql:database=fhem;host=xxx.xxx.xxx.xxx;port=3306 with user fhemuser
2018.03.26 18:48:41 2: DbLog myDbLog - Error: DBI connect('database=fhem;host=xxx.xxx.xxx.xxx;port=3306','fhemuser',...) failed: Malformed packet at ./FHEM/93_DbLog.pm line 2331.
2018.03.26 18:48:41 4: DbLog myDbLog - Trying to connect to database
2018.03.26 18:48:41 4: DbLog myDbLog - Waiting for database connection
2018.03.26 18:48:42 4: DbLog myDbLog -> ################################################################
2018.03.26 18:48:42 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2018.03.26 18:48:42 4: DbLog myDbLog -> ################################################################
2018.03.26 18:48:42 4: DbLog myDbLog -> number of events received: 7 for device: S10
2018.03.26 18:48:42 4: DbLog myDbLog -> check Device: S10 , Event: sunwatt: 17
2018.03.26 18:48:42 5: DbLog myDbLog -> parsed Event: S10 , Event: sunwatt: 17
2018.03.26 18:48:42 4: DbLog myDbLog -> added event - Timestamp: 2018-03-26 18:48:42, Device: S10, Type: MODBUSATTR, Event


Das System ist auch sehr langsam und fast nicht bedienbar.

Evtl. könnt Ihr mir hier weiterhelfen.

Gruß
Mirko
HP Microserver Gen8; fhem-5.8; CUL868 - V1.66; CUL868 - V1.61; CUL433 - V1.61; CUNX - V2.67; eBus Koppler USB

DS_Starter

Hallo Mirko,

Wie ja zu sehen ist funktioniert der Connect zur DB prinzipiell nicht.

Google bringt raus:

Zitat
a malformed package error almost always means that you are trying to connect to some other service (which uses a different protocol), but not a MySQL server. Check address and port to make sure. Also try the command line client and see if that can connect.

Falls du MariaDB 10 auf Synology benutzt, ist es der Port 3307 statt 3306.

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

Mirko_2013

#2
Hallo DS_Starter,

Leider nein.

Der Port der DB läuft auf 3306.
Hier ist auch bereits ein Kodi DB Problemlos am laufen.

Die Fehlermeldung mit Port 3307 sieht wie folgt aus:


2018.03.26 19:24:57 2: DbLog myDbLog - DBI connect('database=fhem;host=xxx.xxx.xxx.xxx;port=3307','fhemuser',...) failed: Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (111) at ./FHEM/93_DbLog.pm line 2396.
2018.03.26 19:24:57 5: DbLog myDbLog -> DbLog_Push Returncode:
2018.03.26 19:24:57 3: DbLog myDbLog - Creating Push-Handle to database mysql:database=fhem;host=xxx.xxx.xxx.xxx;port=3307 with user fhemuser
2018.03.26 19:24:57 2: DbLog myDbLog - Error: DBI connect('database=fhem;host=xxx.xxx.xxx.xxx;port=3307','fhemuser',...) failed: Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (111) at ./FHEM/93_DbLog.pm line 2331.
2018.03.26 19:24:57 4: DbLog myDbLog - Trying to connect to database
2018.03.26 19:24:57 4: DbLog myDbLog -> ################################################################
2018.03.26 19:24:57 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2018.03.26 19:24:57 4: DbLog myDbLog -> ################################################################
2018.03.26 19:24:57 4: DbLog myDbLog -> number of events received: 1 for device: myDbLog
2018.03.26 19:24:57 4: DbLog myDbLog -> check Device: myDbLog , Event: state: DBI connect('database=fhem;host=xxx.xxx.xxx.xxx;port=3307','fhemuser',...) failed: Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (111) at ./FHEM/93_DbLog.pm line 2331.
2018.03.26 19:24:57 5: DbLog myDbLog -> parsed Event: myDbLog , Event: state: DBI connect('database=fhem;host=xxx.xxx.xxx.xxx;port=3307','fhemuser',...) failed: Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (111) at ./FHEM/93_DbLog.pm line 2331.
2018.03.26 19:24:57 4: DbLog myDbLog -> added event - Timestamp: 2018-03-26 19:24:57, Device: myDbLog, Type: DBLOG, Event: state: DBI connect('database=fhem;host=xxx.xxx.xxx.xxx;port=3307','fhemuser',...) failed: Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (111) at ./FHEM/93_DbLog.pm line 2331.
2018.03.26 19:24:57 2: DbLog myDbLog - DBI connect('database=fhem;host=xxx.xxx.xxx.xxx;port=3307','fhemuser',...) failed: Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (111) at ./FHEM/93_DbLog.pm line 2396.
2018.03.26 19:24:57 5: DbLog myDbLog -> DbLog_Push Returncode:
2018.03.26 19:24:57 4: DbLog myDbLog - Waiting for database connection

Mit Port 3306:
2018.03.26 19:34:04 4: DbLog myDbLog -> ################################################################
2018.03.26 19:34:04 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2018.03.26 19:34:04 4: DbLog myDbLog -> ################################################################
2018.03.26 19:34:04 4: DbLog myDbLog -> number of events received: 1 for device: myDbLog
2018.03.26 19:34:04 4: DbLog myDbLog -> check Device: myDbLog , Event: state: DBI connect('database=fhem;host=xxx.xxx.xxx.xxx;port=3306','fhemuser',...) failed: Malformed packet at ./FHEM/93_DbLog.pm line 2396.

2018.03.26 19:34:04 5: DbLog myDbLog -> parsed Event: myDbLog , Event: state: DBI connect('database=fhem;host=xxx.xxx.xxx.xxx;port=3306','fhemuser',...) failed: Malformed packet at ./FHEM/93_DbLog.pm line 2396.

2018.03.26 19:34:04 4: DbLog myDbLog -> added event - Timestamp: 2018-03-26 19:34:04, Device: myDbLog, Type: DBLOG, Event: state: DBI connect('database=fhem;host=xxx.xxx.xxx.xxx;port=3306','fhemuser',...) failed: Malformed packet at ./FHEM/93_DbLog.pm line 2396.
, Reading: state, Value: DBI connect('database=fhem;host=xxx.xxx.xxx.xxx;port=3306','fhemuser',...) failed, Unit: Malformed packet at ./FHEM/93_Db
2018.03.26 19:34:09 2: DbLog myDbLog - DBI connect('database=fhem;host=xxx.xxx.xxx.xxx;port=3306','fhemuser',...) failed: Malformed packet at ./FHEM/93_DbLog.pm line 2396.



Gruß
Mirko
HP Microserver Gen8; fhem-5.8; CUL868 - V1.66; CUL868 - V1.61; CUL433 - V1.61; CUNX - V2.67; eBus Koppler USB

CoolTux

Mirko bitte Code oder Logausgaben in Codetags setzen. Das ist das Raute Symbol in der Werkzeugleiste des Forumeditors.
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

DS_Starter

Was bringt denn ein:


mysql -u fhemuser -p -h <Syno-IP>  (anpassen)


vom RPi aus aufgerufen ?

Hast du alle benötigten Perl-Module, wie in der Commandref angegeben, auf dem RPi installiert ?
Die IP der Synology ist auch richtig ? (ist trivial, aber manchmal ...)
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

Mirko_2013

Auf den Befehl: mysql -u fhemuser -p -h <Syno-IP>  (anpassen)

Kommt folgende Meldung:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13538
Server version: 5.5.47-MariaDB Source distribution

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>


Module sind alle installiert und ja auch die IP der Synology ist richtig.
HP Microserver Gen8; fhem-5.8; CUL868 - V1.66; CUL868 - V1.61; CUL433 - V1.61; CUNX - V2.67; eBus Koppler USB

CoolTux

Nach welcher Anleitung bist Du denn vorgegangen? Hast Du eine Datenbank erstellt und Tabellen angelegt?
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

DS_Starter

Habe es jetzt mit meiner MariaDB 5 auch mal so ausgetestet.
Irgendwie sind meine Ausschriften anders als deine und habe rot markiert was mir gegenüber deinen Ausschriften aufgefallen ist:

Zitat
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 57444
Server version: 5.5.57-MariaDB Source distribution

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>


Diese Meldung "Malformed packet" deutet auf ein Protokollproblem hin.
Benutzt du MariaDB aus dem normalen Paketzentrum der Syno ?  Mach doch mal einen Screenshoot von deinem Maria-Paket im Paketzentrum.
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

Mirko_2013

Zitat von: CoolTux am 26 März 2018, 20:32:07
Nach welcher Anleitung bist Du denn vorgegangen? Hast Du eine Datenbank erstellt und Tabellen angelegt?

Auf der Synology habe ich per SQL Statement (aus dem fhem verzeichnis) die DB inklusive User angelegt).


CREATE DATABASE `fhem` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'fhemuser'@'%' IDENTIFIED BY 'fhempassword';
CREATE TABLE `fhem`.`history` (TIMESTAMP TIMESTAMP, DEVICE varchar(64), TYPE varchar(64), EVENT varchar(512), READING varchar(64), VALUE varchar(128), UNIT varchar(32));
CREATE TABLE `fhem`.`current` (TIMESTAMP TIMESTAMP, DEVICE varchar(64), TYPE varchar(64), EVENT varchar(512), READING varchar(64), VALUE varchar(128), UNIT varchar(32));
GRANT SELECT, INSERT, DELETE, UPDATE ON `fhem`.* TO 'fhemuser'@'%';
CREATE INDEX Search_Idx ON `fhem`.`history` (DEVICE, READING, TIMESTAMP);


Auf dem Fhem Rechner das DBI Modul per span installiert und mit apt.get folgende Module "mysql-client libdbd-mysql libdbd-mysql-perl" installiert.

die db.conf im fhem Verzeichnis angelegt, mit den entsprechenden Berechtigungen:

-rw-r--r-- 1 fhem dialout 1047 Mär 26 20:52 db.conf


Config in der db.conf sieht wie folgt aus:

%dbconfig= (
        connection => "mysql:database=fhem;host=xxx.xxx.xxx.xxx;port=3306",
        user => "fhemuser",
        password => "fhempassword",
        # optional enable(1) / disable(0) UTF-8 support (at least V 4.042 is necessary)
        utf8 => 1,
    );


Ich habe gerade die DB und die Konfiguration neu angelegt, daher die Standart Passwörter.
Leider kein unterschied
HP Microserver Gen8; fhem-5.8; CUL868 - V1.66; CUL868 - V1.61; CUL433 - V1.61; CUNX - V2.67; eBus Koppler USB

DS_Starter

Das sieht alles soweit richtig aus.
Aber nochmal mal die Frage ... benutzt du das MariaDB 5 Paket aus dem Syno Paketzentrum ?
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

Mirko_2013

Zitat von: DS_Starter am 26 März 2018, 20:45:21
Habe es jetzt mit meiner MariaDB 5 auch mal so ausgetestet.
Irgendwie sind meine Ausschriften anders als deine und habe rot markiert was mir gegenüber deinen Ausschriften aufgefallen ist:

Diese Meldung "Malformed packet" deutet auf ein Protokollproblem hin.
Benutzt du MariaDB aus dem normalen Paketzentrum der Syno ?  Mach doch mal einen Screenshoot von deinem Maria-Paket im Paketzentrum.

Ja, ich habe die normale Maria DB aus dem Packetzentrum installiert.

HP Microserver Gen8; fhem-5.8; CUL868 - V1.66; CUL868 - V1.61; CUL433 - V1.61; CUNX - V2.67; eBus Koppler USB

DS_Starter

#11
Hmm ... irgendwie fällt mir nun nichts mehr ein außer Google zu bemühen ...

EDIT: Doch eins fällt mir noch ein. Du hast die Perl-Module über CPAN installiert. Es wäre vllt. noch ein Versuch wert sie über apt-get zu installieren.
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

CoolTux

kommst du auf der Synology auf eine Konsole? dann lass dir mal anzeigen was auf welchen port läuft

netstate -tulp

ausserdem kannst du vom fhem Server mal ein Verbindungsversuch mit netcat machen

netcat -v <ip-Synology> 3307
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

Mirko_2013

Hallo zusammen,

Durch euren Hinweis, hatte ich die Maria DB und myPHPadmin aktualisiert, womit ich jetzt bei meinem neuen Versuch schonmal die Verbindung aufbauen kann.
Zum Schluss habe ich jetzt noch die Kollektion auf "utf8_gerneral_ci" eingestellt.

Jetzt klappt es super.

Logfile sieht wie folgt aus:


2018.03.26 21:59:10 4: DbLog myDbLog -> insert table history committed by autocommit
2018.03.26 21:59:10 5: DbLog myDbLog -> DbLog_Push Returncode: 0
2018.03.26 21:59:10 4: DbLog myDbLog -> ################################################################
2018.03.26 21:59:10 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2018.03.26 21:59:10 4: DbLog myDbLog -> ################################################################
2018.03.26 21:59:10 4: DbLog myDbLog -> number of events received: 1 for device: myDbLog
2018.03.26 21:59:10 4: DbLog myDbLog -> check Device: myDbLog , Event: state: connected
2018.03.26 21:59:10 5: DbLog myDbLog -> parsed Event: myDbLog , Event: state: connected
2018.03.26 21:59:10 4: DbLog myDbLog -> added event - Timestamp: 2018-03-26 21:59:10, Device: myDbLog, Type: DBLOG, Event: state: connected, Reading: state, Value: connected, Unit:
2018.03.26 21:59:10 4: DbLog myDbLog -> ################################################################
2018.03.26 21:59:10 4: DbLog myDbLog -> ###         New database processing cycle - synchronous      ###
2018.03.26 21:59:10 4: DbLog myDbLog -> ################################################################
2018.03.26 21:59:10 4: DbLog myDbLog -> DbLogType is: History
2018.03.26 21:59:10 4: DbLog myDbLog -> AutoCommit mode: ON, Transaction mode: ON
2018.03.26 21:59:10 5: DbLog myDbLog -> Primary Key used in fhem.history: none
2018.03.26 21:59:10 5: DbLog myDbLog -> Primary Key used in fhem.current: none
2018.03.26 21:59:10 4: DbLog myDbLog -> processing event Timestamp: 2018-03-26 21:59:10, Device: myDbLog, Type: DBLOG, Event: state: connected, Reading: state, Value: connected, Unit:
2018.03.26 21:59:10 4: DbLog myDbLog -> 1 of 1 events inserted into table history
2018.03.26 21:59:10 4: DbLog myDbLog -> insert table history committed by autocommit
2018.03.26 21:59:10 5: DbLog myDbLog -> DbLog_Push Returncode: 0
HP Microserver Gen8; fhem-5.8; CUL868 - V1.66; CUL868 - V1.61; CUL433 - V1.61; CUNX - V2.67; eBus Koppler USB

DS_Starter

Na das ist doch was  :)

Und jetzt nochmal bitte ein


set <dblog> configCheck
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