MQTT Refresh



  • Nachdem ich nun meine MQTT Daten aus dem Iobroker auf dem M5Stack Core darstellen kann (siehe Printscreen) hätte ich da noch eine Frage:

    Wie man sieht, habe ich ebenfalls zwei http Requests im linken Bereich mit einer Schlaufe mit 2sek Pause. Diese tut was sie soll.

    Rechts sieht man die MQTT abonnente. Diese lassen sich nicht weiter in eine Schleife einbinden da diese keine Andockpunkte haben. Die Frage ist nun, wie werden diese aktualisiert. Ich stelle nämlich fest, dass nach einem Neustart die Aktualisierung bei sich ändernden Werten funktioniert. Nach einer gewissen Zeit ca. 5 Min. werden die Werte allerdings nicht mahr aktulisiert.

    0_1691392028228_Bildschirmfoto vom 2023-08-07 09-04-47.png



  • @juergschwarz MQTT "keepalive" ist auf 5 Minuten (300) eingestellt. Da Du kein MQTT Publish machst, sondern per Get Request sendest, schläft Dein MQTT vermutlich ein => Probieren, ob es mit längerem Keepalive länger dauert, bis nichts mehr kommt. Ggf alle 5 Minuten ein neues MQTT Start machen.
    Die Subscribes haben keine Andockpunkte, weil das Events sind.



  • @juergschwarz said in MQTT Refresh:

    Nachdem ich nun meine MQTT Daten aus dem Iobroker auf dem M5Stack Core darstellen kann (siehe Printscreen) hätte ich da noch eine Frage:
    Wie man sieht, habe ich ebenfalls zwei http Requests im linken Bereich mit einer Schlaufe mit 2sek Pause. Diese tut was sie soll.
    Rechts sieht man die MQTT abonnente. Diese lassen sich nicht weiter in eine Schleife einbinden da diese keine Andockpunkte haben. Die Frage ist nun, wie werden diese aktualisiert. Ich stelle nämlich fest, dass nach einem Neustart die Aktualisierung bei sich ändernden Werten funktioniert. Nach einer gewissen Zeit ca. 5 Min. werden die Werte allerdings nicht mahr aktulisiert.

    Es scheint ein Problem zu geben, dass die Clients keine Daten mehr abrufen, wenn die Verbindung zwischen Clients/Empfängern unterbrochen wird oder es zu einer Datenpause kommt.
    Haben Sie die Option „Keep Alive“ auf einen niedrigeren Wert als den Ruhezustand eingestellt?