Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. MQTT - Grundlagen - Einrichtung - Apps

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

MQTT - Grundlagen - Einrichtung - Apps

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
mqtt
9 Beiträge 2 Kommentatoren 26.2k Aufrufe 7 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • smileS Offline
    smileS Offline
    smile
    schrieb am zuletzt editiert von smile
    #1

    Hallo liebes iobroker - Team,

    mqtt ist eine großartige Sache mit viel Potenzial meiner Ansicht nach. Klasse, dass es in iobroker den Adapter für Server als auch Client gibt.

    Ebenfalls gefreut habe ich mich über diese Anleitung von @Homoran
    Daraus lässt sich schon viel über die Adapter Einrichtung lernen.

    Generell fehlt es mir jedoch noch ein bisschen an Infos zu dem weiterführenden Arbeiten mit mqtt auf iobroker.

    Dazu gebe ich mein Szenario als Beispiel an und stelle an den entsprechenden Stellen Fragen dazu.

    1. Es ist ein iobroker mqtt server adapter installiert, welcher der zentrale mqtt Server in meinem Netzwerk darstellen soll.
    Einstellungen wie folgt
    instances - ioBroker - Mozilla Firefox 2019-07-24 00.12.07.png
    instances - ioBroker - Mozilla Firefox 2019-07-24 00.12.26.png

    2. Es ist auf dem selben System ein iobroker mqtt client adapter installiert, welcher dazu dienen soll alle benötigten daten aus dem iobroker in den mqtt server adapter zu bringen. Einstellungen wie folgt:
    instances - ioBroker - Mozilla Firefox 2019-07-24 00.14.40.png
    Hier wäre die erste Frage: Unter "Zusätzliche Subscriptions" stellt man Datenpunkte ein, die der Client abonnieren soll, korrekt? In dem Beispiel mit artnet/# soll der Artnet Adapter abonniert werden - ist das so korrekt eingetragen?
    Unter den Objekten werden die Art-Net States korrekt angezeigt (lediglich die individuell vergebenen Namen der Datenpunkte werden nur mit der ursprünglichen Art-Net Nummerierung angegeben).
    Verstehe ich richtig, dass Einträge hier eine reine Abonnierung sind? Denn ich kann wenn ich in artnet.0 etwas verändere, die Änderung in dem mqtt Client sehen, aber Änderungen im mqtt Client werden nicht an artnet.0 zurück übertragen.

    3. Machen wir mit den Einstellungen einen ersten Test mit einem simplen, selbst erstellten Testbutton (boolean, true/false). Dies sind die Einstellungen am Testbutton für den mqtt client:
    objects - ioBroker - Mozilla Firefox 2019-07-24 01.05.28.png
    Die Werte des Testbuttons tauchen korrekt in den Objekten des mqtt-clients auf und aktualisieren sich auch bei Änderung.

    4. Nun soll im Client ebenfalls eine Änderung des Testbuttons möglich sein und diese an den Testbutton selber gesendet werden. Mit folgenden Einstellungen am Testbutton im mqtt Client funktioniert das auch:
    objects - ioBroker - Mozilla Firefox 2019-07-24 01.08.23.png
    Wenn ich nun das exakt selbe vorgehen mit einem Homematic Taster versuche, funktioniert das nicht. Genauer gesagt kein 2-Wege Synchronisation. Es kommt lediglich vom Homematic Taster im mqtt client an, aber nicht umgekehrt. Was muss ich genau einstellen, damit ich aus dem mqtt Client den Homematic Taster (oder auch diverse andere Geräte) steuern kann?

    5. Der mqtt Broker soll alle Daten zentral abonnieren und publizieren.
    Als zentrale Schnittstelle soll der iobroker mqtt server nun zunächst einmal die Daten aus dem eigenen iobroker zentral verwalten können. Das bedeutet, alle Werte die ich abonniere sollen dort auftauchen und sich bei Änderungen aktualisieren - in beide Richtungen. Sprich wenn ich den Wert am Gerät änderen, als auch wenn ich den Wert im mqtt Server ändere. Eine Synchronisation also. Wie stelle ich das ein?
    objects - ioBroker - Mozilla Firefox 2019-07-24 00.27.23.png
    Es ist mir bisher nicht gelungen, ein Objekt aus iobroker in den iobroker-mqtt Server zu platzieren.

    6. Fallbeispiel MQTT - Android App
    Es gibt mittlerweile ein paar sehr interessante Android Apps, mit denen man - bei vernünftiger mqtt Einrichtung - diverse Geräte in iobroker steuern könnte. Ein Beispiel ist die App IoT MQTT Panel, es gibt aber auch noch ein paar andere.

    Die App habe ich wie folgt konfiguriert (IP Adresse des iobroker mqtt Servers eingetragen):
    Screenshot_20190724-012231_IoT MQTT Panel.jpg
    Habe dann in der App ein Licht Dimmer 0 - 100 hinzugefügt:
    Screenshot_20190724-012448_IoT MQTT Panel.jpg
    Und siehe da - er taucht im iobroker mqtt server auf, und aktualisiert sich in beide Richtungen innerhalb 1 Sek. !! :flushed:
    objects - ioBroker - Mozilla Firefox 2019-07-24 01.27.15.png
    Nun frage ich mich warum ist das nicht mit den iobroker - eigenen Werten möglich, bzw. was mache ich falsch?

    Mit solch einer mqtt App und einem zuverlässigem Sync mit den anderen iobroker States lassen sich ganz neue Ansätze für eine schnelle, responsive und hübsche Visualisierung für eine breite Anwendermasse realisieren.
    Einzige Vorraussetzung an dieser Stelle: MQTT.

    Ich bin euch für jede Hilfe in dieser Hinsicht dankbar und hoffe der Thread kann dann dem einen oder anderen auch noch in Sachen mqtt weiterhelfen. :v:


    io.broker @ debian @ virtualbox @ Windows 10 Pro / Node 18.17.1, npm 9.6.7 / CCU3 / IR.Trans Server / Daslight 4 / Mobotix IP Cams / Qnap NAS / Sonos /

    Mein Rolladen - Blockly: https://forum.iobroker.net/topic/6442/das-ultimative-markisen-rolladen-blockly-script

    1 Antwort Letzte Antwort
    1
    • smileS Offline
      smileS Offline
      smile
      schrieb am zuletzt editiert von
      #2

      Hey zusammen, gibts hier niemand der den MQTT Adapter nutzt?

      Falls doch läuft der bei euch problemlos?
      Mir wäre schon weitergeholfen wenn ich die simple Aufgabe bewältige, wie ich innerhalb Client und Broker in iobroker die MQTT States verändere und sie sich jeweils synchronisieren, mit Geräten von Homematic. Also wie in Punkt 4. beschrieben.
      Das wäre toll, ich danke euch.


      io.broker @ debian @ virtualbox @ Windows 10 Pro / Node 18.17.1, npm 9.6.7 / CCU3 / IR.Trans Server / Daslight 4 / Mobotix IP Cams / Qnap NAS / Sonos /

      Mein Rolladen - Blockly: https://forum.iobroker.net/topic/6442/das-ultimative-markisen-rolladen-blockly-script

      SBorgS 1 Antwort Letzte Antwort
      0
      • smileS smile

        Hey zusammen, gibts hier niemand der den MQTT Adapter nutzt?

        Falls doch läuft der bei euch problemlos?
        Mir wäre schon weitergeholfen wenn ich die simple Aufgabe bewältige, wie ich innerhalb Client und Broker in iobroker die MQTT States verändere und sie sich jeweils synchronisieren, mit Geräten von Homematic. Also wie in Punkt 4. beschrieben.
        Das wäre toll, ich danke euch.

        SBorgS Offline
        SBorgS Offline
        SBorg
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #3

        @smile sagte in MQTT - Grundlagen - Einrichtung - Apps:

        Falls doch läuft der bei euch problemlos?

        Jepp :)
        Dein eigentliches, oder auch Hauptproblem, ist, dass du dem MQTT etwas "andichten" möchtest für das es eigentlich nicht entwickelt/gedacht ist.
        MQTT basiert rein auf publishen (veröffentlichen) und subscriben (abonnieren). Als Beispiel soll eine Pinnwand dienen. Ich hänge da jetzt einen Zettel dran (publishe) "Äpfel zu verschenken". Die Pinnwand schickt dir nun eine Meldung "Es gibt was neues..." Weiter passiert erst mal nix. Erst wenn du jetzt an die Pinnwand gehst, kannst du meinen Zettel lesen (abonnieren).

        Deswegen klappt das auch mit dem sync bei dir nicht. Dazu müsstet du immer Server/Client auch subscriben/publishen.
        Das kann der ioB aber viel besser und effektiver als dass man dies mittels MQTT abbilden möchte.

        MQTT nutzt man eigentlich, um bspw. einen Sensorwert/Schaltzustand etc. zu übermitteln oder einen Befehl zu senden.
        Typisch: Client publisht z.B. einen Temperaturwert + den Schaltzustand eines Relais (Funksteckdose mit Temperatursensor) und subscribt den Befehl "Relais schalten". Dann kann ich im Server die Temperatur ablesen + das Relais schalten. Dies wird dann üblicherweise im ioB weiterverarbeitet wie zB. in der VIS. Für Homematic nimmt man einfach den Adapter dafür, der kann das viel besser als sich hier selbst mit MQTT zu quälen, denn MQTT ist hier nur QoS 0, d.h. "fire and forget". Der Schaltbefehl wird also nur einmal abgesetzt ohne zu prüfen ob er überhaupt ankam...

        Bei der Android-App funktioniert es deswegen, da hier die App wohl automatisch jeden Topic der gepublisht wird auch subscribed.

        LG SBorg ( SBorg auf GitHub)
        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

        smileS 1 Antwort Letzte Antwort
        2
        • SBorgS SBorg

          @smile sagte in MQTT - Grundlagen - Einrichtung - Apps:

          Falls doch läuft der bei euch problemlos?

          Jepp :)
          Dein eigentliches, oder auch Hauptproblem, ist, dass du dem MQTT etwas "andichten" möchtest für das es eigentlich nicht entwickelt/gedacht ist.
          MQTT basiert rein auf publishen (veröffentlichen) und subscriben (abonnieren). Als Beispiel soll eine Pinnwand dienen. Ich hänge da jetzt einen Zettel dran (publishe) "Äpfel zu verschenken". Die Pinnwand schickt dir nun eine Meldung "Es gibt was neues..." Weiter passiert erst mal nix. Erst wenn du jetzt an die Pinnwand gehst, kannst du meinen Zettel lesen (abonnieren).

          Deswegen klappt das auch mit dem sync bei dir nicht. Dazu müsstet du immer Server/Client auch subscriben/publishen.
          Das kann der ioB aber viel besser und effektiver als dass man dies mittels MQTT abbilden möchte.

          MQTT nutzt man eigentlich, um bspw. einen Sensorwert/Schaltzustand etc. zu übermitteln oder einen Befehl zu senden.
          Typisch: Client publisht z.B. einen Temperaturwert + den Schaltzustand eines Relais (Funksteckdose mit Temperatursensor) und subscribt den Befehl "Relais schalten". Dann kann ich im Server die Temperatur ablesen + das Relais schalten. Dies wird dann üblicherweise im ioB weiterverarbeitet wie zB. in der VIS. Für Homematic nimmt man einfach den Adapter dafür, der kann das viel besser als sich hier selbst mit MQTT zu quälen, denn MQTT ist hier nur QoS 0, d.h. "fire and forget". Der Schaltbefehl wird also nur einmal abgesetzt ohne zu prüfen ob er überhaupt ankam...

          Bei der Android-App funktioniert es deswegen, da hier die App wohl automatisch jeden Topic der gepublisht wird auch subscribed.

          smileS Offline
          smileS Offline
          smile
          schrieb am zuletzt editiert von
          #4

          @SBorg Vielen Dank für deine Antwort!

          Okay, das ist natürlich sehr schade. Weil sonst würde MQTT als Schnittstelle zwischen iobroker und vielen anderen interessanten Systemen fungieren können, wie z.B. der im Beispiel genannten App. Man hätte per Sofort eine Vielzahl an responsiven Visualisierungs / Steuerungsmöglichkeiten für iobroker.

          Du sprichst aber davon dass ein Sync, also wenn immer server/Client auch subscriben/publishen, möglich wäre, verstehe ich das richtig?

          Und unabhängig von der Funktion die ich MQTT andichten möchte - Die Funktion dass ich die states die ich in einem MQTT Client sammle, ich diese auch im MQTT Broker wiederfinde müsste doch eigentlich normal funktionieren oder?
          Verrückterweise klappt das ja nur mit einer externen App, welche Werte auf den iobroker MQTT Broker publisht und auch von dort abonniert.
          Aber warum klapt das innerhalb iobroker nicht oder wie könnte ich das lösen?

          Danke für deine Hilfe.


          io.broker @ debian @ virtualbox @ Windows 10 Pro / Node 18.17.1, npm 9.6.7 / CCU3 / IR.Trans Server / Daslight 4 / Mobotix IP Cams / Qnap NAS / Sonos /

          Mein Rolladen - Blockly: https://forum.iobroker.net/topic/6442/das-ultimative-markisen-rolladen-blockly-script

          1 Antwort Letzte Antwort
          0
          • smileS Offline
            smileS Offline
            smile
            schrieb am zuletzt editiert von
            #5

            Ich bin weitergekommen.
            Es funktioniert nun folgendes:
            Iobroker mqtt Client publiziert an Iobroker mqtt Server und umgekehrt.
            Mittels Blockly Script synchronisere ich die Werte aus der MQTT Android-App.

            Folgende Vorgehensweise habe ich gemacht:
            MQTT Server und Client adapter deinstalliert und wieder neu installiert, komplett neu eingerichtet.
            Folgende Einrichtungen in Broker und Client habe ich getroffen:
            Server 1.png

            server 2.png

            client 1.png

            Folgendes habe ich bei den States abonniert (indem Beispiel ein Homematic Dimmer):
            Objekte.png

            Und so sieht das Blockly für das synchronisieren der iobroker-mqtt States mit den States aus der Android App:
            Script Binden.png

            So lässt sich iobroker theoretisch mit einer Vielzahl von Apps verknüpfen. Ich werde das nun mal weiter ausbauen und testen.


            io.broker @ debian @ virtualbox @ Windows 10 Pro / Node 18.17.1, npm 9.6.7 / CCU3 / IR.Trans Server / Daslight 4 / Mobotix IP Cams / Qnap NAS / Sonos /

            Mein Rolladen - Blockly: https://forum.iobroker.net/topic/6442/das-ultimative-markisen-rolladen-blockly-script

            1 Antwort Letzte Antwort
            0
            • SBorgS Offline
              SBorgS Offline
              SBorg
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #6

              ...und das meinte ich mit "andichten". Der MQTT kann es einfach nicht (weil nicht vorgesehen) und man muss auf Blockly, JS, Node-RED etc. zurückgreifen.

              LG SBorg ( SBorg auf GitHub)
              Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

              smileS 1 Antwort Letzte Antwort
              0
              • SBorgS SBorg

                ...und das meinte ich mit "andichten". Der MQTT kann es einfach nicht (weil nicht vorgesehen) und man muss auf Blockly, JS, Node-RED etc. zurückgreifen.

                smileS Offline
                smileS Offline
                smile
                schrieb am zuletzt editiert von
                #7

                @SBorg Da verstehst du das Blockly Script glaube ich etwas falsch. Das Synchronisiert keine MQTT States miteinander, sondern die States aus der Android-App welche diese automatisch generiert mit MQTT States aus iobroker.

                Die von mir angesprochene gewünschte Synchronisation wäre für iobroker-interne States gedacht, bei denen sich der iobroker-mqtt client mit dem iobroker-mqtt Server synchronisiert, was ja mit den oben gezeigten Einstellungen ja glücklicherweise auch funktioniert.


                io.broker @ debian @ virtualbox @ Windows 10 Pro / Node 18.17.1, npm 9.6.7 / CCU3 / IR.Trans Server / Daslight 4 / Mobotix IP Cams / Qnap NAS / Sonos /

                Mein Rolladen - Blockly: https://forum.iobroker.net/topic/6442/das-ultimative-markisen-rolladen-blockly-script

                1 Antwort Letzte Antwort
                0
                • SBorgS Offline
                  SBorgS Offline
                  SBorg
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #8

                  Du führst ein binding von OBJ1 mit OBJ2 durch. Wenn sich also OBJ1 ändert, ändert dies auch automatisch OBJ2, zumindest soweit meine Blockly-Kenntnisse. Du "erzwingst" also quasi ein publish/subscribe wo dein Device keines hergibt. Das ist auch nicht schlimm, nur, und darum geht es eigentlich, kannst du das beim MQTT nicht einstellen (was du aber quasi als Fehler von dir vermutet hattest). Du hast so gesehen nix falsch gemacht, nur der MQTT kann das nicht bzw. ist es nicht vorgesehen was du eigentlich möchtest. Das muss eigentlich der Client realisieren (oder mit etwas externer Hilfe dann der MQTT-Broker ^^).

                  LG SBorg ( SBorg auf GitHub)
                  Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                  1 Antwort Letzte Antwort
                  0
                  • smileS Offline
                    smileS Offline
                    smile
                    schrieb am zuletzt editiert von
                    #9

                    Ich bin froh das es nun so funktioniert und dein Post hat mir den Anstoß gegeben das alles nochmal so auszutesten.
                    Vielleicht hilft es ja auch dem einen oder anderen weiter.


                    io.broker @ debian @ virtualbox @ Windows 10 Pro / Node 18.17.1, npm 9.6.7 / CCU3 / IR.Trans Server / Daslight 4 / Mobotix IP Cams / Qnap NAS / Sonos /

                    Mein Rolladen - Blockly: https://forum.iobroker.net/topic/6442/das-ultimative-markisen-rolladen-blockly-script

                    1 Antwort Letzte Antwort
                    0
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

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

                    806

                    Online

                    32.4k

                    Benutzer

                    81.6k

                    Themen

                    1.3m

                    Beiträge
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Anmelden

                    • Du hast noch kein Konto? Registrieren

                    • Anmelden oder registrieren, um zu suchen
                    • Erster Beitrag
                      Letzter Beitrag
                    0
                    • Home
                    • Aktuell
                    • Tags
                    • Ungelesen 0
                    • Kategorien
                    • Unreplied
                    • Beliebt
                    • GitHub
                    • Docu
                    • Hilfe