pvtom/rscp2mqtt

unexpected error writing points to database: Socket receive error. errno 104

Closed this issue · 5 comments

Hallo,

mind. 1-2 mal am Tag werden keine Daten mehr via. MQTT übertragen und es kommt immer zu folgender Meldung:

{"code":"internal error","message":"unexpected error writing points to database: timeout"}[2024-09-09 09:08:52] pid=1 ppid=0 RscpMqttMain.cpp(2634) Error: Socket receive error. errno 104

Ich nutze das Image "image: pvtom/rscp2mqtt:latest-with-influxdb" und muss anschließend den Container immer neu starten. Dann funktioniert es wieder für eine Weile.

Was könnte die Ursache sein bzw. wie kann das Problem weiter geprüft werden? Vielen Dank!

Hallo,
das sind zwei unterschiedliche Fehler (im Log nicht richtig getrennt):

  1. {"code":"internal error","message":"unexpected error writing points to database: timeout"} kommt von der InfluxDB, die scheinbar Probleme beim Ablegen der Daten hat.
  2. "Socket receive error. errno 104" ist ein Kommunikationsabbruch durch das Hauskraftwerk: 104 steht für "Connection reset by peer". Diesen Abbruch fängt rscp2mqtt nicht sauber ab und hängt sich nach Auftreten auf. Dieses Problem kann ich lösen, so dass nach Auftreten des Abbruchs ein Reconnect durchgeführt wird. -> v3.30 kommt dann in Kürze.

Warum die Abbrüche oder der Timeout bei der InfluxDB auftreten, kann ich nicht sagen. Eine wackelige Netzwerkanbindung vielleicht? Auf welcher Hardware läuft denn der Docker Container und die InfluxDB?

Gruß Thomas

Vielen Dank für die schnelle Rückmeldung.

InfluxDB (influxdb:latest) läuft ebenfalls als Docker mit rscp2mqtt auf einem Celeron J6412 Host. Beide Container sind im selben Docker-Netzwerk.

v3.30 ist jetzt verfügbar.

  • errno 104 wird jetzt abgefangen. Das Programm hängt sich nicht mehr auf
  • zum InfluxDB-Timeout wurde in der Doku eine Erhöhung der Batchsize empfohlen. Das habe ich ich umgesetzt. Hoffe, dass der Fehler nicht mehr auftritt

Ich hoffe, das hat sich erledigt.

Sorry für die sehr späte Rückmeldung. Es läuft bis jetzt stabil und ich hatte keine Probleme mehr. Vielen Dank für deine Arbeit. :-)