Dsmr-reader: MQTT: [Errno 32] Broken pipe

Created on 12 Sep 2019  Â·  47Comments  Â·  Source: dsmrreader/dsmr-reader

Jouw omgeving

(Indien van toepassing)

  • DSMR-reader versie v2.3
  • Hardware: RaspberryPi 3
  • DSMR-protocol versie van slimme meter: v5

Sinds kort heb ik een losse raspberry pi met enkel de datalogger erop en een vm waar de rest van dsmr-reader draait.

Op de pi zie ik duizenden errors, enig idee wat hieraan te doen is?
Ik gebruik 1 van de betere usb-serial dongles van StarTech.
Ik monitor dsmr-logger process met de software 'monit' ik zie ook dat 1 a 2x per dag het proces crasht en weer opnieuw start.

De errors die ik zie in dmesg:
[1130452.325184] ttyUSB ttyUSB0: 5 input overrun(s)

Enig idee wat hieraan te doen is?

Groeten,
Donald.

All 47 comments

Ik ken de fout zelf niet, maar heb even gezocht voor je. Ik lees wat berichten over dat dit voor kan komen als de buffer vol zit.

Heb je het idee dat de datalogger het aantal telegrammen kan bijbenen? En dat DSMR-reader de binnenkomende telegrammen snel genoeg afhandelt?

Het doorsturen van de telegrammen is een synchrone call, die het datalogger-proces blokkeert totdat DSMR-reader het telegram heeft overgenomen.

Ik zou je evt wat code kunnen sturen waarmee je de datalogger kan timen.

Ik heb geen flauw idee of de datalogger het aantal telegrammen kan bijbenen.

Ik weet niet of het ermee te maken heeft maar ook de mqtt client op de vm van dsmr-reader lijkt te hangen waardoor er miljoenen mqtt berichten in de queue blijven hangen totdat ik het dsmr mqtt proces een kill -HUP geef waardoor alles weer gaat lopen, proces zelf blijft wel netjes draaien.

Als je de timing code hebt graag, dan kan ik eens testen.

Heeft het nut om evt nog met flow control te spelen naar de serial port toe of niet? Ik zag wat opties staan in het python datalogger script (serial_handle.rtscts en serial_handle.xonxoff) daarvoor, ook zie ik een buffer = ‘’ heeft het nut om de buffer te verhogen?

  • Dat van MQTT hoort niet te gebeuren. Heb je daar vaker last van?

  • Ik zie nu in het datalogger-script dat er standaard een sleep() in zit van 1 seconde. Kun je die eens veranderen naar bijvoorbeeld 0.5? Wellicht helpt dat al wat voor DSMRv5. Vergeet niet om de datalogger te herstarten in Supervisor met sudo supervisorctl restart dsmr_client_datalogger.

  • De buffer = ‘’ is een variabele die ik zelf maak en gebruik. Wellicht niet de meest handige naam in dit geval, maar ik gebruik die om telkens een regel van het telegram in te zetten, totdat ik een volledig bericht heb. Daarnaa stuurt die het door.

Laat maar even weten of het verlagen van de sleep nog iets helpt. Anders zal ik een versie maken met wat debugging.

Ik heb het nu 3x gehad dat de queue van mqtt oploopt, dit sinds ik alles op de vm heb draaien, op de pi had ik hier geen last van, de mqtt daemon draait op dezelfde vm als waar dsmr-reader draait.
Is er ergens een stukje logging van de mqtt client dat ik kan zien waar het mis gaat?

Ik heb de sleep gewijzigd naar 0.5 ik laat nog even weten of dat de input overrun's wegneemt.

Je zou even kunnen kijken in de logfile in /varlog/supervisor/

Ik zie in /var/log/supervisor/dsmr_mqtt.log inderdaad een hoop errors:

Honderden van:

[2019-09-11 09:00:43,144] ERROR [!] Exception raised in run(): [Errno 32] Broken pipe

en als laatste in de log:

[2019-09-13 15:54:15,044] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
Traceback (most recent call last):
  File "/home/dsmr/dsmr-reader/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "/home/dsmr/dsmr-reader/dsmr_backend/mixins.py", line 48, in handle
    self.shutdown()
  File "/home/dsmr/dsmr-reader/dsmr_mqtt/management/commands/dsmr_mqtt.py", line 30, in shutdown
    self.mqtt_client.disconnect()
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 1152, in disconnect
    return self._send_disconnect()
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2156, in _send_disconnect
    return self._send_simple_command(DISCONNECT)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2096, in _send_simple_command
    return self._packet_queue(command, packet, 0, 0)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2282, in _packet_queue
    self._sockpairW.send(sockpair_data)
BrokenPipeError: [Errno 32] Broken pipe
The current logging level only logs warnings and errors, to reduce I/O. More information can be found here: https://dsmr-reader.readthedocs.io/en/latest/troubleshooting.html#logging

honderden in /var/log/mosquitto.log

1568405578: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568405787: New connection from 10.0.0.32 on port 1883.
1568405787: Socket error on client <unknown>, disconnecting.
1568406688: New connection from 10.0.0.32 on port 1883.
1568406688: Socket error on client <unknown>, disconnecting.

Andere mqtt clients lijken geen last te hebben:

1568409832: New connection from 10.0.0.39 on port 1883.
1568409832: New client connected from 10.0.0.39 as ha_slave (c1, k60, u'donald').

Na 12 uur 1 enkele melding nog maar.
[ 4472.006638] ttyUSB ttyUSB0: 1 input overrun(s)

Wat is de reden van de sleep() zou hij er helemaal uit kunnen?
Hoe vaak wordt de com poort aangesproken? (connect/disconnect) voor elke telegram of houdt hij de com poort open?

Volgens mij sluit hij nu de poort telkens, maar dat weet ik niet 100% zeker. Ik denk dat ik het stukje datalogging nog wel een keer kan herschrijven. Het is nog uit de tijd van DSMRv4, waarbij er dus elke 10 seconden 1 meting was namelijk.

Je zou kunnen proberen of de sleep helemaal weg kan. Gewoon uitcommenten met een #

Ik heb de ttyUSB ttyUSB0: x input overrun(s) niet meer gezien na het verlagen van de sleep naar 0.5, ik heb de sleep er nu helemaal uitgehaald, en lijkt nog steeds goed te draaien.

Het mqtt process blijft wel bijna dagelijks ergens hangen.
Ik zie dan in de gui:
image
Echter blijft het process wel draaien:

root@ubuntu-server:/home/donald# ps aux|grep dsmr
dsmr       1957  0.0  0.1  33572 11424 ?        SN   Sep08   1:33 /home/dsmr/.virtualenvs/dsmrreader/bin/python3 /home/dsmr/.virtualenvs/dsmrreader/bin/gunicorn --timeout 60 --max-requests 500 --bind unix:/var/tmp/gunicorn--dsmr_webinterface.socket --pid /var/tmp/gunicorn--dsmr_webinterface.pid dsmrreader.wsgi
dsmr      30517  6.9  0.3 142852 38372 ?        SN   Sep11 403:47 /home/dsmr/.virtualenvs/dsmrreader/bin/python3 -u /home/dsmr/dsmr-reader/manage.py dsmr_backend
dsmr      89844  3.1  0.6 132176 70668 ?        SN   Sep13  81:51 /home/dsmr/.virtualenvs/dsmrreader/bin/python3 -u /home/dsmr/dsmr-reader/manage.py dsmr_mqtt
dsmr      96485  5.3  0.7 136612 81628 ?        SN   11:38   0:10 /home/dsmr/.virtualenvs/dsmrreader/bin/python3 /home/dsmr/.virtualenvs/dsmrreader/bin/gunicorn --timeout 60 --max-requests 500 --bind unix:/var/tmp/gunicorn--dsmr_webinterface.socket --pid /var/tmp/gunicorn--dsmr_webinterface.pid dsmrreader.wsgi
postgres  97520  2.3  1.1 265028 116976 ?       Ss   11:41   0:00 postgres: 10/main: dsmrreader dsmrreader 127.0.0.1(57852) idle
postgres  97611  0.0  0.1 264312 14928 ?        Ss   11:41   0:00 postgres: 10/main: dsmrreader dsmrreader 127.0.0.1(58000) idle
postgres  97612  5.0  0.1 264872 18108 ?        Ss   11:41   0:00 postgres: 10/main: dsmrreader dsmrreader 127.0.0.1(58002) idle
root      97616  0.0  0.0   6256   888 pts/0    S+   11:41   0:00 grep --color=auto dsmr
root@ubuntu-server:/home/donald#

In de logs blijf ik zien:

root@ubuntu-server:/home/donald# cat /var/log/supervisor/dsmr_mqtt.log
[2019-09-15 11:41:08,215] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:09,237] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:10,259] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:11,281] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:12,303] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:13,325] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:14,346] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:15,367] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:16,389] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:17,412] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:18,434] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:19,458] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:20,480] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:21,500] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:22,522] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:23,543] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:24,567] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:25,587] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:26,610] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:27,633] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:28,656] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:29,677] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:30,700] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:31,718] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:32,736] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:33,758] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:34,778] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:35,799] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:36,822] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:37,844] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:38,868] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:39,892] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:40,916] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:41,939] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:42,960] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:43,978] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:45,001] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:46,024] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:47,044] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:48,067] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:49,089] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:50,111] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:51,133] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:52,154] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:53,177] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:54,201] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:55,224] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:56,249] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:57,268] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:58,291] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:41:59,313] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:00,343] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:01,366] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:02,388] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:03,407] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:04,430] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:05,454] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:06,477] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:07,498] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:08,519] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:09,542] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:10,567] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:11,589] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:12,612] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:13,635] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:14,655] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:15,677] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:16,700] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:17,720] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:18,742] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:19,765] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:20,788] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:21,811] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:22,834] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:23,856] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:24,879] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:25,901] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:26,924] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:27,946] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:28,970] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:29,992] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:31,018] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:32,042] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:33,065] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:34,088] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:35,106] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:36,124] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:37,147] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:38,166] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:39,190] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:40,211] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:41,234] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:42,255] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:43,278] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-15 11:42:44,300] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe

en:

