Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. MQTT Server oder/und Client oder externen MQTT Server

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    MQTT Server oder/und Client oder externen MQTT Server

    This topic has been deleted. Only users with topic management privileges can see it.
    • Joachim H.
      Joachim H. @mickym last edited by

      @mickym also nochmal damit ich es richtig verstanden habe.
      Ich nehm den Client aus dem client/broker paket weil der aktueller ist als der "nur" client...
      Ich installiere, ähnlich wie bei Domoticz Mosquito irgendwo (oh auf dem Raspi wo iobroker drauf ist...und verwende den als Broker..
      Alles klaro
      Mal sehen wie das so läuft..

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Joachim H. last edited by

        @joachim-h Ja so läuft das bei mir nun seit einem Jahr super stabil. Also mosquitto auf den Raspi wo der iobroker drauf ist und dann den Adapter mit dem Client/Broker als Client auf den mosquitto.

        Du musst nur aufpassen, dass Du keine anderen Adapter nutzt die auch einen mqtt-Broker darstellen, wie sonoff-Adapter etc. . Falls Du diese Adapter anstelle orginärem mqtt nehmen willst, dann musst die halt auf andere Ports legen. Meines Erachtens braucht man diese Adapter aber dann nicht, wenn man mit reinem mqtt arbeitet.

        Joachim H. 1 Reply Last reply Reply Quote 0
        • Joachim H.
          Joachim H. @mickym last edited by Joachim H.

          @mickym

          Tja das wahr wohl nix. MQTT adapter deinstalliert und dann als Client neu installiert.
          Mosquitto broker und nur den (also ohne Clients) dann auf den Rapsberry installiert. aber leider geht es nicht.
          Der Adapter bleibt gelb, obwohl der Test sagt er wäre verbunden. Beim ersten starten hat der Adapter noch wild grün und gelb geblinkt und sich ständig reconnected:
          Mosquitto -v
          1616193141: mosquitto version 1.5.7 starting
          1616193141: Using default config.
          1616193141: Opening ipv4 listen socket on port 1883.
          1616193141: Error: Address already in use <==== schätze ds ist ipv6?
          Ich hatte vorher unter Domoticz einen Mosquitto Broker laufen, mit dem hat er sich einwandfrei verbunden aber das kann ja auch keine Lösung sein.
          Weis jemand ob das an der Mosquitto version liegt?
          So war der Adapter besser.

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Joachim H. last edited by

            @joachim-h Das ist kein Problem .- Du wirst wahrscheinlich einen Adapter laufen haben, der bereits den mqtt Port nutzt (sonoff oder was weiß ich). Einfach den Port ändern bleibt Dir überlassen entweder vom welchem Adapter oder vom mosquitto.

            Ich empfehle dann eher den vom Adapter der diesen Port nutzt zu ändern - damit mosquitto auf dem Standardport arbeiten kann. Ansonsten kannst Du auch einfach den port vom Mosquitto ändern.

            Der Adapter bleibt solange gelb, solange nicht verbunden.

            Joachim H. 1 Reply Last reply Reply Quote 0
            • Joachim H.
              Joachim H. @mickym last edited by Joachim H.

              @mickym said in MQTT Server oder/und Client oder externen MQTT Server:

              Naja ich habe einige Sonoffs mit ESP Easy bzw auch ein paar mit Tasmota drauf nur die sind doch Clients und keine Broker...ich steh grad aufm Schlauch.

              Edit: jetzt ist er grün geworden, ich habe beim Client Adapter alle Häkchen raus gemacht.....

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Joachim H. last edited by mickym

                @joachim-h Der Sonoff Adapter agiert als mqtt broker das ist das Problem. Also entweder Du änderst den Port des Adapters oder des mosquitto.
                Nein der Sonoff Adapter arbeitet mit Tasmota.

                Geh mal in /etc/mosquitto oder /etc/mosquitto/conf.d

                Da findest Du eine Konfigurationsdatei - um den Port des mosquitto Servers zu ändern.

                Da steht dann.

                listener 1883
                

                Ich würde zwar eher den Port vom Adapter ändern - das ist aber erst mal wohl mit mehr Aufwand verbunden. Aber ein Tod musst Du sterben, es können nicht beide auf dem gleichen Port laufen.

                mosquitto läuft auf ipv6 und auf ipv4 problemlos neben dem iobroker. Wie gesagt manche Adapter belegen den Port .

                mach halt mal auf Kommandozeile:

                sudo netstat -l -p
                

                Wenn bei Dir

                tcp        0      0 0.0.0.0:1883            0.0.0.0:*               LISTEN      675/mosquitto
                tcp        0      0 localhost:42819         0.0.0.0:*               LISTEN      834/perl
                tcp        0      0 localhost:9000          0.0.0.0:*               LISTEN      685/iobroker.js-con
                tcp        0      0 localhost:9001          0.0.0.0:*               LISTEN      685/iobroker.js-con
                tcp        0      0 0.0.0.0:8083            0.0.0.0:*               LISTEN      834/perl
                tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN      709/sshd
                tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN      405/cupsd
                tcp6       0      0 [::]:1883               [::]:*                  LISTEN      675/mosquitto
                

                statt mosquitto halt iobroker steht, dann ist das ein Adapter.

                Joachim H. 1 Reply Last reply Reply Quote 0
                • Joachim H.
                  Joachim H. @mickym last edited by Joachim H.

                  @mickym
                  Ok ich schaus mir morgen mal an.
                  Ich habe aber keine Sonoffs mit Original Firmware, es ist immer entweder Tasmota oder ESPEasy drauf. Du meinst sicher die Original Firmware Sonoffs, die laufen bei mir nicht und sind es auch nie.

                  Einzig ein Arilux (MAgic Home) adapter läuft bei mir im Haus, der hat die Original Software drauf aber bei Domoticz ist mir nie aufgefallen das es da Probleme gab.
                  Ich will halt ungern den Standard port ändern zumal es vorher ja mit dem Broker Adapter einigermassen gelaufen ist..

                  Bildschirmfoto vom 2021-03-20 00-05-05.png

                  Schaut so aus als würde einfach nur Mosquitto laufen...i

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Joachim H. last edited by mickym

                    @joachim-h Ja das schaut gut aus.

                    Ansonsten das mit dem Bild einfach den Text zwischen die CodeTags kopieren:

                    </>

                    1c227dcf-0ae3-4448-91ae-37f98246a28f-image.png

                    d94a0652-dc04-4b38-abcd-14e0660894c0-image.png

                    Joachim H. 1 Reply Last reply Reply Quote 0
                    • Joachim H.
                      Joachim H. @mickym last edited by

                      @mickym
                      So erstmal Danke, ich hab derzeit nur eine Tasmota Steckdose dran aber da fehlen mir ein paar Einträge die vorher da waren, also cmd Einträge damit ich schalten kann. seis drum schau ich mir morgen an und werde berichten 😉 Soweit so gut..

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @Joachim H. last edited by mickym

                        @joachim-h
                        Ja wenn die sich nicht selbst melden - dann muss man die Datenpunkte entweder selbst anlegen oder man nutzt (unter Windows) den Tasmota Device Manager

                        f6806756-6ef4-4076-a70c-7b44287bb2a4-image.png

                        da werden so gut wie alle Punkte angelegt. 😉

                        aber sehe gerade - auch nicht alle. Bei dem screenshot fehlt der backlog Punkt - den ich woanders drin habe.

                        Joachim H. 1 Reply Last reply Reply Quote 0
                        • Joachim H.
                          Joachim H. @mickym last edited by Joachim H.

                          @mickym
                          Sodala, also die 4 Tasmota switches die ich habe sind drin und soweit klappt alles eigentlich. Die lassen sich auch schalten.
                          Sorgen machen mir meine ESPEasy, die sind relativ zickig was MQTT angeht, bzw sehr restriktiv. das Muss ich mir nochmal genauer anschauen. Die Datenpunkte, wie Temperatur oder sowas übermitteln die auch aber das schalten geht über Rules und die zugehörigen MQTT Topics werden einfach nicht angelegt...
                          Gibt es eigentlich auch die Möglichkeit http/get commands zu versenden? ICh habs über ein Skript gelöst aber gibts da nen Adapter?
                          Wichtiger: Wie geht denn das mit den Datenpunkten selbst anlegen?

                          Und danke nochmal für Deine Hilfe..

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @Joachim H. last edited by

                            @joachim-h sagte in MQTT Server oder/und Client oder externen MQTT Server:

                            Datenpunkte, wie Temperatur oder sowas übermitteln die auch aber das schalten geht über Rules und die zugehörigen MQTT Topics werden einfach nicht angelegt...

                            Das macht aber nichts - das hatte ich glaub schon erwähnt - Du kannst alle mqtt Punkte selbst anlegen. Bei mir ging das etwas durch den Tasmota Device Manager - aber das spielt keine Rolle.

                            Einfach unter Deinem cmnd Ast die Datenpunkte Rule1-3 anlegen (s. Screenshot).

                            a333bf9d-8284-435f-b9c0-ed7cc109bfe3-image.png

                            Grundsätzlich kannst Du http get Kommandos über Skript, Blockly (denke habe ich auch gesehen) und NodeRed (nutze ich) absenden. Brauchst Du aber nicht, weil Du wie gesagt alle benötigten Punkte Dir selbst anlegen kannst.

                            Hier hast Du auch nochmal die Anleitung:

                            https://tasmota.github.io/docs/Commands/

                            Joachim H. 1 Reply Last reply Reply Quote 0
                            • Joachim H.
                              Joachim H. @mickym last edited by

                              @mickym so ich hab mich bei dem Sauwetter mal länger beschäftigt. in ESPeasy ist MQTT etwas gefrickel aber wenn man es mal geschnallt hat dann gehts schon.
                              Hab die Datenpunkte (nennt man die so?) mit dem Mqtt Explorer angelegt. So habe ich auch schön gesehen was da gesendet wird und wie es ankommt und der iobroker hat dann den Datenpunkt einfach angelegt...praktisch irgendwie.
                              Die Anleitung hat da sehr gut geholfen... 🙂

                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @Joachim H. last edited by

                                @joachim-h Wenn Du den mqtt Adapter so eingestellt hast, wie ich, dann werden die Datenpunkte, die Du in der mqtt-Instanz des Clients im iobroker anlegst auch im mosquitto angelegt - das kannst ja mit Deinem Mqtt Explorer mal prüfen und dann kann man auf diesen verzichten. 😉

                                Du kannst dann generell auf die Datenpunkte direkt in iobroker mittels Deiner präferierten Logikmaschine zugreifen oder falls Deine Logikmaschine (wie Node Red) auch direkt einen mqtt-Broker ansprechen kann auf zweierlei Art und Weise.

                                Joachim H. 1 Reply Last reply Reply Quote 0
                                • Joachim H.
                                  Joachim H. @mickym last edited by

                                  @mickym Mal sicherheitshalber: Ich habe auf dem Raspberry wo iobroker drauf ist nur den Mosquitto server installiert. nicht den Client. Allerdings hab ich den Client aus dem Adapter vom iobroker broker/client installiert. Das ist schon ok oder?
                                  Node Red nimmt aber schon den Mosquitto her, Port und Ip ist ja identisch zu vorher..oder wo kann man das einstellen?

                                  Node Red habe ich auch asl adapter vom iobroker, erschien mir einfach. Das ist ok oder soll ich den auch auf den Raspberry (ohne den Umweg über den Adapter) installieren?

                                  Ausserdem hab ich mich zufrüh gefreut, er legt mir nicht jeden Datenpunkt mit dem Mqtt explorer an, also muss ich mich mal mit Node Red mehr vertraut machen..

                                  mickym 2 Replies Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @Joachim H. last edited by mickym

                                    @joachim-h

                                    1. Ja es ist OK nur den mosquitto Server zu installieren, die Clients brauchst Du nicht, dafür hast Du den Adapter.
                                    2. Klar mit dem MQTT iobroker client/server adapter kannst Du, wenn Du den mqtt Adapter als Client konfiguriert hast (siehe mein Screenshot) direkt modifizieren. Der Adapter dient also als mqtt Client.
                                    3. Node Red als Adapter ist sogar wichtig, sonst kannst Du aus NodeRed gar nicht auf die Datenpunkte Deines iobrokers zugreifen.
                                    4. Wie gesagt wenn Du unter der mqtt-Instanz Deines mqtt-Adapters (also in den Objekten unter mqtt.0) selbst einen Datenpunkt anlegst, dann wird der auch zu Deinem mosquitto Broker/Server gepublisht.
                                      So kannst Du direkt aus dem iobroker an Deine Geräte Kommandos schicken.

                                    Wie gesagt iobroker ist flexibel welche Logikmaschine Du verwenden willst. Wenn Du blockly oder Javascript bevorzugst, kannst Du die Datenpunkte unter Deinem mqtt.0. instanz modifizieren.
                                    Ich bevorzuge Node Red - da hast Du die iobroker-out Nodes um auch direkt die Datenpunkte im iobroker zu modifizieren.
                                    Ansonsten hast Du die mqtt Nodes in Node Red - dann musst Du die Kommunikationsparameter zum mosquitto Server eintragen.

                                    Ich zeige Dir mal 2 Screenshots:

                                    im iobroker-out Node gibst Du den Datenpunkt in der iobroker Notation im Topic an:

                                    804b0688-9dbd-4e29-9404-17dd1e25160d-image.png

                                    Bei den mqtt - out Nodes

                                    konfigurierst Du Dir den iobroker den kontaktieren willst und gibst auch noch das Topic an:

                                    bd0746e7-a5f2-480a-9712-3ce7550ae44a-image.png

                                    Falls Du im Node Red noch keinen mqtt Broker definiert hast, wirst Du automatisch auf den folgenden Dialog geleitet:

                                    screen.png

                                    1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @Joachim H. last edited by mickym

                                      @joachim-h sagte in MQTT Server oder/und Client oder externen MQTT Server:

                                      Node Red nimmt aber schon den Mosquitto her, Port und Ip ist ja identisch zu vorher..oder wo kann man das einstellen?

                                      Nun es kann nur ein mqtt / Server / Broker auf dem gleichen Port auf der gleichen Maschine laufen. Falls Du also nichts anderes laufen hast, kann nur mosquitto auf Port 1883 hören.

                                      Im Übrigen gibst Du sowohl bei mqtt-Client Adapter, als auch bei Node Red einen Namen angeben, um jeden mqtt Client zu identifizieren.

                                      Auf Deiner Maschine findest Du im Verzeichnis /var/log/mosquitto die aktuelle mosquitto.log Datei - da siehst Du genau welche Geräte sich mit welcher Kennung und IP mit Deinem mosquitto Broker verbinden.

                                      Aber nochmal Du brauchst Node Red nicht, um Datenpunkte im mosquitto anzulegen!

                                      Das machst Du einfach mit den Datenpunkten im iobroker. Ausserdem wundert mich, warum es mit Deinem mqtt Exploerer nicht gegangen ist. Sollte ebenfalls funktionieren.

                                      Joachim H. 1 Reply Last reply Reply Quote 0
                                      • Joachim H.
                                        Joachim H. @mickym last edited by

                                        @mickym also Node Red habe ich gerade noch konfiguriert, läuft soweit.
                                        Ich hab den iobroker neu gestartet (eigentlich musste ich den Raspberry neu starten) und plötzlich waren die Datenpunkte da. Egal, ich werd mich jetzt in Node Red einarbeiten, das hab ich bei Domoticz eher stiefmütterlich behandelt...
                                        Danke für deine Hilfe, ist echt hilfreich ;-)vor allem die Screenshots

                                        mickym 1 Reply Last reply Reply Quote 0
                                        • mickym
                                          mickym Most Active @Joachim H. last edited by

                                          @joachim-h
                                          Dann empfehle ich in der NodeRed Adapter Konfiguration als erstes den Haken rauszumachen - dass alles in Strings umgewandelt wird. Das erspart Dir später eine Menge Konvertiererei. 😉

                                          4efed36a-40b0-42e0-952b-13a354f9d654-image.png

                                          1 Reply Last reply Reply Quote 0
                                          • Joachim H.
                                            Joachim H. last edited by

                                            @mickym Hab ich gleich gemacht...weil ich das Problem hatte das node red immer exit with 1 im Log angezeigt hat.
                                            Ohne haken hats ne Sekunde länger gedauert und er hat die Verbindung mit dem Server verloren.
                                            Da werd ich mich aber morgen auf die Suche machen.

                                            Bildschirmfoto vom 2021-03-21 23-53-40.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            760
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            55
                                            9430
                                            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