Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Gelöst: MQTT Server übernimmt Publish in einem Topic nicht

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Gelöst: MQTT Server übernimmt Publish in einem Topic nicht

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

      Hallo,
      der Fehler ist heute plötzlich aufgetreten, ohen das ich am System etwas verändern habe (konfiguriert oder updates).

      Ich habe eine Herausforderung mit dem MQTT Client/Server Adapter. Von meinem ESP werden immer die ersten paar Publish nach einem Neustart des Servers übernommen und danach keine mehr. DIe Update kommen alle 5 Sekunden. Andere MQTT Clients funktionieren einwandfrei. Ich nutze die Standard Arduino library PubSubClient.h.

      Auf der Netzwerkschnittstelle sehe ich den Publish und auch das "Ack" dazu. Im Log File des MQTT Adapters werden diese Update nicht angezeigt. Außer die ersten nach einem Neustart ;-). Jetzt weiß ich nicht genau wo ich suchen und diese Infos as dem System "verloren" gehen oder geblockt werden.

      Wie gesagt nach dem Neustart, werden die Infos ein paar mal übernommen.

      Danke für eure Ideen,
      Martin

      PS: Ich habe den Frigate Adapter letztens aktualisiert. Der verwendet jetzt einen eignen mqtt Server unter Port 1882. Erklärt aber auch nicht, warum es nach dem Neustart immer kurz funktioniert. Gibt es "Schutz" gegen zu häufige Anfragen?

      • Adaptername: mqtt
      • Link zu Adapterrepository: www.github.com...
      • Adapterversion: v6.1.2
      • js-controller Version: ...
      • Admin Version: 7.1.5
      • Hardwaresystem: NUC, Pi4 Proxmox
      • Arbeitsspeicher: 32 GB
      • Festplattenart: SD-Karte, SSD, HDD, ...
      • Betriebssystem: Debian
      • Nodejs-Version: v20.18.0
      • NPM-Version: 10.8.2
      • Installationsart: Skript oder Manuell ? Skript
      • Image, Docker genutzt: Ja - Nein
      • Ort, Name der Imagedatei: ...
      ======================= SUMMARY =======================
                              v.2024-10-19
      
      
       Static hostname: iobroker
             Icon name: computer-container
               Chassis: container ☐
        Virtualization: lxc
      Operating System: Debian GNU/Linux 12 (bookworm)
                Kernel: Linux 6.8.12-2-pve
          Architecture: x86-64
      
      Installation:           lxc
      Kernel:                 x86_64
      Userland:               64 bit
      Timezone:               Europe/Berlin (CET, +0100)
      User-ID:                1000
      Display-Server:         false
      Boot Target:            multi-user.target
      
      Pending OS-Updates:     53
      Pending iob updates:    1
      
      Nodejs-Installation:
      /usr/bin/nodejs         v20.18.0
      /usr/bin/node           v20.18.0
      /usr/bin/npm            10.8.2
      /usr/bin/npx            10.8.2
      /usr/bin/corepack       0.29.3
      
      Recommended versions are nodejs 20.18.1 and npm 10.8.2
      nodeJS installation is correct
      
      MEMORY: 
                     total        used        free      shared  buff/cache   available
      Mem:             34G        2.6G         31G        167K         57M         31G
      Swap:           8.0G          0B        8.0G
      Total:           42G        2.6G         39G
      
      Active iob-Instances:   34
      Upgrade policy: none
      
      ioBroker Core:          js-controller           7.0.6
                              admin                   7.1.5
      
      ioBroker Status:        iobroker is running on this host.
      
      
      Objects type: jsonl
      States  type: jsonl
      
      Status admin and web instance:
      + system.adapter.admin.0                  : admin                 : iobroker                                 -  enabled, port: 8081, bind: 0.0.0.0, run as: admin
      + system.adapter.web.0                    : web                   : iobroker                                 -  enabled, port: 8082, bind: 0.0.0.0, run as: admin
      
      Objects:                11949
      States:                 11408
      
      Size of iob-Database:
      
      12M     /opt/iobroker/iobroker-data/objects.jsonl
      3.2M    /opt/iobroker/iobroker-data/states.jsonl
      
      
      Unknown release codenamed ''. Please check yourself if the Operating System is actively maintained.
      
      =================== END OF SUMMARY ====================
      

      === Mark text until here for copying ===

      W C 2 Replies Last reply Reply Quote 0
      • W
        wolfi913 @Clown007 last edited by

        @clown007
        Nur eine Idee, weil's bei mir deshalb auch immer mal wieder gehakt hatte bis ich's in die Skripte eingebaut habe.
        Hast Du einen reconnect im Sketch drin? Wenn nicht könntest Du evtl. mal sowas in der Art probieren.

        void reconnect() {
          // Loop until we're reconnected
          while (!client.connected()) {
            Serial.print("Attempting MQTT connection...");
            if (client.connect(mqtt_client_name, mqtt_user, mqtt_password)) {
              Serial.println("connected");
              // Once connected, publish an announcement...
              client.publish(mqtt_client_hostname, mqtt_client_name);
              client.publish(mqtt_client_ip_adresse, mqtt_ip_adress);
              // ... and resubscribe
              client.subscribe(mqtt_client_subscribe);
            } else {
              Serial.print("failed, rc=");
              Serial.print(client.state());
              Serial.println(" try again in 5 seconds");
              // Wait 5 seconds before retrying
              delay(5000);
            }
            }
          }
        
        void loop()
        {
         if (!client.connected()) {
            reconnect();
          }
        ...
        }
        
        C 1 Reply Last reply Reply Quote 0
        • C
          Clown007 @wolfi913 last edited by

          @wolfi913
          Habe ich im Script 👍
          Nach dem Neustart des Servers sehe ich die Aktualisierungen auch sofort.

          Wo finde ich das Detail log des MQTT Servers?

          Danke und Gruß,
          Martin

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

            @clown007 sagte in MQTT Server übernimmt Publish in einem Topic nicht:

            Wo finde ich das Detail log des MQTT Servers?

            Kann ich leider nicht beantworten. Ich hab einen eigenständigen Mosquitto-Server und im ioBroker den MQTT-Client am Laufen. Nutze den von Dir verwendeten MQTT-Adapter nicht und hab daher dazu leider keine Ahnung.

            C 1 Reply Last reply Reply Quote 0
            • C
              Clown007 @wolfi913 last edited by

              @wolfi913 Ich denke mittlerweile auch, das wäre geschickter gewesen 😉
              Wenn ich jetzt noch einen eigenen DNS Namen für den Service genommen hätte, wäre es einfach (wieder ein Learning 😉 )

              Trotzdem Danke,
              Martin

              1 Reply Last reply Reply Quote 0
              • C
                Clown007 @Clown007 last edited by

                @clown007
                Also, ist mir etwas peinlich, ich habe den Fehler gefunden. Im Nachhinein ist alles ganz logisch 😉

                Ich hatte eine falsche Variable bei der Client ID in meinem ESP Programm. Das wäre noch kein Problem, wenn man den Code aber kopiert und im nächsten Projekt verwendet, haben zwei Clients die gleiche ID 😉

                Sorry, der Post kann als gelöst markiert werden.

                Gruß Martin

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

                Support us

                ioBroker
                Community Adapters
                Donate

                772
                Online

                31.7k
                Users

                79.9k
                Topics

                1.3m
                Posts

                2
                6
                1544
                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