root@ubuntu-server:/home/donald# cat /var/log/mosquitto/mosquitto.log
1568326334: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568326457: New connection from 10.0.0.32 on port 1883.
1568326457: Socket error on client <unknown>, disconnecting.
1568327360: New connection from 10.0.0.32 on port 1883.
1568327360: Socket error on client <unknown>, disconnecting.
1568328135: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568328262: New connection from 10.0.0.32 on port 1883.
1568328262: Socket error on client <unknown>, disconnecting.
1568329164: New connection from 10.0.0.32 on port 1883.
1568329164: Socket error on client <unknown>, disconnecting.
1568329936: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568330065: New connection from 10.0.0.32 on port 1883.
1568330065: Socket error on client <unknown>, disconnecting.
1568330967: New connection from 10.0.0.32 on port 1883.
1568330967: Socket error on client <unknown>, disconnecting.
1568331737: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568331868: New connection from 10.0.0.32 on port 1883.
1568331868: Socket error on client <unknown>, disconnecting.
1568332770: New connection from 10.0.0.32 on port 1883.
1568332770: Socket error on client <unknown>, disconnecting.
1568333538: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568333671: New connection from 10.0.0.32 on port 1883.
1568333671: Socket error on client <unknown>, disconnecting.
1568334573: New connection from 10.0.0.32 on port 1883.
1568334573: Socket error on client <unknown>, disconnecting.
1568335339: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568335474: New connection from 10.0.0.32 on port 1883.
1568335474: Socket error on client <unknown>, disconnecting.
1568336375: New connection from 10.0.0.32 on port 1883.
1568336375: Socket error on client <unknown>, disconnecting.
1568337140: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568337277: New connection from 10.0.0.32 on port 1883.
1568337277: Socket error on client <unknown>, disconnecting.
1568338178: New connection from 10.0.0.32 on port 1883.
1568338178: Socket error on client <unknown>, disconnecting.
1568338941: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568339080: New connection from 10.0.0.32 on port 1883.
1568339080: Socket error on client <unknown>, disconnecting.
1568339981: New connection from 10.0.0.32 on port 1883.
1568339981: Socket error on client <unknown>, disconnecting.
1568340742: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568340883: New connection from 10.0.0.32 on port 1883.
1568340883: Socket error on client <unknown>, disconnecting.
1568341784: New connection from 10.0.0.32 on port 1883.
1568341784: Socket error on client <unknown>, disconnecting.
1568342543: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568342686: New connection from 10.0.0.32 on port 1883.
1568342686: Socket error on client <unknown>, disconnecting.
1568343587: New connection from 10.0.0.32 on port 1883.
1568343587: Socket error on client <unknown>, disconnecting.
1568344344: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568344489: New connection from 10.0.0.32 on port 1883.
1568344489: Socket error on client <unknown>, disconnecting.
1568345390: New connection from 10.0.0.32 on port 1883.
1568345390: Socket error on client <unknown>, disconnecting.
1568346145: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568346291: New connection from 10.0.0.32 on port 1883.
1568346291: Socket error on client <unknown>, disconnecting.
1568347193: New connection from 10.0.0.32 on port 1883.
1568347193: Socket error on client <unknown>, disconnecting.
1568347946: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568348094: New connection from 10.0.0.32 on port 1883.
1568348094: Socket error on client <unknown>, disconnecting.
1568348996: New connection from 10.0.0.32 on port 1883.
1568348996: Socket error on client <unknown>, disconnecting.
1568349747: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568349897: New connection from 10.0.0.32 on port 1883.
1568349897: Socket error on client <unknown>, disconnecting.
1568350799: New connection from 10.0.0.32 on port 1883.
1568350799: Socket error on client <unknown>, disconnecting.
1568351548: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568351700: New connection from 10.0.0.32 on port 1883.
1568351700: Socket error on client <unknown>, disconnecting.
1568352602: New connection from 10.0.0.32 on port 1883.
1568352602: Socket error on client <unknown>, disconnecting.
1568353349: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568353503: New connection from 10.0.0.32 on port 1883.
1568353503: Socket error on client <unknown>, disconnecting.
1568354405: New connection from 10.0.0.32 on port 1883.
1568354405: Socket error on client <unknown>, disconnecting.
1568355150: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568355306: New connection from 10.0.0.32 on port 1883.
1568355306: Socket error on client <unknown>, disconnecting.
1568356207: New connection from 10.0.0.32 on port 1883.
1568356207: Socket error on client <unknown>, disconnecting.
1568356951: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568357109: New connection from 10.0.0.32 on port 1883.
1568357109: Socket error on client <unknown>, disconnecting.
1568358010: New connection from 10.0.0.32 on port 1883.
1568358010: Socket error on client <unknown>, disconnecting.
1568358752: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568358912: New connection from 10.0.0.32 on port 1883.
1568358912: Socket error on client <unknown>, disconnecting.
1568359813: New connection from 10.0.0.32 on port 1883.
1568359813: Socket error on client <unknown>, disconnecting.
1568360553: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568360715: New connection from 10.0.0.32 on port 1883.
1568360715: Socket error on client <unknown>, disconnecting.
1568361616: New connection from 10.0.0.32 on port 1883.
1568361616: Socket error on client <unknown>, disconnecting.
1568362354: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568362518: New connection from 10.0.0.32 on port 1883.
1568362518: Socket error on client <unknown>, disconnecting.
1568363419: New connection from 10.0.0.32 on port 1883.
1568363419: Socket error on client <unknown>, disconnecting.
1568364155: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568364321: New connection from 10.0.0.32 on port 1883.
1568364321: Socket error on client <unknown>, disconnecting.
1568365222: New connection from 10.0.0.32 on port 1883.
1568365222: Socket error on client <unknown>, disconnecting.

Het lijkt erop dat de verbinding om wat voor reden dan ook verbroken wordt tussen de mqtt client en de server, en vervolgens niet meer goed reconnecten, deze 2 draaien overigens op dezelfde vm.

Een kill -HUP lost het probleem meteen op:

root@ubuntu-server:/home/donald# ps aux|grep mqtt
dsmr      89844  3.1  0.6 132176 70668 ?        SN   Sep13  81:53 /home/dsmr/.virtualenvs/dsmrreader/bin/python3 -u /home/dsmr/dsmr-reader/manage.py dsmr_mqtt
root      98775  0.0  0.0   6256   948 pts/0    S+   11:46   0:00 grep --color=auto mqtt
root@ubuntu-server:/home/donald# kill -HUP 89844

image

Bedankt voor je terugkoppeling. Dat is een vervelend issue qua MQTT. Er zit wel functionaltieit in die automatisch een reconnect moet doen, maar blijkbaar werkt dat niet of klapt die er anders uit. Je kunt nog dit proberen:

Ik heb het loglevel even tijdelijk op 'DEBUG' gezet, anders zag ik nog steeds niet veel:

The current logging level only logs warnings and errors, to reduce I/O. More information can be found here: https://dsmr-reader.readthedocs.io/en/latest/troubleshooting.html#logging
[2019-09-15 14:40:12,243] DEBUG    MQTT | Initializing insecure connection (no TLS)
[2019-09-15 14:40:12,244] DEBUG    Starting infinite command loop...
[2019-09-15 14:40:12,245] DEBUG    MQTT | Paho client: on_connect(userdata, flags, rc) None {'session present': 0} 0
[2019-09-15 14:40:12,245] DEBUG    MQTT | --- ubuntu-server.flissinger.local : 1883 -> Connection successful
[2019-09-15 14:40:12,550] DEBUG    Sleeping 5 sec(s)
[2019-09-15 14:40:17,901] DEBUG    Sleeping 5 sec(s)
[2019-09-15 14:40:23,274] DEBUG    Sleeping 5 sec(s)
[2019-09-15 14:40:28,603] DEBUG    Sleeping 5 sec(s)
[2019-09-15 14:40:33,991] DEBUG    Sleeping 5 sec(s)
[2019-09-15 14:40:39,313] DEBUG    Sleeping 5 sec(s)
[2019-09-15 14:40:44,601] DEBUG    Sleeping 5 sec(s)
[2019-09-15 14:40:50,591] DEBUG    Sleeping 5 sec(s)
[2019-09-15 14:40:55,887] DEBUG    Sleeping 5 sec(s)
[2019-09-15 14:41:01,180] DEBUG    Sleeping 5 sec(s)
[2019-09-15 14:41:06,512] DEBUG    Sleeping 5 sec(s)
[2019-09-15 14:41:11,825] DEBUG    Sleeping 5 sec(s)
[2019-09-15 14:41:17,156] DEBUG    Sleeping 5 sec(s)

Heb de DSMRREADER_MQTT_SLEEP op 5 gezet, nu wachten tot het fout gaat of niet om te zien of er andere foutmeldingen verschijnen.

UPDATE:

vm met dsmr-reader:
Mqtt client proces loopt tot nu toe nog steeds. heb de sleep op 2 gezet omdat anders de queue steeds in het rood liep.

pi met datalogger script:
Nog wel een aantal overruns, een paar per dag:

root@hassio:/home/homeassistant # cat /var/log/messages
Sep 15 15:46:03 hassio kernel: [145355.747332] ttyUSB ttyUSB0: 1 input overrun(s)
Sep 16 00:02:20 hassio kernel: [175132.618571] ttyUSB ttyUSB0: 5 input overrun(s)
Sep 16 00:03:36 hassio kernel: [175208.505119] ttyUSB ttyUSB0: 5 input overrun(s)
Sep 16 00:04:07 hassio kernel: [175239.414479] ttyUSB ttyUSB0: 5 input overrun(s)
root@hassio:/home/homeassistant #

UPDATE:

vm met dsmr-reader
Te vroeg gejuicht, het mqtt process is weer vastgelopen, queue is enorm, in de logs weinig terug te vinden behalve:

[2019-09-17 12:45:17,022] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:17,022] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:19,049] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:19,050] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:21,077] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:21,078] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:23,095] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:23,095] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:25,122] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:25,122] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:27,145] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:27,145] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:29,171] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:29,172] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:31,198] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:31,198] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:33,224] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:33,225] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:35,238] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:35,238] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:37,260] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:37,260] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:39,286] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:39,287] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:41,312] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:41,313] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:43,338] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:43,339] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:45,365] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:45,365] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:47,391] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:47,391] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:49,415] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:49,415] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:51,442] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:51,442] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:53,469] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:53,469] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:55,494] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:55,495] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:57,518] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:57,518] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:45:59,545] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:45:59,545] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:46:01,571] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:46:01,571] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:46:03,594] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:46:03,594] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:46:05,621] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:46:05,621] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:46:07,640] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:46:07,640] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:46:09,665] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:46:09,666] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:46:11,691] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:46:11,692] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:46:13,717] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:46:13,717] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:46:15,744] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:46:15,744] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:46:17,771] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:46:17,771] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:46:19,795] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:46:19,795] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:46:21,821] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:46:21,822] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:46:23,848] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:46:23,848] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:46:25,874] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:46:25,875] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:46:27,901] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:46:27,901] DEBUG    Sleeping 2 sec(s)
[2019-09-17 12:46:29,924] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
[2019-09-17 12:46:29,924] DEBUG    Sleeping 2 sec(s)

/var/log/mosquitto.log

