Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. MQTT "LWT"-Feature Wartezeit ?

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    MQTT "LWT"-Feature Wartezeit ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      WillyIobrok last edited by

      Hallo zusammen,

      Nehme gerade das LWT-Feature (Last Will/Testament) des MQTT adapters (Version 2.3.4) in Betrieb.

      Wenn ich also meinen ESP32 basierten "Client A" abschalte, möchte ich, daß der MQTT Broker Adapter auf dem ioBroker (Raspberry 4) nach einiger Zeit dem "Client B" mitteilt, daß Client A offline ist.

      Funktioniert auch soweit, aber es dauert ziemlich lange, bis der MQTT broker nach Abschalten eines MQTT clients die LWT-Message ("offline") an die anderen Clients weiterschickt (so ca. 30 ... 100 sek).
      Das ist mir viel zu lange.
      Deshalb suche ich nach einer Möglichkeit, diese Zeit auf z.B. 5 ... 10 sek zu verkürzen, habe aber bis jetzt nix gefunden - weder in der MQTT Oberfläche noch im Forum.
      Gibt's so eine Einstellung nicht?
      Wovon hängt denn diese Wartezeit ab ?

      Grüße,

      WillyIoBrok

      UncleSam 1 Reply Last reply Reply Quote 0
      • UncleSam
        UncleSam Developer @WillyIobrok last edited by

        @willyiobrok So wie ich das sehe, wird das Testament verschickt, sobald der Server mitbekommt, dass die Verbindung abgerissen ist.

        Nun scheint das Problem zu sein, dass das Timeout (bei dir) sehr hoch ist und der Server entsprechend auch sehr lange nicht bemerkt, dass der Client nicht mehr verbunden ist.

        Ich sehe die Lösung im Setzen des Keep-Alive (auf Seite des Clients) auf einen möglichst tiefen Wert.


        Versand:
        https://github.com/ioBroker/ioBroker.mqtt/blob/abb9adfbae66c88bcc377e484e5f496eea1f42a7/lib/server.js#L613-L621
        Fälle, in denen die Verbindung geschlossen wird:
        https://github.com/ioBroker/ioBroker.mqtt/blob/abb9adfbae66c88bcc377e484e5f496eea1f42a7/lib/server.js#L1064-L1069
        Keep-Alive:
        https://github.com/ioBroker/ioBroker.mqtt/blob/abb9adfbae66c88bcc377e484e5f496eea1f42a7/lib/server.js#L764

        W 1 Reply Last reply Reply Quote 0
        • W
          WillyIobrok @UncleSam last edited by

          @unclesam
          Hmm, das dachte ich mir auch schon. Ich benutze als client einen ESP32 mit der Library "EspMQTTClient".
          Das einzige, was ich in der Doku unter "live", "life" oder "time gefunden habe ist:

          Change the keepalive interval (15 seconds by default)

          void setKeepAlive(uint16_t keepAliveSeconds);
          

          Aber 15 sek hört sich doch gar nicht soo schlimm an. Werde es aber trotzdem mal auf 5 sek kürzen.

          Schau ma mal 🙂

          Erstmal vielen Dank,

          WillyIoBrok

          W 1 Reply Last reply Reply Quote 0
          • W
            WillyIobrok @WillyIobrok last edited by

            @UncleSam
            habs jetzt mit 5s keepalive interval ausprobiert, ja, es geht schneller ! Vielen Dank für den Tip
            (allerdings dauerts trotzdem noch bis zu 20 sek, damit kann/muß ich aber jetzt leben)

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate
            FAQ Cloud / IOT
            HowTo: Node.js-Update
            HowTo: Backup/Restore
            Downloads
            BLOG

            864
            Online

            31.7k
            Users

            79.6k
            Topics

            1.3m
            Posts

            2
            4
            465
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo