Liebe Community,
ich bin mit meinem Latein am Ende und weiss nicht mehr wo ich (in FHEM/DbLog) ansetzen soll.
Ich habe mehrere Temp/Feuchtigkeits Sensoren (ESP32 über MQTT) die alle samt problemlos funktionieren.
Die Readings werden periodisch aktualisiert und das schon über eine lange Zeit hinweg - auch aktuell!
Bei einem einzigen dieser Sensoren wird allerdings seit gestern ca. 13:00 nichts mehr in die DB geloggt.
Ich habe am Config nichts geändert, der Sensor funktioniert, alle anderen Sensoren werden in die DB geschrieben nur bei diesem einen nicht.
Im Log erhalte ich jedesmal wenn sich das Reading des Problemsensors ändert folgenden Eintrag:
2018.05.28 12:33:20 2: DbLog myDbLog - DBI connect('database=fhem;host=10.0.0.10;port=3306','fhemuser',...) failed: Can't connect to MySQL server on '10.0.0.10' (111 "Verbindungsaufbau abgelehnt") at ./FHEM/93_DbLog.pm line 2420.
Einziger Ansatzpunkt: gestern hatte ich ca. zu der Zeit zu der das Problem begann einen Stromausfall und mein DB-Server fiel aus. Wäre die DB aber dadurch korrupt müssten ja auch alle anderen Sensoren diesen Fehler aufweisen?!
Ich habe darauf hin ein neues MQTT Device angelegt das einen neuen Namen hat und auf die selben MQTT Topics lauscht, auch hier habe ich diesen Fehler. Die Readingwerte sind aber absolut sauber!
Hatte jemand von euch schon ein ähnliches Problem?
Spooky!!
es kommt erstmal darauf an, dass events kommen. also auf den eventmonitor schauen.
Hallo Frank,
hier der Auszug aus dem Eventmonitor:
einmal für den defekten Sensor (iotGarten) und dessen Kopie unter anderem Namen (iotLoggia)
2018-05-28 13:40:41 MQTT_DEVICE iotGarten transmission-state: incoming publish received
2018-05-28 13:40:41 readingsGroup klima_summary iotGarten.messured-temp: 24.19
2018-05-28 13:40:41 DbLog myDbLog DBI connect('database=fhem;host=10.0.0.10;port=3306','fhemuser',...) failed: Can't connect to MySQL server on '10.0.0.10' (111 "Verbindungsaufbau abgelehnt") at ./FHEM/93_DbLog.pm line 2420.
2018-05-28 13:40:41 DbLog myDbLog connected
2018-05-28 13:40:41 MQTT_DEVICE iotGarten messured-temp: 24.19
2018-05-28 13:40:41 MQTT_DEVICE iotLoggia transmission-state: incoming publish received
2018-05-28 13:40:41 readingsGroup klima_summary iotLoggia.messured-temp: 24.19
2018-05-28 13:40:42 DbLog myDbLog DBI connect('database=fhem;host=10.0.0.10;port=3306','fhemuser',...) failed: Can't connect to MySQL server on '10.0.0.10' (111 "Verbindungsaufbau abgelehnt") at ./FHEM/93_DbLog.pm line 2420.
2018-05-28 13:40:42 DbLog myDbLog connected
2018-05-28 13:40:42 MQTT_DEVICE iotLoggia messured-temp: 24.19
2018-05-28 13:40:42 MQTT_DEVICE iotGarten transmission-state: incoming publish received
2018-05-28 13:40:42 readingsGroup klima_summary iotGarten.humidity: 59.01
2018-05-28 13:40:42 DbLog myDbLog DBI connect('database=fhem;host=10.0.0.10;port=3306','fhemuser',...) failed: Can't connect to MySQL server on '10.0.0.10' (111 "Verbindungsaufbau abgelehnt") at ./FHEM/93_DbLog.pm line 2420.
2018-05-28 13:40:42 DbLog myDbLog connected
2018-05-28 13:40:42 MQTT_DEVICE iotGarten humidity: 59.01
2018-05-28 13:40:42 MQTT_DEVICE iotLoggia transmission-state: incoming publish received
2018-05-28 13:40:42 readingsGroup klima_summary iotLoggia.humidity: 59.01
2018-05-28 13:40:42 DbLog myDbLog DBI connect('database=fhem;host=10.0.0.10;port=3306','fhemuser',...) failed: Can't connect to MySQL server on '10.0.0.10' (111 "Verbindungsaufbau abgelehnt") at ./FHEM/93_DbLog.pm line 2420.
2018-05-28 13:40:42 DbLog myDbLog connected
und im Vergleich dazu ein identer Sensor (iotSZChristoph)
2018-05-28 13:41:22 MQTT_DEVICE iotSZChristoph transmission-state: incoming publish received
2018-05-28 13:41:22 readingsGroup klima_summary iotSZChristoph.messured-temp: 23.76
2018-05-28 13:41:22 MQTT_DEVICE iotSZChristoph messured-temp: 23.76
2018-05-28 13:41:22 MQTT_DEVICE iotSZChristoph transmission-state: incoming publish received
2018-05-28 13:41:22 readingsGroup klima_summary iotSZChristoph.humidity: 64.42
2018-05-28 13:41:22 MQTT_DEVICE iotSZChristoph humidity: 64.42
2018-05-28 13:41:22 MQTT_DEVICE iotSZChristoph transmission-state: incoming publish received
Anbei auch noch die Configs:
define iotSZChristoph MQTT_DEVICE
attr iotSZChristoph IODev Mosquitto
attr iotSZChristoph alias Schlafzimmer Christoph
attr iotSZChristoph genericDeviceType thermometer
attr iotSZChristoph group Klima & Umwelt
attr iotSZChristoph homebridgeMapping CurrentTemperature=messured-temp,CurrentRelativeHumidity=humidity
attr iotSZChristoph room 50_SZ_Christoph,92_Homekit
attr iotSZChristoph stateFormat {"T: " . ReadingsVal($name,"messured-temp",0) . "°C / H: " . ReadingsVal($name,"humidity",0) . "%"}
attr iotSZChristoph subscribeReading_humidity /pramNet/SZ_Christoph/humidity
attr iotSZChristoph subscribeReading_messured-temp /pramNet/SZ_Christoph/temp
attr iotSZChristoph subscribeReading_voltage /pramNet/SZ_Christoph/voltage
define iotGarten MQTT_DEVICE
attr iotGarten IODev Mosquitto
attr iotGarten alias Garten
attr iotGarten genericDeviceType thermometer
attr iotGarten group Klima & Umwelt
attr iotGarten homebridgeMapping CurrentTemperature=messured-temp,CurrentRelativeHumidity=humidity
attr iotGarten room 10_Garten,92_Homekit
attr iotGarten stateFormat {"T: " . ReadingsVal($name,"messured-temp",0) . "°C / H: " . ReadingsVal($name,"humidity",0) . "%"}
attr iotGarten subscribeReading_humidity /pramNet/Garten/humidity
attr iotGarten subscribeReading_messured-temp /pramNet/Garten/temp
define iotLoggia MQTT_DEVICE
attr iotLoggia IODev Mosquitto
attr iotLoggia alias Loggia
attr iotLoggia genericDeviceType thermometer
attr iotLoggia group Klima & Umwelt
attr iotLoggia homebridgeMapping CurrentTemperature=messured-temp,CurrentRelativeHumidity=humidity
attr iotLoggia room 10_Garten,92_Homekit
attr iotLoggia stateFormat {"T: " . ReadingsVal($name,"messured-temp",0) . "°C / H: " . ReadingsVal($name,"humidity",0) . "%"}
attr iotLoggia subscribeReading_humidity /pramNet/Garten/humidity
attr iotLoggia subscribeReading_messured-temp /pramNet/Garten/temp
lg
Christoph
Ich vermute mal dass dies aus dem Link https://stackoverflow.com/questions/1420839/cant-connect-to-mysql-server-error-111 helfen könnte:
It probably means that your MySQL server is only listening the localhost interface.
If you have lines like this :
skip-networking
bind-address = 127.0.0.1
In your my.cnf configuration file, you should comment them (add a # at the beginning of the lines), and restart MySQL.
sudo service mysql restart
Die Meldung kommt von der Datenbank als Antwort auf eine (schief gehende) Verbindungsanforderung, danach erscheint gleich der connect im Log.
Grüße
Heiko
Hallo,
laut Meldung deutet alles auf eine korrupte Datenbank hin.
in Wirklichkeit scheint es aber MQTT Thema zu sein.
Wenn ich den Subscribe String von /pramNet/Garten/humidity auf zb /pramNet/Garten/humidity1 ändere und mit einem externen MQTT Tool darauf publishe funktioniert alles wieder ganz normal, wenn ich auf den originalen Subscribe String poste passiert exakt nichts.
Ich habe das Problem für mich gelöst indem ich dem Sender einen anderen Publish String einprogrammiert habe und die Config geändert habe, aber der Fehler bleibt wie im Thread genannt "spukhaft" und absolut nicht verifizierbar.
Danke an alle für die Hilfe!
Zu früh gefreut, die DB spinnt weiter.
Das Thema mit dem Zugriff von entfernten Clients ist auch kein Thema da es ja nach wie vor für alle anderen Sensoren funktioniert.
Hätte mich jetzt ehrlich gesagt auch gewundert.
Hast du meinen Hinweis dennoch mal gecheckt ?
Merkwürdig ist, dass immer zunächst die Verbindung abgewiesen wird und dann angenommen wird.
Zitat
2018-05-28 13:40:42 DbLog myDbLog DBI connect('database=fhem;host=10.0.0.10;port=3306','fhemuser',...) failed: Can't connect to MySQL server on '10.0.0.10' (111 "Verbindungsaufbau abgelehnt") at ./FHEM/93_DbLog.pm line 2420.
2018-05-28 13:40:42 DbLog myDbLog connected
Nutzt du DbLOg im asynchronen mode ? Wenn nicht stell mal um (Attr asyncMode).
Und mach dann mal bitte einen verbose 4 (erstmal) Auszug.
Der Zusammenhang mit dem speziellen Event ist absolut unverständlich.
Deinen Hinweis konnte ich leider nicht checken weil die DB auf einem QNAP Nas läuft und ich keinen direkten Zugang auf die Konsole habe.
Ich nutze DBLog derzeit im synchronen Modus. Aber ich werde Testweise mal auf asynchron umstellen.
weiteres interessantes Verhalten:
wenn ich mit einem externen MQTT Tool auf den Subscribe String poste funktioniert alles ganz normal! Der Wert erscheint im Reading und er wird auch geloggt. Den Senor habe ich gestern neu aufgesetzt (mit exakt der gleichen Firmware wie ihn alle anderen Sensoren haben)
Zur Not wird heute Abend die DB neu initialisiert.
Im Asynchronen Modus funktioniert es. Ich werde aber trotzdem heute Abend die DB neu aufsetzen.