1568551551: New connection from 10.0.0.32 on port 1883.
1568551551: New client connected from 10.0.0.32 as DSMR-reader (c1, k60, u'donald').
1568551821: New connection from 10.0.0.32 on port 1883.
1568551821: Socket error on client <unknown>, disconnecting.
1568552723: New connection from 10.0.0.32 on port 1883.
1568552723: Socket error on client <unknown>, disconnecting.
1568553262: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568553624: New connection from 10.0.0.32 on port 1883.
1568553624: Socket error on client <unknown>, disconnecting.
1568554525: New connection from 10.0.0.32 on port 1883.
1568554525: Socket error on client <unknown>, disconnecting.
1568555063: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568555427: New connection from 10.0.0.32 on port 1883.
1568555427: Socket error on client <unknown>, disconnecting.
1568556328: New connection from 10.0.0.32 on port 1883.
1568556328: Socket error on client <unknown>, disconnecting.
1568556864: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568557229: New connection from 10.0.0.32 on port 1883.
1568557229: Socket error on client <unknown>, disconnecting.
1568558131: New connection from 10.0.0.32 on port 1883.
1568558131: Socket error on client <unknown>, disconnecting.
1568558665: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568559032: New connection from 10.0.0.32 on port 1883.
1568559032: Socket error on client <unknown>, disconnecting.
1568559153: Client ha_master disconnected.
1568559163: New connection from 10.0.0.32 on port 1883.
1568559163: New client connected from 10.0.0.32 as ha_master (c1, k60, u'donald').
1568559933: New connection from 10.0.0.32 on port 1883.
1568559933: Socket error on client <unknown>, disconnecting.
1568560466: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568560834: New connection from 10.0.0.32 on port 1883.
1568560834: Socket error on client <unknown>, disconnecting.
1568561736: New connection from 10.0.0.32 on port 1883.
1568561736: Socket error on client <unknown>, disconnecting.
1568562267: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568562637: New connection from 10.0.0.32 on port 1883.
1568562637: Socket error on client <unknown>, disconnecting.
1568563538: New connection from 10.0.0.32 on port 1883.
1568563538: Socket error on client <unknown>, disconnecting.
1568564068: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568564440: New connection from 10.0.0.32 on port 1883.
1568564440: Socket error on client <unknown>, disconnecting.
1568565341: New connection from 10.0.0.32 on port 1883.
1568565341: Socket error on client <unknown>, disconnecting.
1568565869: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568566242: New connection from 10.0.0.32 on port 1883.
1568566242: Socket error on client <unknown>, disconnecting.
1568567143: New connection from 10.0.0.32 on port 1883.
1568567143: Socket error on client <unknown>, disconnecting.
1568567670: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568568045: New connection from 10.0.0.32 on port 1883.
1568568045: Socket error on client <unknown>, disconnecting.
1568568946: New connection from 10.0.0.32 on port 1883.
1568568946: Socket error on client <unknown>, disconnecting.
1568569471: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568569847: New connection from 10.0.0.32 on port 1883.
1568569847: Socket error on client <unknown>, disconnecting.
1568570749: New connection from 10.0.0.32 on port 1883.
1568570749: Socket error on client <unknown>, disconnecting.
1568571272: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568571650: New connection from 10.0.0.32 on port 1883.
1568571650: Socket error on client <unknown>, disconnecting.
1568572551: New connection from 10.0.0.32 on port 1883.
1568572551: Socket error on client <unknown>, disconnecting.
1568573073: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568573453: New connection from 10.0.0.32 on port 1883.
1568573453: Socket error on client <unknown>, disconnecting.
1568574354: New connection from 10.0.0.32 on port 1883.
1568574354: Socket error on client <unknown>, disconnecting.
1568574874: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568575255: New connection from 10.0.0.32 on port 1883.
1568575255: Socket error on client <unknown>, disconnecting.
1568576157: New connection from 10.0.0.32 on port 1883.
1568576157: Socket error on client <unknown>, disconnecting.
1568576675: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568577060: New connection from 10.0.0.32 on port 1883.
1568577060: Socket error on client <unknown>, disconnecting.
1568577962: New connection from 10.0.0.32 on port 1883.
1568577962: Socket error on client <unknown>, disconnecting.
1568578476: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568578863: New connection from 10.0.0.32 on port 1883.
1568578863: Socket error on client <unknown>, disconnecting.
1568579765: New connection from 10.0.0.32 on port 1883.
1568579765: Socket error on client <unknown>, disconnecting.
1568580277: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568580666: New connection from 10.0.0.32 on port 1883.
1568580666: Socket error on client <unknown>, disconnecting.
1568581567: New connection from 10.0.0.32 on port 1883.
1568581567: Socket error on client <unknown>, disconnecting.
1568582078: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568582469: New connection from 10.0.0.32 on port 1883.
1568582469: Socket error on client <unknown>, disconnecting.
1568583370: New connection from 10.0.0.32 on port 1883.
1568583370: Socket error on client <unknown>, disconnecting.
1568583879: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568584271: New connection from 10.0.0.32 on port 1883.
1568584271: Socket error on client <unknown>, disconnecting.
1568585173: New connection from 10.0.0.32 on port 1883.
1568585173: Socket error on client <unknown>, disconnecting.
1568585680: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568586074: New connection from 10.0.0.32 on port 1883.
1568586074: Socket error on client <unknown>, disconnecting.
1568586975: New connection from 10.0.0.32 on port 1883.
1568586975: Socket error on client <unknown>, disconnecting.
1568587481: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568587876: New connection from 10.0.0.32 on port 1883.
1568587876: Socket error on client <unknown>, disconnecting.
1568588778: New connection from 10.0.0.32 on port 1883.
1568588778: Socket error on client <unknown>, disconnecting.
1568589282: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568589679: New connection from 10.0.0.32 on port 1883.
1568589679: Socket error on client <unknown>, disconnecting.
1568590580: New connection from 10.0.0.32 on port 1883.
1568590580: Socket error on client <unknown>, disconnecting.
1568591083: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568591482: New connection from 10.0.0.32 on port 1883.
1568591482: Socket error on client <unknown>, disconnecting.
1568592383: New connection from 10.0.0.32 on port 1883.
1568592383: Socket error on client <unknown>, disconnecting.
1568592884: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568593285: New connection from 10.0.0.32 on port 1883.
1568593285: Socket error on client <unknown>, disconnecting.
1568594186: New connection from 10.0.0.32 on port 1883.
1568594186: Socket error on client <unknown>, disconnecting.
1568594685: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568595088: New connection from 10.0.0.32 on port 1883.
1568595088: Socket error on client <unknown>, disconnecting.
1568595989: New connection from 10.0.0.32 on port 1883.
1568595989: Socket error on client <unknown>, disconnecting.
1568596486: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568596891: New connection from 10.0.0.32 on port 1883.
1568596891: Socket error on client <unknown>, disconnecting.
1568597792: New connection from 10.0.0.32 on port 1883.
1568597792: Socket error on client <unknown>, disconnecting.
1568598287: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568598694: New connection from 10.0.0.32 on port 1883.
1568598694: Socket error on client <unknown>, disconnecting.
1568599595: New connection from 10.0.0.32 on port 1883.
1568599595: Socket error on client <unknown>, disconnecting.
1568600088: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568600497: New connection from 10.0.0.32 on port 1883.
1568600497: Socket error on client <unknown>, disconnecting.
1568601398: New connection from 10.0.0.32 on port 1883.
1568601398: Socket error on client <unknown>, disconnecting.
1568601889: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568602300: New connection from 10.0.0.32 on port 1883.
1568602300: Socket error on client <unknown>, disconnecting.
1568603201: New connection from 10.0.0.32 on port 1883.
1568603201: Socket error on client <unknown>, disconnecting.
1568603690: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568604103: New connection from 10.0.0.32 on port 1883.
1568604103: Socket error on client <unknown>, disconnecting.
1568605004: New connection from 10.0.0.32 on port 1883.
1568605004: Socket error on client <unknown>, disconnecting.
1568605491: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568605905: New connection from 10.0.0.32 on port 1883.
1568605905: Socket error on client <unknown>, disconnecting.
1568606807: New connection from 10.0.0.32 on port 1883.
1568606807: Socket error on client <unknown>, disconnecting.
1568607292: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568607708: New connection from 10.0.0.32 on port 1883.
1568607708: Socket error on client <unknown>, disconnecting.
1568608610: New connection from 10.0.0.32 on port 1883.
1568608610: Socket error on client <unknown>, disconnecting.
1568609093: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568609511: New connection from 10.0.0.32 on port 1883.
1568609511: Socket error on client <unknown>, disconnecting.
1568610413: New connection from 10.0.0.32 on port 1883.
1568610413: Socket error on client <unknown>, disconnecting.
1568610894: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568611314: New connection from 10.0.0.32 on port 1883.
1568611314: Socket error on client <unknown>, disconnecting.
1568612216: New connection from 10.0.0.32 on port 1883.
1568612216: Socket error on client <unknown>, disconnecting.
1568612695: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568613117: New connection from 10.0.0.32 on port 1883.
1568613117: Socket error on client <unknown>, disconnecting.
1568614019: New connection from 10.0.0.32 on port 1883.
1568614019: Socket error on client <unknown>, disconnecting.
1568614496: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568614920: New connection from 10.0.0.32 on port 1883.
1568614920: Socket error on client <unknown>, disconnecting.
1568615822: New connection from 10.0.0.32 on port 1883.
1568615822: Socket error on client <unknown>, disconnecting.
1568616297: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568616723: New connection from 10.0.0.32 on port 1883.
1568616723: Socket error on client <unknown>, disconnecting.
1568617624: New connection from 10.0.0.32 on port 1883.
1568617624: Socket error on client <unknown>, disconnecting.
1568618098: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568618526: New connection from 10.0.0.32 on port 1883.
1568618526: Socket error on client <unknown>, disconnecting.
1568619427: New connection from 10.0.0.32 on port 1883.
1568619427: Socket error on client <unknown>, disconnecting.
1568619899: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568620329: New connection from 10.0.0.32 on port 1883.
1568620329: Socket error on client <unknown>, disconnecting.
1568621230: New connection from 10.0.0.32 on port 1883.
1568621230: Socket error on client <unknown>, disconnecting.
1568621700: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568622132: New connection from 10.0.0.32 on port 1883.
1568622132: Socket error on client <unknown>, disconnecting.
1568623033: New connection from 10.0.0.32 on port 1883.
1568623033: Socket error on client <unknown>, disconnecting.
1568623501: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568623935: New connection from 10.0.0.32 on port 1883.
1568623935: Socket error on client <unknown>, disconnecting.
1568624836: New connection from 10.0.0.32 on port 1883.
1568624836: Socket error on client <unknown>, disconnecting.
1568625302: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568625738: New connection from 10.0.0.32 on port 1883.
1568625738: Socket error on client <unknown>, disconnecting.
1568626639: New connection from 10.0.0.32 on port 1883.
1568626639: Socket error on client <unknown>, disconnecting.
1568627103: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568627540: New connection from 10.0.0.32 on port 1883.
1568627540: Socket error on client <unknown>, disconnecting.
1568628442: New connection from 10.0.0.32 on port 1883.
1568628442: Socket error on client <unknown>, disconnecting.
1568628904: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568629343: New connection from 10.0.0.32 on port 1883.
1568629343: Socket error on client <unknown>, disconnecting.

Het lijkt erop dat de verbinding om wat voor reden dan ook verbreekt en niet meer terugkomt.

Ik zal kijken of ik een aftakking kan maken waar wat meer debugging in zit.

Okay, ik wacht het af, heeft totaal geen haast.
Ik heb nu de ssl poort voor mqtt in gebruik (8883) kijken of dat nog enig verschil maakt, de timeout heb ik er weer uit gehaald dus staat weer standaard (1 sec) dat maakte geen verschil.

Morgen komt er waarschijnlijk een update van dsmr-reader zelf. Als dat gedaan is kun je sowieso upgraden.

Ik zal dan vervolgens een branch maken die gebaseerd is op die versie, zodat je makkelijk kunt wisselen. Een van de dingen die ik dan als eerste wil proberen is een update van de MQTT-library die dit project gebruikt.

Mogelijk lost dat al iets op en anders kijk ik nog naar wat andere debugging.

Mqtt is zoals verwacht weer gecrasht, ook op die port 8883, het gekke is alleen dat hij terugkomt op 1883 en niet op 8883 zoals ingesteld staat in de gui, de foutmeldingen blijven dus hetzelfde terwijl ik toch de poort gewijzigd heb en hij in eerste instantie wel op poort 8883 connect.

1568906091: Socket error on client <unknown>, disconnecting.
1568906258: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1568906993: New connection from 10.0.0.32 on port 1883.

Ik heb net v2.4 uitgebracht. Je kunt sowieso daar naar updaten.

Daarna kun je wisselen naar branch temp/708-mqtt-debug.

sudo su - dsmr
git checkout -b temp/708-mqtt-debug origin/temp/708-mqtt-debug
./post-deploy.sh

Als het goed is wordt de MQTT-lib bijgewerkt. Houd even goed in de gaten of alles goed blijft werken. Anders gewoon weer terug gaan (zie hieronder).


Je kunt altijd weer terug naar master:

sudo su - dsmr
git checkout master
./post-deploy.sh

Ik hoor graag of dat uberhaupt iets verandert voor je. Zo nee, dan zal ik wat meer debugging toevoegen in de branch.

Ik ben benieuwd inderdaad, zit nu op de 708-mqtt-debug branch.
Ik heb wel steeds fouten bij elke update weer terugkomen, misschien iets in de database niet lekker?
Verder draait dsmr-reader wel.

root@ubuntu-server:/home/dsmr/dsmr-reader# su - dsmr
(dsmrreader) dsmr@ubuntu-server:~/dsmr-reader$ ./deploy.sh


 --- You are currently running version:
2.3


 Please make sure you've read EACH release note BEFORE deploying, since some
 changes might not always be backwards compatible or depend on your database!

     >>>   https://github.com/dennissiemensma/dsmr-reader/releases   <<<


 ~~~ Still want to deploy? (type Y + ENTER to continue or press CTRL + C to abort)
y


 --- Checking Python version.
Running Python 3.6.8 (default, Apr  9 2019, 04:59:38)
[GCC 8.3.0]


 --- Pulling remote repository for new commits...
remote: Enumerating objects: 120, done.
remote: Counting objects: 100% (120/120), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 171 (delta 118), reused 120 (delta 118), pack-reused 51
Receiving objects: 100% (171/171), 62.34 KiB | 709.00 KiB/s, done.
Resolving deltas: 100% (124/124), completed with 61 local objects.
From https://github.com/dennissiemensma/dsmr-reader
   97a2c5db..9eb08b35  master              -> origin/master
   26bc3534..9eb08b35  development         -> origin/development
 * [new branch]        temp/708-mqtt-debug -> origin/temp/708-mqtt-debug
 * [new tag]           v2.4.0              -> v2.4.0


 --- Merging/updating checkout.
