Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. MQTT Instanz —> Verbindung bleibt rot

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    MQTT Instanz —> Verbindung bleibt rot

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

      Hi,

      Ich schreibe von einem PI auf dem ein Python Script läuft per MQTT die Daten in ioBroker. Alle Daten kommen an und werden regelmäßig aktualisiert.

      In der Instanz bleib die Verbindung jedoch „rot“.

      IMG_1389.jpeg IMG_1388.jpeg

      
      mqtt.1
      2025-01-19 16:45:19.349	info	Client [] publishOnSubscribe send all known states
      
      mqtt.1
      2025-01-19 16:45:19.149	info	Client [] subscribes on "felicity/battery/set/#" with regex /^mqtt\.1\.felicity\.battery\.set\..*/
      
      mqtt.1
      2025-01-19 16:45:19.148	info	Client [] subscribes on "felicity/battery/set/#" with regex /^felicity\.battery\.set\..*/
      
      mqtt.1
      2025-01-19 16:45:19.108	info	Client [] connected with secret 1737301519104_5208
      
      mqtt.1
      2025-01-19 16:45:18.814	info	Starting MQTT authenticated server on 0.0.0.0:1889
      
      mqtt.1
      2025-01-19 16:45:18.567	info	starting. Version 6.1.2 in /opt/iobroker/node_modules/iobroker.mqtt, node: v20.18.1, js-controller: 7.0.6
      
      

      Jemand eine Idee was falsch läuft das die Verbindung auf „rot“ bleibt und die Instanz nicht „grün“ wird.

      haselchen W 2 Replies Last reply Reply Quote 0
      • haselchen
        haselchen Most Active @wendy2702 last edited by

        @wendy2702

        Wirklich nur ins Blaue gehauen....Websockets benutzen mal angehakt?

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

          @wendy2702 Vermutlich schließt das Python-Script aif dem PI einfach die Verbindung wieder, nachdem es seine Daten gesendet hat und macht beim nächsten Mal eine neue Verbindung auf? Wenn das das einzige Gerät ist, welches an den MQTT-Broker sendet, so ist es normal und gewollt, dass in der Instanz unten bei Verbindung wieder rot steht, da ja eben einfach keine Verbindung mehr besteht.

          Gruss, Jürge

          1 Reply Last reply Reply Quote 0
          • wendy2702
            wendy2702 @haselchen last edited by

            @haselchen sagte in MQTT Instanz —> Verbindung bleibt rot:

            @wendy2702

            Wirklich nur ins Blaue gehauen....Websockets benutzen mal angehakt?

            Haken rein oder raus ändert leider nichts.

            @wildbill sagte in MQTT Instanz —> Verbindung bleibt rot:

            @wendy2702 Vermutlich schließt das Python-Script aif dem PI einfach die Verbindung wieder, nachdem es seine Daten gesendet hat und macht beim nächsten Mal eine neue Verbindung auf? Wenn das das einzige Gerät ist, welches an den MQTT-Broker sendet, so ist es normal und gewollt, dass in der Instanz unten bei Verbindung wieder rot steht, da ja eben einfach keine Verbindung mehr besteht.

            Gruss, Jürge

            Sollte ich den disconnect nicht im log sehen?

            Da steht nur einmal das was ich gepostet habe und dann kommen nur noch die Daten.

            1 Reply Last reply Reply Quote 0
            • W
              Wildbill last edited by

              @wendy2702 Keine Ahnung, was da im Log stehen müsste. Aber wenn das das einzige Gerät ist, welches an diesen Broker sendet, dann ist es definitiv so.
              Kannst ja testen, wenn Du mal ein anderes Gerät, welches permanet sendet, an diesen Broker bindest. Dann sollte es grün bleiben. Irgendein Tasmota-Gerät oder Shelly oder so. Ist zu Testzwecken ja schnell wieder umgestellt.

              Gruss, Jürgen

              haselchen 1 Reply Last reply Reply Quote 0
              • haselchen
                haselchen Most Active @Wildbill last edited by

                @wildbill

                Habs in den Einstellungen nicht so schnell gefunden.
                Kann er die Verbindung nicht "künstlich" aufrecht erhalten?

                W 1 Reply Last reply Reply Quote 0
                • wendy2702
                  wendy2702 last edited by

                  Glaube ich habe das Problem gerade gefunden.

                  Die Instant lief mal als Client und da war dann eine IP eingetragen von der Gegenstelle. Diese scheint in der Config immer noch zu existieren:

                  
                  debug: mqtt.1 (963463) stateChange mqtt.1.info.clients.192_168_178_114: {"val":false,"ack":true,"ts":1737301419973,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1737150536081}
                  
                  

                  Das Gerät gibt es nicht mehr.

                  Selbst wenn ich die Instanz zurück auf Client/subscriber stelle, die IP lösche und neu starte taucht die danach wieder im log auf.

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

                    @haselchen Das macht ja nicht der MQTT-Broker im iobroker, sondern der Client (das Script hier) schließt halt die Verbindung. Und ohne laufende Verbindung ist dann der Status vom Adapter bei Verbindung eben rot, was ja den Tatsachen entspricht, wenn es der einzige Client sein sollte. Ist ja auch kein Fehler, sondern ein optischer Hinweis, der Adapter läuft ja, empfängt weiterhin Daten (da müsste er dann kurz grün anzeigen) usw.

                    Wenn man sowas nicht will, lässt man einen externen MQTT-Broker wie mosquitto laufen, auf dem alles ankommt, und der MQTT im iobroker läuft dann als Client und subscriped nur das, was benötigt wird.

                    @wendy2702 Keine Ahnung, wie Du das wegbekommst bzw. wo das noch gespeichert sein könnte. Vermutlich einmal Instanz komplett löschen und neu erstellen. Dann sind aber auch alle Datenpunkt unter mqtt.x erstmal weg...

                    Gruss, Jürgen

                    haselchen wendy2702 2 Replies Last reply Reply Quote 1
                    • haselchen
                      haselchen Most Active @Wildbill last edited by

                      @wildbill

                      Danke für die Erklärung!
                      Gleich mal im Hinterkopf speichern.

                      Meister Mopper 1 Reply Last reply Reply Quote 0
                      • Meister Mopper
                        Meister Mopper @haselchen last edited by

                        @haselchen sagte in MQTT Instanz —> Verbindung bleibt rot:

                        Gleich mal im Hinterkopf speichern.

                        Da wird es nicht lange verweilen (kleiner Gehirnspaß 😁 )

                        1 Reply Last reply Reply Quote 0
                        • wendy2702
                          wendy2702 @Wildbill last edited by

                          @wildbill sagte in MQTT Instanz —> Verbindung bleibt rot:

                          @wendy2702 Keine Ahnung, wie Du das wegbekommst bzw. wo das noch gespeichert sein könnte. Vermutlich einmal Instanz komplett löschen und neu erstellen. Dann sind aber auch alle Datenpunkt unter mqtt.x erstmal weg...

                          Genau das habe ich gemacht. Die alte IP ist jetzt weg.

                          Allerdings verstehe ich nicht warum die Verbindung nicht auf grün geht.

                          Sollte man im log nicht ein „unsubscribed“ oder ähnliches sehen wenn die Verbindung durch das Script getrennt wird?

                          W Homoran 2 Replies Last reply Reply Quote 0
                          • W
                            Wildbill @wendy2702 last edited by

                            @wendy2702 Wie gesagt, das weiss ich nicht. Ich habe den Loglevel bei mir für den MQTT-Broker im iobroker, den ich abseits von mosquitto für ein paar einfache Sensoren auch noch laufen habe, auf WARN gestellt, da er mir immer zu gesprächig war und mich die Meldungen da nicht interessieren. Wo nötig, überwache ich die Dazenpunkte direkt auf Aktualisierung und lasse mir ein Telegram schicken, wenn sie zu alt sind.

                            Ich kenne Dein Script auch nicht. Möglicherweise meldet es sich auch gar nicht sauber ab und sendet nur irgendwann einfach nix und der Adapter wird bei Verbindung rot. Aber dann würde ich bei normalem Log-Level eigentlich eher noch eine Meldung erwarten, als wenn es sich sauber abmeldet.
                            Geht er sofort nach Senden von Werten (also einer MQTT-Message) auf rot, oder dauert es etwas? Wenn Ersteres macht das Script vermutlich einfach sauber zu, bei Zweiterem wäre das dann wohl eher ein Timeout im Adapter. Aber da kenne ich mich nicht weiter aus damit.

                            @apollon77 Du bist auf Github beim MQTT als Contributor mit drin. Kannst Du eventuell kurz was zum erwarteten Verhalten bzw. Logging sagen?

                            Gruss, Jürgen

                            1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @wendy2702 last edited by

                              @wendy2702 sagte in MQTT Instanz —> Verbindung bleibt rot:

                              Sollte man im log nicht ein „unsubscribed“ oder ähnliches sehen wenn die Verbindung durch das Script getrennt wird?

                              ist denn eine last will message definiert?

                              1 Reply Last reply Reply Quote 0
                              • wendy2702
                                wendy2702 last edited by

                                @Wildbill : die Verbindung wird nie grün. Bleibt immer auf rot.

                                @Homoran : was für eine Message soll wo definiert sein?

                                Homoran 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @wendy2702 last edited by

                                  @wendy2702 sagte in MQTT Instanz —> Verbindung bleibt rot:

                                  was für eine Message soll wo definiert sein?

                                  ich hab ewig nichts mehr mit MQTT gemacht.
                                  So weit ich mich erinnere kann man bei jedem Cliebt eine Welcome-, und eine "last will" Message definietrn, die dann beim Auf- resp. Abbau der Verbindung an den Broker gesendet wird.

                                  Das wäre die von dir erwartete "bin weg" Meldung

                                  wendy2702 1 Reply Last reply Reply Quote 0
                                  • wendy2702
                                    wendy2702 @Homoran last edited by

                                    @homoran OK.

                                    Würde aber bedeuten das der Adapter selber im log nichts von einem disconnect schreibt oder merkt?

                                    Homoran BananaJoe 2 Replies Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @wendy2702 last edited by

                                      @wendy2702 kann ich dir leider nicht beantworten, ist zu lange her.

                                      1 Reply Last reply Reply Quote 0
                                      • BananaJoe
                                        BananaJoe Most Active @wendy2702 last edited by BananaJoe

                                        @wendy2702 wenn es dich wirklich so sehr stört, setze den Broker als externe Software auf, z.B. Mosquitto, und verbinde dich mit dem MQTT-Adapter als Client mit dem Mosquitto.
                                        Dann ist der Adapter immer grün (solange er den Mosquitto erreicht).
                                        Der Mosquitto ist nebenbei ungleich Leistungsfähiger. Bei nur einem Gerät ist das egal, aber vielleicht kommst du ja auf den Geschmack, ich mache wenn ich die Wahl habe alles über MQTT

                                        Das Verhalten das er ohne Client rot wird, haben andere Adapter auch, z.B. der Sonoff auch wenn kein Gerät sich damit verbindet.

                                        1 Reply Last reply Reply Quote 0
                                        • wendy2702
                                          wendy2702 last edited by

                                          @bananajoe sagte in MQTT Instanz —> Verbindung bleibt rot:

                                          wenn es dich wirklich so sehr stört,

                                          Ne, stört mich nicht sehr. Hätte ja sein können das es "einfach" zu lösen ist.

                                          Einen weiteren Server zum Pflegen will ich mir auf zeitlichen Gründen nicht mehr an tun. Bin gerade eher auf dem weg in die andere Richtung und versuche zu verschlanken.

                                          BananaJoe 1 Reply Last reply Reply Quote 0
                                          • BananaJoe
                                            BananaJoe Most Active @wendy2702 last edited by

                                            @wendy2702 der Mosquitto ist ja in den Quellen bei den gängigen Betriebssystemen (Debian, Ubuntu), wenn du das Betriebssystem aktualisierst, wird der Mosquitto auch gleich auf Stand gehalten, das ist also in dem Sinne keine Arbeit.
                                            Nach der Installation muss man einmal einen Benutzer + Passwort einrichten (bzw. sollte man), das ist eigentlich alles

                                            wendy2702 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

                                            914
                                            Online

                                            32.1k
                                            Users

                                            80.7k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            21
                                            939
                                            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