Cache voor MQTT-berichten kunnen uitschakelen #1560
-
DescriptionIk laat mijn dsmr-reader zijn gegevens via MQTT doorsturen naar Home Assistant. Na een week lijkt het alsof er geen MQTT berichten meer doorgestuurd worden. De grafieken in HA houden abrupt op. In DSMR-Reader zelf staat nog wel data, en ook het wegschrijven naar InfluxDB blijft werken. Zodra ik de MQTT broker/connection disable en dan weer enable werkt het weer. Ik heb zelf even gekeken naar wat er op de queue gezet wordt en het lijkt er op dat hij ALLEEn de ID opstuurt. Dus zeg maar alleen de eerste regel van het bericht
Na herstarten zitten alle tussenliggende regels er wel weer tussen
(newlines vallen weg in de berichtvoorbeelden) DSMR-reader version4.19 DSMR-reader platformDocker (e.g. Xirixiz) Debug info dumpNo response |
Beta Was this translation helpful? Give feedback.
Replies: 8 comments 15 replies
-
Bedankt voor je melding. Je kunt het beste DEBUG-logging inschakelen als dit vaker gebeurt. Je zou dan exact moeten zien wat DSMR-reader doet, queue'd en verstuurt. Waren er op dat moment geen andere fouten of waarschuwingen in DSMR-reader? |
Beta Was this translation helpful? Give feedback.
-
Ik heb debugging aangezet. Over een week weet ik hopelijk meer |
Beta Was this translation helpful? Give feedback.
-
Zo te zien lijkt het nu weer te gebeuren. Na verloop van tijd komen er steeds minder meetresultaten binnen. Ik zie nu alleen id's voorbij komen op het mqtt kanaal. Het lijkt er op dat hij alles afkeurt omdat het 'hetzelfde is als het vorige bericht'. Mogelijk zit daar iets niet goed. Dit is het log. en hoewel daar staat dat sommige berichten wel doorkomen zie ik alleen maar ID's op het kanaal en heel af en toe phase_voltage_l3 en extra_device_timestamp en phase_currently_delivered_l1 |
Beta Was this translation helpful? Give feedback.
-
Bedankt voor je update. Dit verklaart een hoop. Wat er gebeurt is dat DSMR-reader alle MQTT-berichten met een Edit: Hiervoor is al een envvar: |
Beta Was this translation helpful? Give feedback.
-
BIj nader inzien, zie https://dsmr-reader.readthedocs.io/nl/v4/reference/env-settings.html#dsmrreader-mqtt-max-cache-timeout |
Beta Was this translation helpful? Give feedback.
-
Bedankt voor je aanvulling. Het kan zijn dat dat er een mogelijke bug in zit, want de cachingduur is standaard max 1 uur bedenk ik me nu, dus ik zal hier ook even MQTT aanzetten.
Caching werkt doorgaans prima, maar in bepaalde situaties kan het bijten. Helemaal als dus client dus een update op elk topic verwacht, ook als die niet veranderd is. Ik kan me verder wel vinden in je punt hoor. Ik denk dat dit vooral bij split-topics een issue kan zijn, want bij de JSON updates die DSMR-reader stuurt krijgt de client gewoon een volledige update omdat door het ID of tijdstip erin het per definitie "veranderd" is. Dat is wat je eigenlijk zoekt als je wilt dat alle waardes tegelijkertijd bijgewerkt moeten zijn. Ik zal kijken of ik het kan omdraaien. Standaard caching en duplicate-checks uit en op verzoek aan te zetten als de performance er onder lijdt. De een zal namelijk slechts 5 topics aan hebben en een andere gebruiker kan er zo 30 hebben. |
Beta Was this translation helpful? Give feedback.
-
Het probleem is inderdaad nog niet opgelost. Ik zie nu alleen ID's en extra_device_timestamps voorbij komen. Ik gebruik de MQTT koppeling van dsmr alleen om mijn gegevens naar Home Assistant te sturen. Met de influxDB heb ik verder geen enkel probleem. MQTT gebruik ik verder ook voor een aantal andere zaken en die hebben ook geen problemen |
Beta Was this translation helpful? Give feedback.
-
Ik zie in mijn MQTT log wel de volgende meldingen constant voorbij komen: 1645107446: Warning: Received PUBREL from DSMR-reader for an unknown packet identifier 29744. |
Beta Was this translation helpful? Give feedback.
BIj nader inzien, zie https://dsmr-reader.readthedocs.io/nl/v4/reference/env-settings.html#dsmrreader-mqtt-max-cache-timeout