Updating 97a2c5db..9eb08b35
Fast-forward
 .circleci/config.yml                                                    |   3 +-
 .github/ISSUE_TEMPLATE.md                                               |  19 +++++----
 FUNDING.yml                                                             |   1 +
 README.md                                                               |  43 +++++++-------------
 docs/api.rst                                                            | 161 +++++++-----------------------------------------------------------------
 docs/changelog.rst                                                      |  15 +++++++
 docs/conf.py                                                            |   2 +-
 docs/data_integrity.rst                                                 |  41 +++++++++++++++++++
 docs/development.rst                                                    |   2 +-
 docs/faq.rst                                                            |  14 ++++---
 docs/index.rst                                                          |   2 +
 docs/installation.rst                                                   |  34 ++++++++++------
 docs/installation/datalogger.rst                                        | 178 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 docs/installation/explained.rst                                         |   4 +-
 docs/installation/quick.rst                                             |   2 +-
 docs/intro.rst                                                          |   9 ++++-
 docs/locale/nl/LC_MESSAGES/api.mo                                       | Bin 22009 -> 20995 bytes
 docs/locale/nl/LC_MESSAGES/api.po                                       | 356 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------
 docs/locale/nl/LC_MESSAGES/changelog.mo                                 | Bin 87532 -> 88759 bytes
 docs/locale/nl/LC_MESSAGES/changelog.po                                 | 887 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 docs/locale/nl/LC_MESSAGES/data_integrity.mo                            | Bin 0 -> 4498 bytes
 docs/locale/nl/LC_MESSAGES/data_integrity.po                            | 135 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 docs/locale/nl/LC_MESSAGES/faq.mo                                       | Bin 13898 -> 13577 bytes
 docs/locale/nl/LC_MESSAGES/faq.po                                       | 106 +++++++++++++++++++++++++++---------------------
 docs/locale/nl/LC_MESSAGES/index.mo                                     | Bin 518 -> 518 bytes
 docs/locale/nl/LC_MESSAGES/index.po                                     |   4 +-
 docs/locale/nl/LC_MESSAGES/installation.mo                              | Bin 1758 -> 2783 bytes
 docs/locale/nl/LC_MESSAGES/installation.po                              | 112 ++++++++++++++++++++++++++++++++++++---------------
 docs/locale/nl/LC_MESSAGES/installation/datalogger.mo                   | Bin 0 -> 2652 bytes
 docs/locale/nl/LC_MESSAGES/installation/datalogger.po                   | 108 +++++++++++++++++++++++++++++++++++++++++++++++++
 docs/locale/nl/LC_MESSAGES/installation/explained.mo                    | Bin 23008 -> 22994 bytes
 docs/locale/nl/LC_MESSAGES/installation/explained.po                    |  16 ++++----
 docs/locale/nl/LC_MESSAGES/installation/quick.mo                        | Bin 1761 -> 1759 bytes
 docs/locale/nl/LC_MESSAGES/installation/quick.po                        |  10 ++---
 docs/locale/nl/LC_MESSAGES/intro.mo                                     | Bin 2006 -> 2219 bytes
 docs/locale/nl/LC_MESSAGES/intro.po                                     |  38 +++++++++--------
 docs/locale/nl/LC_MESSAGES/requirements.mo                              | Bin 4608 -> 1576 bytes
 docs/locale/nl/LC_MESSAGES/requirements.po                              | 268 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------
 docs/requirements.rst                                                   |  68 ++++++-------------------------
 dsmr_backend/management/commands/dsmr_backend_delete_aggregated_data.py |  56 --------------------------
 dsmr_backend/tests/test_delete_aggregated_data.py                       |  39 ------------------
 dsmr_backup/services/backup.py                                          |  33 ++++++++++++++-
 dsmr_backup/tests/test_backup.py                                        |  39 +++++++++++++++++-
 dsmr_consumption/services.py                                            |  18 +++++----
 dsmr_datalogger/management/commands/dsmr_fake_datasource.py             |  10 -----
 dsmr_datalogger/scripts/dsmr_datalogger_api_client.py                   |   4 +-
 dsmr_frontend/migrations/0016_v200_release.py                           |   1 -
 dsmr_frontend/migrations/0017_v201_release.py                           |   1 -
 dsmr_frontend/migrations/0018_v202_release.py                           |   1 -
 dsmr_frontend/migrations/0019_v210_release.py                           |   1 -
 dsmr_frontend/migrations/0020_v230_release.py                           |   1 -
 dsmr_frontend/services.py                                               |   7 ++++
 dsmr_frontend/templates/dsmr_frontend/statistics.html                   |  16 --------
 dsmr_frontend/tests/webinterface/test_generic.py                        |   7 ----
 dsmr_frontend/views/archive.py                                          |  13 ++----
 dsmr_stats/management/commands/dsmr_stats_fake_development_data.py      |  13 ------
 dsmr_stats/management/commands/dsmr_stats_recalculate_prices.py         |  11 +++++
 dsmr_stats/management/commands/dsmr_stats_regenerate_statistics.py      |  22 ----------
 dsmr_stats/services.py                                                  |  12 ++++++
 dsmr_stats/tests/test_services.py                                       |  37 +++++++++++++++++
 dsmrreader/__init__.py                                                  |   4 +-
 dsmrreader/locales/nl/LC_MESSAGES/django.mo                             | Bin 82784 -> 82533 bytes
 dsmrreader/locales/nl/LC_MESSAGES/django.po                             |  22 ++++++----
 dsmrreader/provisioning/requirements/base.txt                           |   6 +--
 dsmrreader/urls.py                                                      |   8 ----
 65 files changed, 1720 insertions(+), 1300 deletions(-)
 create mode 100644 FUNDING.yml
 create mode 100644 docs/data_integrity.rst
 create mode 100644 docs/installation/datalogger.rst
 create mode 100644 docs/locale/nl/LC_MESSAGES/data_integrity.mo
 create mode 100644 docs/locale/nl/LC_MESSAGES/data_integrity.po
 create mode 100644 docs/locale/nl/LC_MESSAGES/installation/datalogger.mo
 create mode 100644 docs/locale/nl/LC_MESSAGES/installation/datalogger.po
 delete mode 100644 dsmr_backend/management/commands/dsmr_backend_delete_aggregated_data.py
 delete mode 100644 dsmr_backend/tests/test_delete_aggregated_data.py
 create mode 100644 dsmr_stats/management/commands/dsmr_stats_recalculate_prices.py
 delete mode 100644 dsmr_stats/management/commands/dsmr_stats_regenerate_statistics.py


 >>> Running post-deployment script. <<<


 --- Checking whether VirtualEnv is activated.


 --- Checking Python version.
Running Python 3.6.8 (default, Apr  9 2019, 04:59:38)
[GCC 8.3.0]


 --- Checking & synchronizing base requirements for changes.
Requirement already satisfied: crcmod==1.7 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 1)) (1.7)
Requirement already satisfied: coreapi==2.3.3 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 2)) (2.3.3)
Collecting django==2.2.5 (from -r dsmrreader/provisioning/requirements/base.txt (line 3))
  Downloading https://files.pythonhosted.org/packages/94/9f/a56f7893b1280e5019482260e246ab944d54a9a633a01ed04683d9ce5078/Django-2.2.5-py3-none-any.whl (7.5MB)
     |████████████████████████████████| 7.5MB 10.0MB/s
Requirement already satisfied: django-colorfield==0.1.15 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 4)) (0.1.15)
Requirement already satisfied: django-debug-toolbar==2.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 5)) (2.0)
Requirement already satisfied: django-filter==2.2.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 6)) (2.2.0)
Collecting djangorestframework==3.10.3 (from -r dsmrreader/provisioning/requirements/base.txt (line 7))
  Downloading https://files.pythonhosted.org/packages/33/8e/87a4e0025e3c4736c1dc728905b1b06a94968ce08de15304417acb40e374/djangorestframework-3.10.3-py3-none-any.whl (909kB)
     |████████████████████████████████| 911kB 10.1MB/s
Requirement already satisfied: django-solo==1.1.3 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 8)) (1.1.3)
Requirement already satisfied: dropbox==9.4.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 9)) (9.4.0)
Requirement already satisfied: gunicorn==19.9.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 10)) (19.9.0)
Requirement already satisfied: paho-mqtt==1.3.1 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 12)) (1.3.1)
Requirement already satisfied: pyserial==3.4 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 13)) (3.4)
Requirement already satisfied: python-dateutil==2.8.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 14)) (2.8.0)
Requirement already satisfied: pytz==2019.2 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 15)) (2019.2)
Requirement already satisfied: requests==2.22.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 16)) (2.22.0)
Requirement already satisfied: urllib3==1.25.3 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 17)) (1.25.3)
Requirement already satisfied: coreschema in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from coreapi==2.3.3->-r dsmrreader/provisioning/requirements/base.txt (line 2)) (0.0.4)
Requirement already satisfied: uritemplate in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from coreapi==2.3.3->-r dsmrreader/provisioning/requirements/base.txt (line 2)) (3.0.0)
Requirement already satisfied: itypes in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from coreapi==2.3.3->-r dsmrreader/provisioning/requirements/base.txt (line 2)) (1.1.0)
Requirement already satisfied: sqlparse in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from django==2.2.5->-r dsmrreader/provisioning/requirements/base.txt (line 3)) (0.3.0)
Requirement already satisfied: six>=1.3.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from dropbox==9.4.0->-r dsmrreader/provisioning/requirements/base.txt (line 9)) (1.12.0)
Requirement already satisfied: certifi>=2017.4.17 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from requests==2.22.0->-r dsmrreader/provisioning/requirements/base.txt (line 16)) (2019.6.16)
Requirement already satisfied: idna<2.9,>=2.5 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from requests==2.22.0->-r dsmrreader/provisioning/requirements/base.txt (line 16)) (2.8)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from requests==2.22.0->-r dsmrreader/provisioning/requirements/base.txt (line 16)) (3.0.4)
Requirement already satisfied: jinja2 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from coreschema->coreapi==2.3.3->-r dsmrreader/provisioning/requirements/base.txt (line 2)) (2.10.1)
Requirement already satisfied: MarkupSafe>=0.23 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from jinja2->coreschema->coreapi==2.3.3->-r dsmrreader/provisioning/requirements/base.txt (line 2)) (1.1.1)
Installing collected packages: django, djangorestframework
  Found existing installation: Django 2.2.4
    Uninstalling Django-2.2.4:
      Successfully uninstalled Django-2.2.4
  Found existing installation: djangorestframework 3.9.4
    Uninstalling djangorestframework-3.9.4:
      Successfully uninstalled djangorestframework-3.9.4
Successfully installed django-2.2.5 djangorestframework-3.10.3


 --- Checking & synchronizing database changes/migrations.
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, dsmr_api, dsmr_backend, dsmr_backup, dsmr_consumption, dsmr_datalogger, dsmr_frontend, dsmr_mindergas, dsmr_mqtt, dsmr_notification, dsmr_pvoutput, dsmr_stats, dsmr_weather, sessions
Running migrations:
  **Applying dsmr_backup.0007_remove_backupsettings_compress...Traceback (most recent call last):
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "django_migrations_pkey"
DETAIL:  Key (id)=(96) already exists.


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/base.py", line 83, in wrapped
    res = handle_func(*args, **kwargs)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/commands/migrate.py", line 234, in handle
    fake_initial=fake_initial,
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/migrations/executor.py", line 117, in migrate
    state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/migrations/executor.py", line 246, in apply_migration
    self.record_migration(migration)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/migrations/executor.py", line 261, in record_migration
    self.recorder.record_applied(migration.app_label, migration.name)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/migrations/recorder.py", line 83, in record_applied
    self.migration_qs.create(app=app, name=name)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/query.py", line 422, in create
    obj.save(force_insert=True, using=self.db)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/base.py", line 741, in save
    force_update=force_update, update_fields=update_fields)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/base.py", line 779, in save_base
    force_update, using, update_fields,
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/base.py", line 870, in _save_table
    result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/base.py", line 908, in _do_insert
    using=using, raw=raw)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/query.py", line 1186, in _insert
    return query.get_compiler(using=using).execute_sql(return_id)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1335, in execute_sql
    cursor.execute(sql, params)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
django.db.utils.IntegrityError: duplicate key value violates unique constraint "django_migrations_pkey"
DETAIL:  Key (id)=(96) already exists.**



 --- Checking & synchronizing static file changes.

152 static files copied to '/var/www/dsmrreader/static', 291 unmodified.


 --- Reloading running apps...

 * Reloading process: dsmr_webinterface (Gunicorn)   [OK]
 * Reloading process: dsmr_backend                   [OK]
 * Reloading process: dsmr_mqtt                      [OK]


 --- Clearing cache...
[2019-09-19 22:45:01,353] INFO     Clearing cache: default
[2019-09-19 22:45:01,354] INFO     Done


 --- Deployed version:
2.4


 >>> Deployment complete. <<<
(dsmrreader) dsmr@ubuntu-server:~/dsmr-reader$ git checkout -b temp/708-mqtt-debug origin/temp/708-mqtt-debug
M       reload.sh
Branch 'temp/708-mqtt-debug' set up to track remote branch 'temp/708-mqtt-debug' from 'origin'.
Switched to a new branch 'temp/708-mqtt-debug'
(dsmrreader) dsmr@ubuntu-server:~/dsmr-reader$ ./post-deploy.sh


 --- Checking whether VirtualEnv is activated.


 --- Checking Python version.
Running Python 3.6.8 (default, Apr  9 2019, 04:59:38)
[GCC 8.3.0]


 --- Checking & synchronizing base requirements for changes.
Requirement already satisfied: crcmod==1.7 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 1)) (1.7)
Requirement already satisfied: coreapi==2.3.3 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 2)) (2.3.3)
Requirement already satisfied: django==2.2.5 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 3)) (2.2.5)
Requirement already satisfied: django-colorfield==0.1.15 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 4)) (0.1.15)
Requirement already satisfied: django-debug-toolbar==2.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 5)) (2.0)
Requirement already satisfied: django-filter==2.2.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 6)) (2.2.0)
Requirement already satisfied: djangorestframework==3.10.3 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 7)) (3.10.3)
Requirement already satisfied: django-solo==1.1.3 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 8)) (1.1.3)
Requirement already satisfied: dropbox==9.4.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 9)) (9.4.0)
Requirement already satisfied: gunicorn==19.9.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 10)) (19.9.0)
Collecting paho-mqtt==1.4.0 (from -r dsmrreader/provisioning/requirements/base.txt (line 11))
  Downloading https://files.pythonhosted.org/packages/25/63/db25e62979c2a716a74950c9ed658dce431b5cb01fde29eb6cba9489a904/paho-mqtt-1.4.0.tar.gz (88kB)
     |████████████████████████████████| 92kB 2.9MB/s
Requirement already satisfied: pyserial==3.4 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 12)) (3.4)
Requirement already satisfied: python-dateutil==2.8.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 13)) (2.8.0)
Requirement already satisfied: pytz==2019.2 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 14)) (2019.2)
Requirement already satisfied: requests==2.22.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 15)) (2.22.0)
Requirement already satisfied: urllib3==1.25.3 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 16)) (1.25.3)
Requirement already satisfied: coreschema in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from coreapi==2.3.3->-r dsmrreader/provisioning/requirements/base.txt (line 2)) (0.0.4)
Requirement already satisfied: itypes in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from coreapi==2.3.3->-r dsmrreader/provisioning/requirements/base.txt (line 2)) (1.1.0)
Requirement already satisfied: uritemplate in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from coreapi==2.3.3->-r dsmrreader/provisioning/requirements/base.txt (line 2)) (3.0.0)
Requirement already satisfied: sqlparse in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from django==2.2.5->-r dsmrreader/provisioning/requirements/base.txt (line 3)) (0.3.0)
Requirement already satisfied: six>=1.3.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from dropbox==9.4.0->-r dsmrreader/provisioning/requirements/base.txt (line 9)) (1.12.0)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from requests==2.22.0->-r dsmrreader/provisioning/requirements/base.txt (line 15)) (3.0.4)
Requirement already satisfied: idna<2.9,>=2.5 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from requests==2.22.0->-r dsmrreader/provisioning/requirements/base.txt (line 15)) (2.8)
Requirement already satisfied: certifi>=2017.4.17 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from requests==2.22.0->-r dsmrreader/provisioning/requirements/base.txt (line 15)) (2019.6.16)
Requirement already satisfied: jinja2 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from coreschema->coreapi==2.3.3->-r dsmrreader/provisioning/requirements/base.txt (line 2)) (2.10.1)
Requirement already satisfied: MarkupSafe>=0.23 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from jinja2->coreschema->coreapi==2.3.3->-r dsmrreader/provisioning/requirements/base.txt (line 2)) (1.1.1)
Building wheels for collected packages: paho-mqtt
  Building wheel for paho-mqtt (setup.py) ... done
  Created wheel for paho-mqtt: filename=paho_mqtt-1.4.0-cp36-none-any.whl size=48331 sha256=c5f37021011f4b0705eaa583eeccc1ffe82821ce7ea7df3f7bd706195241e466
  Stored in directory: /home/dsmr/.cache/pip/wheels/82/e5/de/d90d0f397648a1b58ffeea1b5742ac8c77f71fd43b550fa5a5
Successfully built paho-mqtt
Installing collected packages: paho-mqtt
  Found existing installation: paho-mqtt 1.3.1
    Uninstalling paho-mqtt-1.3.1:
      Successfully uninstalled paho-mqtt-1.3.1
Successfully installed paho-mqtt-1.4.0


 --- Checking & synchronizing database changes/migrations.
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, dsmr_api, dsmr_backend, dsmr_backup, dsmr_consumption, dsmr_datalogger, dsmr_frontend, dsmr_mindergas, dsmr_mqtt, dsmr_notification, dsmr_pvoutput, dsmr_stats, dsmr_weather, sessions
Running migrations:
  Applying dsmr_backup.0007_remove_backupsettings_compress...Traceback (most recent call last):
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "django_migrations_pkey"
DETAIL:  Key (id)=(97) already exists.


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/base.py", line 83, in wrapped
    res = handle_func(*args, **kwargs)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/commands/migrate.py", line 234, in handle
    fake_initial=fake_initial,
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/migrations/executor.py", line 117, in migrate
    state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/migrations/executor.py", line 246, in apply_migration
    self.record_migration(migration)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/migrations/executor.py", line 261, in record_migration
    self.recorder.record_applied(migration.app_label, migration.name)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/migrations/recorder.py", line 83, in record_applied
    self.migration_qs.create(app=app, name=name)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/query.py", line 422, in create
    obj.save(force_insert=True, using=self.db)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/base.py", line 741, in save
    force_update=force_update, update_fields=update_fields)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/base.py", line 779, in save_base
    force_update, using, update_fields,
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/base.py", line 870, in _save_table
    result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/base.py", line 908, in _do_insert
    using=using, raw=raw)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/query.py", line 1186, in _insert
    return query.get_compiler(using=using).execute_sql(return_id)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1335, in execute_sql
    cursor.execute(sql, params)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
django.db.utils.IntegrityError: duplicate key value violates unique constraint "django_migrations_pkey"
DETAIL:  Key (id)=(97) already exists.



 --- Checking & synchronizing static file changes.

0 static files copied to '/var/www/dsmrreader/static', 443 unmodified.


 --- Reloading running apps...

 * Reloading process: dsmr_webinterface (Gunicorn)   [OK]
 * Reloading process: dsmr_backend                   [OK]
 * Reloading process: dsmr_mqtt                      [OK]


 --- Clearing cache...
[2019-09-19 22:46:54,298] INFO     Clearing cache: default
[2019-09-19 22:46:54,299] INFO     Done
(dsmrreader) dsmr@ubuntu-server:~/dsmr-reader$

Hmm vreemd. Kun je dit eens proberen:

sudo su - postgres
psql dsmrreader

BEGIN;
SELECT setval(pg_get_serial_sequence('"django_migrations"','id'), coalesce(max("id"), 1), max("id") IS NOT null) FROM "django_migrations";
COMMIT;

En daarna nog post-deploy.

sudo su - dsmr
./post-deploy.sh

Dat werkt inderdaad, foutmeldingen zijn eruit.
Nu de komende dagen mqtt monitoren.

Bedankt!

Hij knalt er net weer uit, zelfde melding, ik zit nu op de v2.4.1b1 branch, in de logs eigenlijk hetzelfde, had jij nog ergens extra debugging aangezet? waar wordt dat gelogd?

[2019-09-22 11:26:54,566] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe
1569144199: Socket error on client <unknown>, disconnecting.
1569144501: New connection from 10.0.0.32 on port 1883.

Blijft vreemd waarom hij op 1883 terugkomt terwijl er 8883 ingesteld staat.

Ik heb net een wijziging in de branch gedaan. Hiermee komt er als het goed is een betere stacktrace te zien dan alleen Broken pipe. Aan de hand daarvan kan ik wat gerichter zoeken.

Als je nog op de branch zit, kun je gewoon updaten met ./deploy.sh

We testen verder ;-)

(dsmrreader) dsmr@ubuntu-server:~/dsmr-reader$ ./deploy.sh


 --- You are currently running version:
2.4.1b1


 Please make sure you've read EACH release note BEFORE deploying, since some
 changes might not always be backwards compatible or depend on your database!

     >>>   https://github.com/dennissiemensma/dsmr-reader/releases   <<<


 ~~~ Still want to deploy? (type Y + ENTER to continue or press CTRL + C to abort)
y


 --- Checking Python version.
Running Python 3.6.8 (default, Apr  9 2019, 04:59:38)
[GCC 8.3.0]


 --- Pulling remote repository for new commits...
remote: Enumerating objects: 52, done.
remote: Counting objects: 100% (52/52), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 52 (delta 36), reused 49 (delta 34), pack-reused 0
Unpacking objects: 100% (52/52), done.
From https://github.com/dennissiemensma/dsmr-reader
   e33d0d64..9ae2796d  temp/708-mqtt-debug -> origin/temp/708-mqtt-debug
   9eb08b35..be95640e  development         -> origin/development


 --- Merging/updating checkout.
Updating e33d0d64..9ae2796d
Fast-forward
 docs/locale/nl/LC_MESSAGES/changelog.mo | Bin 88759 -> 88740 bytes
 dsmr_backend/mixins.py                  |   6 +++++-
 2 files changed, 5 insertions(+), 1 deletion(-)


 >>> Running post-deployment script. <<<


 --- Checking whether VirtualEnv is activated.


 --- Checking Python version.
Running Python 3.6.8 (default, Apr  9 2019, 04:59:38)
[GCC 8.3.0]


 --- Checking & synchronizing base requirements for changes.
Requirement already satisfied: crcmod==1.7 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 1)) (1.7)
Requirement already satisfied: coreapi==2.3.3 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 2)) (2.3.3)
Requirement already satisfied: django==2.2.5 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 3)) (2.2.5)
Requirement already satisfied: django-colorfield==0.1.15 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 4)) (0.1.15)
Requirement already satisfied: django-debug-toolbar==2.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 5)) (2.0)
Requirement already satisfied: django-filter==2.2.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 6)) (2.2.0)
Requirement already satisfied: djangorestframework==3.10.3 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 7)) (3.10.3)
Requirement already satisfied: django-solo==1.1.3 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 8)) (1.1.3)
Requirement already satisfied: dropbox==9.4.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 9)) (9.4.0)
Requirement already satisfied: gunicorn==19.9.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 10)) (19.9.0)
Requirement already satisfied: paho-mqtt==1.4.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 11)) (1.4.0)
Requirement already satisfied: pyserial==3.4 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 12)) (3.4)
Requirement already satisfied: python-dateutil==2.8.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 13)) (2.8.0)
Requirement already satisfied: pytz==2019.2 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 14)) (2019.2)
Requirement already satisfied: requests==2.22.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 15)) (2.22.0)
Requirement already satisfied: urllib3==1.25.3 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from -r dsmrreader/provisioning/requirements/base.txt (line 16)) (1.25.3)
Requirement already satisfied: uritemplate in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from coreapi==2.3.3->-r dsmrreader/provisioning/requirements/base.txt (line 2)) (3.0.0)
Requirement already satisfied: itypes in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from coreapi==2.3.3->-r dsmrreader/provisioning/requirements/base.txt (line 2)) (1.1.0)
Requirement already satisfied: coreschema in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from coreapi==2.3.3->-r dsmrreader/provisioning/requirements/base.txt (line 2)) (0.0.4)
Requirement already satisfied: sqlparse in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from django==2.2.5->-r dsmrreader/provisioning/requirements/base.txt (line 3)) (0.3.0)
Requirement already satisfied: six>=1.3.0 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from dropbox==9.4.0->-r dsmrreader/provisioning/requirements/base.txt (line 9)) (1.12.0)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from requests==2.22.0->-r dsmrreader/provisioning/requirements/base.txt (line 15)) (3.0.4)
Requirement already satisfied: certifi>=2017.4.17 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from requests==2.22.0->-r dsmrreader/provisioning/requirements/base.txt (line 15)) (2019.6.16)
Requirement already satisfied: idna<2.9,>=2.5 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from requests==2.22.0->-r dsmrreader/provisioning/requirements/base.txt (line 15)) (2.8)
Requirement already satisfied: jinja2 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from coreschema->coreapi==2.3.3->-r dsmrreader/provisioning/requirements/base.txt (line 2)) (2.10.1)
Requirement already satisfied: MarkupSafe>=0.23 in /home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages (from jinja2->coreschema->coreapi==2.3.3->-r dsmrreader/provisioning/requirements/base.txt (line 2)) (1.1.1)


 --- Checking & synchronizing database changes/migrations.
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, dsmr_api, dsmr_backend, dsmr_backup, dsmr_consumption, dsmr_datalogger, dsmr_frontend, dsmr_mindergas, dsmr_mqtt, dsmr_notification, dsmr_pvoutput, dsmr_stats, dsmr_weather, sessions
Running migrations:
  No migrations to apply.


 --- Checking & synchronizing static file changes.

0 static files copied to '/var/www/dsmrreader/static', 443 unmodified.


 --- Reloading running apps...

 * Reloading process: dsmr_webinterface (Gunicorn)   [OK]
 * Reloading process: dsmr_backend                   [OK]
 * Reloading process: dsmr_mqtt                      [OK]


 --- Clearing cache...
[2019-09-22 23:26:38,024] INFO     Clearing cache: default
[2019-09-22 23:26:38,025] INFO     Done


 --- Deployed version:
2.4.1b1


 >>> Deployment complete. <<<
(dsmrreader) dsmr@ubuntu-server:~/dsmr-reader$

Is er vandaag weer uitgeklapt, nu inderdaad meer error logging:

BrokenPipeError: [Errno 32] Broken pipe

[2019-09-24 23:36:20,405] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe - Traceback (most recent call last):

  File "/home/dsmr/dsmr-reader/dsmr_backend/mixins.py", line 78, in run_once
    self.run(data=self.data, **options)

  File "/home/dsmr/dsmr-reader/dsmr_mqtt/management/commands/dsmr_mqtt.py", line 42, in run
    dsmr_mqtt.services.broker.run(mqtt_client=self.mqtt_client)

  File "/home/dsmr/dsmr-reader/dsmr_mqtt/services/broker.py", line 69, in run
    qos=broker_settings.qos

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 1157, in publish
    rc = self._send_publish(local_mid, topic, local_payload, qos, retain, False, info)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2304, in _send_publish
    return self._packet_queue(PUBLISH, packet, mid, qos, info)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2535, in _packet_queue
    self._sockpairW.send(sockpair_data)

BrokenPipeError: [Errno 32] Broken pipe

Ik zie dat die stopt bij het versturen van een bericht. Ik voeg nog wat extra debugging toe op dat punt.

  • Ik neem aan dat je nog steeds de logging op DEBUG hebt staan?
  • Welke instellingen gebruik je voor de broker? En dan vooral de combinatie "Poort" en "Beveiliging".
  • Verder kun je weer updaten. Ik heb wat meer debugging toegevoegd op de plek van de foutmelding, om te kijken op wat voor bericht hij crasht.

logging:
In /home/dsmr/dsmr-reader/dsmrreader/settings.py
LOGGING['loggers']['commands']['level'] = 'DEBUG'

broker:
host: ubuntu-server.flissinger.local
port: 8883
Secure ssl/tls: SECURE (CERT NONE)

Maar had hetzelfde probleem ook op poort 1883 zonder ssl.

Ik heb de nieuwe dev branch weer binnengehaald.
Het zal waarschijnlijk weer 2-3 dagen duren voordat het probleem er weer in zit, zal dan de error log weer posten.

Het ging sneller mis dan ik dacht, maar hier is het stukje log vanaf waar het nog goed gaat tot het punt waar het mis gaat...

[2019-09-27 13:29:18,578] DEBUG    Sending payload of 25 char(s) to dsmr/reading/extra_device_timestamp
[2019-09-27 13:29:18,578] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m51781), 'b'dsmr/reading/extra_device_timestamp'', ... (25 bytes)
[2019-09-27 13:29:18,578] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 51781
[2019-09-27 13:29:18,579] DEBUG    Sending payload of 6 char(s) to dsmr/reading/phase_currently_delivered_l3
[2019-09-27 13:29:18,579] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m51782), 'b'dsmr/reading/phase_currently_delivered_l3'', ... (6 bytes)
[2019-09-27 13:29:18,579] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 51782
[2019-09-27 13:29:18,580] DEBUG    Sending payload of 6 char(s) to dsmr/reading/phase_currently_delivered_l2
[2019-09-27 13:29:18,580] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m51783), 'b'dsmr/reading/phase_currently_delivered_l2'', ... (6 bytes)
[2019-09-27 13:29:18,580] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 51783
[2019-09-27 13:29:18,581] DEBUG    Sending payload of 6 char(s) to dsmr/reading/phase_currently_delivered_l1
[2019-09-27 13:29:18,581] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m51784), 'b'dsmr/reading/phase_currently_delivered_l1'', ... (6 bytes)
[2019-09-27 13:29:18,582] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 51784
[2019-09-27 13:29:18,583] DEBUG    Sending payload of 6 char(s) to dsmr/reading/electricity_currently_returned
[2019-09-27 13:29:18,583] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m51785), 'b'dsmr/reading/electricity_currently_returned'', ... (6 bytes)
[2019-09-27 13:29:18,583] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 51785
[2019-09-27 13:29:18,584] DEBUG    Sending payload of 6 char(s) to dsmr/reading/electricity_currently_delivered
[2019-09-27 13:29:18,584] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m51786), 'b'dsmr/reading/electricity_currently_delivered'', ... (6 bytes)
[2019-09-27 13:29:18,584] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 51786
[2019-09-27 13:29:18,585] DEBUG    Sending payload of 10 char(s) to dsmr/reading/electricity_returned_2
[2019-09-27 13:29:18,585] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m51787), 'b'dsmr/reading/electricity_returned_2'', ... (10 bytes)
[2019-09-27 13:29:18,586] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 51787
[2019-09-27 13:29:18,587] DEBUG    Sending payload of 10 char(s) to dsmr/reading/electricity_delivered_2
[2019-09-27 13:29:18,587] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m51788), 'b'dsmr/reading/electricity_delivered_2'', ... (10 bytes)
[2019-09-27 13:29:18,587] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 51788
[2019-09-27 13:29:18,588] DEBUG    Sending payload of 10 char(s) to dsmr/reading/electricity_returned_1
[2019-09-27 13:29:18,588] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m51789), 'b'dsmr/reading/electricity_returned_1'', ... (10 bytes)
[2019-09-27 13:29:18,588] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 51789
[2019-09-27 13:29:18,589] DEBUG    Sending payload of 10 char(s) to dsmr/reading/electricity_delivered_1
[2019-09-27 13:29:18,589] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m51790), 'b'dsmr/reading/electricity_delivered_1'', ... (10 bytes)
[2019-09-27 13:29:18,590] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 51790
[2019-09-27 13:29:18,591] DEBUG    Sending payload of 25 char(s) to dsmr/reading/timestamp
[2019-09-27 13:29:18,591] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m51791), 'b'dsmr/reading/timestamp'', ... (25 bytes)
[2019-09-27 13:29:18,591] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 51791
[2019-09-27 13:29:18,593] DEBUG    Sleeping 1 sec(s)
[2019-09-27 13:29:19,612] DEBUG    Sending payload of 4 char(s) to dsmr/meter-stats/rejected_telegrams
[2019-09-27 13:29:19,612] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m51792), 'b'dsmr/meter-stats/rejected_telegrams'', ... (4 bytes)
[2019-09-27 13:29:19,682] ERROR     [!] Exception raised in run(): [Errno 110] Connection timed out - Traceback (most recent call last):

  File "/home/dsmr/dsmr-reader/dsmr_backend/mixins.py", line 78, in run_once
    self.run(data=self.data, **options)

  File "/home/dsmr/dsmr-reader/dsmr_mqtt/management/commands/dsmr_mqtt.py", line 42, in run
    dsmr_mqtt.services.broker.run(mqtt_client=self.mqtt_client)

  File "/home/dsmr/dsmr-reader/dsmr_mqtt/services/broker.py", line 68, in run
    qos=broker_settings.qos

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 1157, in publish
    rc = self._send_publish(local_mid, topic, local_payload, qos, retain, False, info)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2304, in _send_publish
    return self._packet_queue(PUBLISH, packet, mid, qos, info)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2535, in _packet_queue
    self._sockpairW.send(sockpair_data)

TimeoutError: [Errno 110] Connection timed out

[2019-09-27 13:29:19,682] DEBUG    Sleeping 1 sec(s)
[2019-09-27 13:29:20,699] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 51792
[2019-09-27 13:29:20,702] DEBUG    Sending payload of 4 char(s) to dsmr/meter-stats/rejected_telegrams
[2019-09-27 13:29:20,702] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m51793), 'b'dsmr/meter-stats/rejected_telegrams'', ... (4 bytes)
[2019-09-27 13:29:20,712] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe - Traceback (most recent call last):

  File "/home/dsmr/dsmr-reader/dsmr_backend/mixins.py", line 78, in run_once
    self.run(data=self.data, **options)

  File "/home/dsmr/dsmr-reader/dsmr_mqtt/management/commands/dsmr_mqtt.py", line 42, in run
    dsmr_mqtt.services.broker.run(mqtt_client=self.mqtt_client)

  File "/home/dsmr/dsmr-reader/dsmr_mqtt/services/broker.py", line 68, in run
    qos=broker_settings.qos

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 1157, in publish
    rc = self._send_publish(local_mid, topic, local_payload, qos, retain, False, info)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2304, in _send_publish
    return self._packet_queue(PUBLISH, packet, mid, qos, info)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2535, in _packet_queue
    self._sockpairW.send(sockpair_data)

BrokenPipeError: [Errno 32] Broken pipe

[2019-09-27 13:29:20,712] DEBUG    Sleeping 1 sec(s)
[2019-09-27 13:29:21,728] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 51793
[2019-09-27 13:29:21,741] DEBUG    Sending payload of 4 char(s) to dsmr/meter-stats/rejected_telegrams
[2019-09-27 13:29:21,741] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m51794), 'b'dsmr/meter-stats/rejected_telegrams'', ... (4 bytes)
[2019-09-27 13:29:21,741] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe - Traceback (most recent call last):

  File "/home/dsmr/dsmr-reader/dsmr_backend/mixins.py", line 78, in run_once
    self.run(data=self.data, **options)

  File "/home/dsmr/dsmr-reader/dsmr_mqtt/management/commands/dsmr_mqtt.py", line 42, in run
    dsmr_mqtt.services.broker.run(mqtt_client=self.mqtt_client)

  File "/home/dsmr/dsmr-reader/dsmr_mqtt/services/broker.py", line 68, in run
    qos=broker_settings.qos

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 1157, in publish
    rc = self._send_publish(local_mid, topic, local_payload, qos, retain, False, info)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2304, in _send_publish
    return self._packet_queue(PUBLISH, packet, mid, qos, info)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2535, in _packet_queue
    self._sockpairW.send(sockpair_data)

BrokenPipeError: [Errno 32] Broken pipe

En het stukje vanaf waar het mis gaat tot een .reload.sh van alle processen, waarbij alles weer draait en hij de verbinding weer opbouwt.

BrokenPipeError: [Errno 32] Broken pipe

[2019-09-27 17:00:15,972] DEBUG    Sleeping 1 sec(s)
[2019-09-27 17:00:16,990] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 63745
[2019-09-27 17:00:16,990] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PINGREQ
[2019-09-27 17:00:16,990] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe - Traceback (most recent call last):

  File "/home/dsmr/dsmr-reader/dsmr_backend/mixins.py", line 78, in run_once
    self.run(data=self.data, **options)

  File "/home/dsmr/dsmr-reader/dsmr_mqtt/management/commands/dsmr_mqtt.py", line 42, in run
    dsmr_mqtt.services.broker.run(mqtt_client=self.mqtt_client)

  File "/home/dsmr/dsmr-reader/dsmr_mqtt/services/broker.py", line 56, in run
    mqtt_client.loop()

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 1092, in loop
    return self.loop_misc()

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 1430, in loop_misc
    self._check_keepalive()

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2179, in _check_keepalive
    self._send_pingreq()

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2226, in _send_pingreq
    rc = self._send_simple_command(PINGREQ)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2327, in _send_simple_command
    return self._packet_queue(command, packet, 0, 0)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2535, in _packet_queue
    self._sockpairW.send(sockpair_data)

BrokenPipeError: [Errno 32] Broken pipe

[2019-09-27 17:00:16,990] DEBUG    Sleeping 1 sec(s)
[2019-09-27 17:00:18,008] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PINGREQ
[2019-09-27 17:00:18,008] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe - Traceback (most recent call last):

  File "/home/dsmr/dsmr-reader/dsmr_backend/mixins.py", line 78, in run_once
    self.run(data=self.data, **options)

  File "/home/dsmr/dsmr-reader/dsmr_mqtt/management/commands/dsmr_mqtt.py", line 42, in run
    dsmr_mqtt.services.broker.run(mqtt_client=self.mqtt_client)

  File "/home/dsmr/dsmr-reader/dsmr_mqtt/services/broker.py", line 56, in run
    mqtt_client.loop()

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 1092, in loop
    return self.loop_misc()

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 1430, in loop_misc
    self._check_keepalive()

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2179, in _check_keepalive
    self._send_pingreq()

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2226, in _send_pingreq
    rc = self._send_simple_command(PINGREQ)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2327, in _send_simple_command
    return self._packet_queue(command, packet, 0, 0)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2535, in _packet_queue
    self._sockpairW.send(sockpair_data)

BrokenPipeError: [Errno 32] Broken pipe

[2019-09-27 17:00:18,008] DEBUG    Sleeping 1 sec(s)
[2019-09-27 17:00:18,541] INFO     Detected signal #1
[2019-09-27 17:00:18,541] INFO     Exiting on next run...
[2019-09-27 17:00:19,011] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending DISCONNECT
Traceback (most recent call last):
  File "/home/dsmr/dsmr-reader/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "/home/dsmr/dsmr-reader/dsmr_backend/mixins.py", line 50, in handle
    self.shutdown()
  File "/home/dsmr/dsmr-reader/dsmr_mqtt/management/commands/dsmr_mqtt.py", line 30, in shutdown
    self.mqtt_client.disconnect()
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 1242, in disconnect
    return self._send_disconnect()
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2392, in _send_disconnect
    return self._send_simple_command(DISCONNECT)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2327, in _send_simple_command
    return self._packet_queue(command, packet, 0, 0)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2535, in _packet_queue
    self._sockpairW.send(sockpair_data)
BrokenPipeError: [Errno 32] Broken pipe
[2019-09-27 17:00:21,674] DEBUG    MQTT | Initializing secure connection (ssl.CERT_NONE)

[2019-09-27 17:00:21,679] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending CONNECT (u1, p1, wr0, wq0, wf0, c1, k60) client_id=b'DSMR-reader'
[2019-09-27 17:00:21,679] DEBUG    Starting infinite command loop...
[2019-09-27 17:00:21,685] DEBUG    Sending payload of 4 char(s) to dsmr/meter-stats/rejected_telegrams
[2019-09-27 17:00:21,686] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m1), 'b'dsmr/meter-stats/rejected_telegrams'', ... (4 bytes)
[2019-09-27 17:00:21,686] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 1
[2019-09-27 17:00:21,689] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_swell_count_l3
[2019-09-27 17:00:21,689] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m2), 'b'dsmr/meter-stats/voltage_swell_count_l3'', ... (1 bytes)
[2019-09-27 17:00:21,689] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 2
[2019-09-27 17:00:21,690] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_swell_count_l2
[2019-09-27 17:00:21,690] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m3), 'b'dsmr/meter-stats/voltage_swell_count_l2'', ... (1 bytes)
[2019-09-27 17:00:21,691] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 3
[2019-09-27 17:00:21,692] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_swell_count_l1
[2019-09-27 17:00:21,692] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m4), 'b'dsmr/meter-stats/voltage_swell_count_l1'', ... (1 bytes)
[2019-09-27 17:00:21,692] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 4
[2019-09-27 17:00:21,693] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_sag_count_l3
[2019-09-27 17:00:21,693] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m5), 'b'dsmr/meter-stats/voltage_sag_count_l3'', ... (1 bytes)
[2019-09-27 17:00:21,693] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 5
[2019-09-27 17:00:21,694] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_sag_count_l2
[2019-09-27 17:00:21,694] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m6), 'b'dsmr/meter-stats/voltage_sag_count_l2'', ... (1 bytes)
[2019-09-27 17:00:21,694] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 6
[2019-09-27 17:00:21,695] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_sag_count_l1
[2019-09-27 17:00:21,696] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m7), 'b'dsmr/meter-stats/voltage_sag_count_l1'', ... (1 bytes)
[2019-09-27 17:00:21,696] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 7
[2019-09-27 17:00:21,697] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/long_power_failure_count
[2019-09-27 17:00:21,697] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m8), 'b'dsmr/meter-stats/long_power_failure_count'', ... (1 bytes)
[2019-09-27 17:00:21,697] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 8
[2019-09-27 17:00:21,698] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/power_failure_count
[2019-09-27 17:00:21,698] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m9), 'b'dsmr/meter-stats/power_failure_count'', ... (1 bytes)
[2019-09-27 17:00:21,698] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 9
[2019-09-27 17:00:21,699] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/electricity_tariff
[2019-09-27 17:00:21,699] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q0, r0, m10), 'b'dsmr/meter-stats/electricity_tariff'', ... (1 bytes)
[2019-09-27 17:00:21,700] DEBUG    MQTT | Paho client: on_publish(userdata, mid) None 10
[2019-09-27 17:00:21,701] DEBUG    Sending payload of 2 char(s) to dsmr/meter-stats/dsmr_version

Ik zie geen directe aanknopingspunten. In je bovenste log lijkt hij ook al meer dan 50.000 berichten verstuurd te hebben, zonder dat die stuk gaat. En het bericht waarop die stuk gaat is ook niet heel groot of iets.

Heb je al geprobeerd te spelen met QoS (quality of service) in de DSMR broker instellingen? Je kunt hem eens op de traagste, maar meest betrouwbare zetten (QoS 2).

Nee, daar heb ik nog niet mee gespeeld, staat nu op Qos 2.
Ik vraag me alleen af waarom hij een connection time-out krijgt en vervolgens niet meer opbouwt, de mqtt daemon en dsmr-reader draaien in dezelfde vm, dus het gaat verder niet het netwerk op.

Ik heb er wel code inzitten die opnieuw zou moeten verbinden en anders gewoon het proces herstart, maar daar lijkt die uberhaupt niet te komen: https://github.com/dennissiemensma/dsmr-reader/blob/temp/708-mqtt-debug/dsmr_mqtt/services/broker.py#L95

Hmmz, vreemd, met QoS op 2 vliegt het er nog sneller uit, nu binnen 1 dag al.
Het gekke is dat ik tientallen andere applicaties heb draaien op mqtt en die lijken totaal geen last te hebben, ergens zit er dus iets niet lekker, nog ideeën?

BrokenPipeError: [Errno 32] Broken pipe

[2019-09-28 18:27:32,748] DEBUG    Sleeping 1 sec(s)
[2019-09-28 18:27:33,403] INFO     Detected signal #1
[2019-09-28 18:27:33,403] INFO     Exiting on next run...
[2019-09-28 18:27:33,750] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending DISCONNECT
Traceback (most recent call last):
  File "/home/dsmr/dsmr-reader/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "/home/dsmr/dsmr-reader/dsmr_backend/mixins.py", line 50, in handle
    self.shutdown()
  File "/home/dsmr/dsmr-reader/dsmr_mqtt/management/commands/dsmr_mqtt.py", line 30, in shutdown
    self.mqtt_client.disconnect()
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 1242, in disconnect
    return self._send_disconnect()
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2392, in _send_disconnect
    return self._send_simple_command(DISCONNECT)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2327, in _send_simple_command
    return self._packet_queue(command, packet, 0, 0)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2535, in _packet_queue
    self._sockpairW.send(sockpair_data)
BrokenPipeError: [Errno 32] Broken pipe
[2019-09-28 18:27:35,677] DEBUG    MQTT | Initializing secure connection (ssl.CERT_NONE)
[2019-09-28 18:27:35,682] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending CONNECT (u1, p1, wr0, wq0, wf0, c1, k60) client_id=b'DSMR-reader'
[2019-09-28 18:27:35,683] DEBUG    Starting infinite command loop...
[2019-09-28 18:27:35,689] DEBUG    Sending payload of 4 char(s) to dsmr/meter-stats/rejected_telegrams
[2019-09-28 18:27:35,689] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m1), 'b'dsmr/meter-stats/rejected_telegrams'', ... (4 bytes)
[2019-09-28 18:27:35,691] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_swell_count_l3
[2019-09-28 18:27:35,691] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m2), 'b'dsmr/meter-stats/voltage_swell_count_l3'', ... (1 bytes)
[2019-09-28 18:27:35,692] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_swell_count_l2
[2019-09-28 18:27:35,692] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m3), 'b'dsmr/meter-stats/voltage_swell_count_l2'', ... (1 bytes)
[2019-09-28 18:27:35,693] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_swell_count_l1
[2019-09-28 18:27:35,694] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m4), 'b'dsmr/meter-stats/voltage_swell_count_l1'', ... (1 bytes)
[2019-09-28 18:27:35,695] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_sag_count_l3
[2019-09-28 18:27:35,695] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m5), 'b'dsmr/meter-stats/voltage_sag_count_l3'', ... (1 bytes)
[2019-09-28 18:27:35,696] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_sag_count_l2
[2019-09-28 18:27:35,696] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m6), 'b'dsmr/meter-stats/voltage_sag_count_l2'', ... (1 bytes)
[2019-09-28 18:27:35,697] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_sag_count_l1
[2019-09-28 18:27:35,697] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m7), 'b'dsmr/meter-stats/voltage_sag_count_l1'', ... (1 bytes)
[2019-09-28 18:27:35,698] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/long_power_failure_count
[2019-09-28 18:27:35,699] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m8), 'b'dsmr/meter-stats/long_power_failure_count'', ... (1 bytes)
[2019-09-28 18:27:35,700] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/power_failure_count
[2019-09-28 18:27:35,700] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m9), 'b'dsmr/meter-stats/power_failure_count'', ... (1 bytes)
[2019-09-28 18:27:35,701] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/electricity_tariff
[2019-09-28 18:27:35,701] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m10), 'b'dsmr/meter-stats/electricity_tariff'', ... (1 bytes)
[2019-09-28 18:27:35,702] DEBUG    Sending payload of 2 char(s) to dsmr/meter-stats/dsmr_version
[2019-09-28 18:27:35,702] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m11), 'b'dsmr/meter-stats/dsmr_version'', ... (2 bytes)
[2019-09-28 18:27:35,703] DEBUG    Sending payload of 7 char(s) to dsmr/day-consumption/energy_supplier_price_gas
[2019-09-28 18:27:35,703] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m12), 'b'dsmr/day-consumption/energy_supplier_price_gas'', ... (7 bytes)
[2019-09-28 18:27:35,705] DEBUG    Sending payload of 7 char(s) to dsmr/day-consumption/energy_supplier_price_electricity_returned_2
[2019-09-28 18:27:35,705] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m13), 'b'dsmr/day-consumption/energy_supplier_price_electricity_returned_2'', ... (7 bytes)
[2019-09-28 18:27:35,706] DEBUG    Sending payload of 7 char(s) to dsmr/day-consumption/energy_supplier_price_electricity_returned_1
[2019-09-28 18:27:35,706] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m14), 'b'dsmr/day-consumption/energy_supplier_price_electricity_returned_1'', ... (7 bytes)
[2019-09-28 18:27:35,707] DEBUG    Sending payload of 7 char(s) to dsmr/day-consumption/energy_supplier_price_electricity_delivered_2
[2019-09-28 18:27:35,707] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m15), 'b'dsmr/day-consumption/energy_supplier_price_electricity_delivered_2'', ... (7 bytes)
[2019-09-28 18:27:35,708] DEBUG    Sending payload of 7 char(s) to dsmr/day-consumption/energy_supplier_price_electricity_delivered_1
[2019-09-28 18:27:35,708] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m16), 'b'dsmr/day-consumption/energy_supplier_price_electricity_delivered_1'', ... (7 bytes)
[2019-09-28 18:27:35,709] DEBUG    Sending payload of 4 char(s) to dsmr/day-consumption/gas_cost
[2019-09-28 18:27:35,709] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m17), 'b'dsmr/day-consumption/gas_cost'', ... (4 bytes)
[2019-09-28 18:27:35,711] DEBUG    Sending payload of 5 char(s) to dsmr/day-consumption/gas
[2019-09-28 18:27:35,711] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m18), 'b'dsmr/day-consumption/gas'', ... (5 bytes)
[2019-09-28 18:27:35,712] DEBUG    Sending payload of 4 char(s) to dsmr/day-consumption/total_cost
[2019-09-28 18:27:35,712] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m19), 'b'dsmr/day-consumption/total_cost'', ... (4 bytes)
[2019-09-28 18:27:35,713] DEBUG    Sending payload of 5 char(s) to dsmr/day-consumption/electricity_cost_merged
[2019-09-28 18:27:35,713] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m20), 'b'dsmr/day-consumption/electricity_cost_merged'', ... (5 bytes)
[2019-09-28 18:27:35,714] DEBUG    Sending payload of 4 char(s) to dsmr/day-consumption/electricity2_cost
[2019-09-28 18:27:35,715] DEBUG    Sending payload of 5 char(s) to dsmr/day-consumption/electricity1_cost
[2019-09-28 18:27:35,716] DEBUG    Sending payload of 5 char(s) to dsmr/day-consumption/electricity_returned_merged
[2019-09-28 18:27:35,717] DEBUG    Sending payload of 5 char(s) to dsmr/day-consumption/electricity_merged
[2019-09-28 18:27:35,718] DEBUG    Sending payload of 5 char(s) to dsmr/day-consumption/electricity2_returned
[2019-09-28 18:27:35,719] DEBUG    Sending payload of 5 char(s) to dsmr/day-consumption/electricity1_returned
[2019-09-28 18:27:35,720] DEBUG    Sending payload of 5 char(s) to dsmr/day-consumption/electricity2
[2019-09-28 18:27:35,721] DEBUG    Sending payload of 5 char(s) to dsmr/day-consumption/electricity1
[2019-09-28 18:27:35,722] DEBUG    Sending payload of 8 char(s) to dsmr/reading/id
[2019-09-28 18:27:35,723] DEBUG    Sending payload of 6 char(s) to dsmr/reading/phase_currently_returned_l3
[2019-09-28 18:27:35,725] DEBUG    Sending payload of 6 char(s) to dsmr/reading/phase_currently_returned_l2
[2019-09-28 18:27:35,726] DEBUG    Sending payload of 6 char(s) to dsmr/reading/phase_currently_returned_l1
BrokenPipeError: [Errno 32] Broken pipe

[2019-09-28 18:27:31,730] DEBUG    Sleeping 1 sec(s)
[2019-09-28 18:27:32,747] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Received PUBREC (Mid: 50378)
[2019-09-28 18:27:32,748] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBREL (Mid: 50378)
[2019-09-28 18:27:32,748] ERROR     [!] Exception raised in run(): [Errno 32] Broken pipe - Traceback (most recent call last):

  File "/home/dsmr/dsmr-reader/dsmr_backend/mixins.py", line 78, in run_once
    self.run(data=self.data, **options)

  File "/home/dsmr/dsmr-reader/dsmr_mqtt/management/commands/dsmr_mqtt.py", line 42, in run
    dsmr_mqtt.services.broker.run(mqtt_client=self.mqtt_client)

  File "/home/dsmr/dsmr-reader/dsmr_mqtt/services/broker.py", line 56, in run
    mqtt_client.loop()

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 1072, in loop
    rc = self.loop_read(max_packets)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 1374, in loop_read
    rc = self._packet_read()

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2071, in _packet_read
    rc = self._packet_handle()

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2562, in _packet_handle
    return self._handle_pubrec()

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2838, in _handle_pubrec
    return self._send_pubrel(mid)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2312, in _send_pubrel
    return self._send_command_with_mid(PUBREL | 2, mid, False)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2321, in _send_command_with_mid
    return self._packet_queue(command, packet, mid, 1)

  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2535, in _packet_queue
    self._sockpairW.send(sockpair_data)

BrokenPipeError: [Errno 32] Broken pipe

[2019-09-28 18:27:32,748] DEBUG    Sleeping 1 sec(s)
[2019-09-28 18:27:33,403] INFO     Detected signal #1
[2019-09-28 18:27:33,403] INFO     Exiting on next run...
[2019-09-28 18:27:33,750] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending DISCONNECT
Traceback (most recent call last):
  File "/home/dsmr/dsmr-reader/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "/home/dsmr/dsmr-reader/dsmr_backend/mixins.py", line 50, in handle
    self.shutdown()
  File "/home/dsmr/dsmr-reader/dsmr_mqtt/management/commands/dsmr_mqtt.py", line 30, in shutdown
    self.mqtt_client.disconnect()
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 1242, in disconnect
    return self._send_disconnect()
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2392, in _send_disconnect
    return self._send_simple_command(DISCONNECT)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2327, in _send_simple_command
    return self._packet_queue(command, packet, 0, 0)
  File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.6/site-packages/paho/mqtt/client.py", line 2535, in _packet_queue
    self._sockpairW.send(sockpair_data)
BrokenPipeError: [Errno 32] Broken pipe
[2019-09-28 18:27:35,677] DEBUG    MQTT | Initializing secure connection (ssl.CERT_NONE)
[2019-09-28 18:27:35,682] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending CONNECT (u1, p1, wr0, wq0, wf0, c1, k60) client_id=b'DSMR-reader'
[2019-09-28 18:27:35,683] DEBUG    Starting infinite command loop...
[2019-09-28 18:27:35,689] DEBUG    Sending payload of 4 char(s) to dsmr/meter-stats/rejected_telegrams
[2019-09-28 18:27:35,689] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m1), 'b'dsmr/meter-stats/rejected_telegrams'', ... (4 bytes)
[2019-09-28 18:27:35,691] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_swell_count_l3
[2019-09-28 18:27:35,691] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m2), 'b'dsmr/meter-stats/voltage_swell_count_l3'', ... (1 bytes)
[2019-09-28 18:27:35,692] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_swell_count_l2
[2019-09-28 18:27:35,692] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m3), 'b'dsmr/meter-stats/voltage_swell_count_l2'', ... (1 bytes)
[2019-09-28 18:27:35,693] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_swell_count_l1
[2019-09-28 18:27:35,694] DEBUG    MQTT | Paho client: on_log(userdata, level, buf) None 16 Sending PUBLISH (d0, q2, r0, m4), 'b'dsmr/meter-stats/voltage_swell_count_l1'', ... (1 bytes)
[2019-09-28 18:27:35,695] DEBUG    Sending payload of 1 char(s) to dsmr/meter-stats/voltage_sag_count_l3

mosquitto.log

1569685011: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1569685116: New connection from 10.0.0.32 on port 1883.
1569685116: Socket error on client <unknown>, disconnecting.
1569685417: New connection from 10.0.0.32 on port 1883.
1569685417: Socket error on client <unknown>, disconnecting.
1569685718: New connection from 10.0.0.32 on port 1883.
1569685718: Socket error on client <unknown>, disconnecting.
1569686020: New connection from 10.0.0.32 on port 1883.
1569686020: Socket error on client <unknown>, disconnecting.
1569686321: New connection from 10.0.0.32 on port 1883.
1569686321: Socket error on client <unknown>, disconnecting.
1569686622: New connection from 10.0.0.32 on port 1883.
1569686622: Socket error on client <unknown>, disconnecting.
1569686812: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
1569686924: New connection from 10.0.0.32 on port 1883.
1569686924: Socket error on client <unknown>, disconnecting.
1569687225: New connection from 10.0.0.32 on port 1883.
1569687225: Socket error on client <unknown>, disconnecting.
1569687526: New connection from 10.0.0.32 on port 1883.
1569687526: Socket error on client <unknown>, disconnecting.
1569687828: New connection from 10.0.0.32 on port 1883.
1569687828: Socket error on client <unknown>, disconnecting.
1569688055: New connection from 10.0.0.32 on port 8883.
1569688055: New client connected from 10.0.0.32 as DSMR-reader (c1, k60, u'donald').
1569688129: New connection from 10.0.0.32 on port 1883.
1569688129: Socket error on client <unknown>, disconnecting.
1569688430: New connection from 10.0.0.32 on port 1883.

Ik heb helaas geen andere suggesties meer voor nu.

Het kan een bug in de library zijn die ik gebruik, of ik gebruik de library verkeerd, maar dat lijkt me wat onwaarschijnlijk, gezien die er (pas) meerdere keren na 50.000+ berichten uit lijkt te klappen.

Herstart het mqtt-process zichzelf wel weer na een crash?

Nee hij herstart niet uit zichzelf of tenmiste misschien niet altijd omdat ik er pas achter kom als de queue enorm oploopt...

Hmm dat is vrij naar. Ik kan dan nog wel iets proberen met dat die zelf een herstart doet na bijvoorbeeld 10k of 20k berichten. Wie weet verandert dat ook nog wat aan de fouten.

Dat is misschien een optie, wat ik ook nog zou kunnen proberen is enkel deze 2:

electricity_currently_delivered = dsmr/reading/electricity_currently_delivered
electricity_currently_returned = dsmr/reading/electricity_currently_returned

onder "Change MQTT: Telegram (per split topic) configuration" aanzetten, de rest gebruik ik namelijk niet.
Ik zou er heel graag nog iets van een gass_currently_delivered in willen hebben maar daar loopt volgens mij al een ander topic van en staat dacht ik al op je todo list.

Prima, laat maar weten of dat nog invloed heeft!

Ik heb dit topic half gelezen, maar las iets over een volle MQTT buffer.

Ik denk dat het sowieso handig is om iets in te bouwen dat niet alle berichten die je uit je meter inleest 1 op 1 doorstuurt naar MQTT, maar eerst een vergelijking doet of de waarde veranderd is. Dit scheelt al een hele hoop berichten bij een DSMRv5 meter.

Je zou je berichten ook "retained" kunnen maken. Dan blijft de laatst verstuurde waarde in de mqtt broker in zijn geheugen staan, mocht je een keer een reboot/her installatie doen van DSMR reader.

Dit topic gaat over twee dingen. Initieel ging het over het datalogger-script voor de API. Daar is wat in gefixt.

Daarna kwam er nog een ander issue naar voren. Na verloop van tijd crasht het mqtt-proces dat de berichten verstuurt en het is onbekend waar dat door komt. Overigens is dit nog de enige melding waarbij het tot nu toe bekend is.

Het cachen van mqtt berichten is nog iets wat ik zou kunnen doen, maar ik weet niet of dat dit issue oplost.

@megapearl crasht die minder snel nu je minder topics hebt ingeschakeld?

Tot nu toe nog niet gecrasht, maar soms duurt het 3 dagen voordat het crasht, dus nog even afwachten...

Over twee versies (v2.6) komt er overigens een verbetering (#723) voor het aantal MQTT-berichten dat verstuurd wordt. Mogelijk helpt dat ook nog, mits het aantal berichten de oorzaak is.

Niet meer gecrasht, dus heeft toch duidelijk te maken met het aantal mqtt berichten die verstuurd worden.

Bedankt voor je terugkoppeling. In dat geval denk ik dat je voor nu bent geholpen. In de aanstande release (v2.6) zitten nog wat extra optimalisaties voor MQTT, zodat ze nog minder berichten versturen.

Voor nu kun je denk ik dan terug naar de master-branch.

sudo su - dsmr
git checkout master
./deploy.sh

Done, zit weer op master.

Bedankt voor alle snelle hulp en meedenken.
Topic kan dan in principe dicht.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

dennissiemensma picture dennissiemensma  Â·  11Comments

T1rnanog picture T1rnanog  Â·  10Comments

jorisvervuurt picture jorisvervuurt  Â·  6Comments

bikeymouse picture bikeymouse  Â·  10Comments

Mixpower picture Mixpower  Â·  5Comments