Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Einbindung von Geräten
    5. MQTT Schwierigkeiten mit verschiedenen Adaptern

    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

    MQTT Schwierigkeiten mit verschiedenen Adaptern

    This topic has been deleted. Only users with topic management privileges can see it.
    • ?
      A Former User last edited by A Former User

      ...........................................

      ? 1 Reply Last reply Reply Quote -1
      • ?
        A Former User @Guest last edited by

        @stefan247

        Fehlt irgendwie ein Broker der den Datenverkehr regelt.

        ? 1 Reply Last reply Reply Quote 0
        • ?
          A Former User @Guest last edited by A Former User

          .................................

          T 1 Reply Last reply Reply Quote -1
          • Armilar
            Armilar Most Active Forum Testing last edited by

            @stefan247

            Laufen die Instanzen unter unterschiedlichen Ports? Standardmäßig sind beide auf Port 1883 eingestellt. Falls ja, eine von den Adapterinstanzen auf einen anderen Port (z.B. 1886) umstellen. Dann die gewählte Portnummer ebenfalls in der Tasmota oder Shelly GUI umstellen...

            ? 1 Reply Last reply Reply Quote 0
            • ?
              A Former User @Armilar last edited by A Former User

              .....................................

              Armilar 1 Reply Last reply Reply Quote -1
              • Armilar
                Armilar Most Active Forum Testing @Guest last edited by Armilar

                @stefan247

                Jede Adapter-Instanz, die ein Pseudo MQTT durchführt "muss" einen separaten Port haben.

                Beispiel:
                Shelly-Adapter: 1882
                Sonoff-Adapter: 1883
                MQTT-Adapter: 1886 (nutzt zwei Ports, falls Broker)

                Falls eine weitere Instanz des gleichen Adapter, dann wieder eine neue Nummer

                Beispiel
                mqtt.0 1886
                mqtt.1 1888

                Einfach mal in der Adapter-Instanz und in der WebGUI des Devices konfigurieren. Ansonsten auch mal die Büchse durchstarten.

                ? 1 Reply Last reply Reply Quote 0
                • T
                  ticaki Developer @Guest last edited by

                  @stefan247
                  Nicht 1 Adapter steuern alle geräte sondern sonoff für Tasmota, shelly für shelly und mqtt für das wofür es keinen anderen Adapter gibt.

                  1 Reply Last reply Reply Quote 0
                  • ?
                    A Former User @Armilar last edited by A Former User

                    ...........................................

                    ? mickym 2 Replies Last reply Reply Quote 1
                    • ?
                      A Former User @Guest last edited by

                      @stefan247 sagte in MQTT Schwierigkeiten mit verschiedenen Adaptern:

                      Mir war nicht bewusst, dass MQTT von den drei Adaptern nicht "richtig" miteinander kommunizieren. Dachte über den MQTT- Adapter würden Sonoff (Tasmota) und Shelly miteinander sprechen

                      Moin,

                      bin kein MQTT Experte und vielleicht ist es nicht ganz korrekt, aber so verstehe ich das.

                      In ioBroker geschieht die Kommunikation über die Datenpunkte, die Adapter sonoff, Shelly, Zigbee2MQTT bauen einen eigenen Broker zum Publishen/Subscriben auf.

                      Dann gibt es noch die Möglichkeit einen eigenen MQTT Broker, entweder als externen Server, mit Moaquitto, EMQX oder eben mqtt-Adapter im ioBroker aufzubauen.

                      Hier mal eine Grafik:
                      c40a9eda-c2aa-4fd5-b6d5-b27cb4035085-grafik.png
                      Geräte veröffentlichen (publish) Daten, die an den Broker weitergegeben werden, hier z. B. die Temperatur, der Broker nimmt die Daten an und stellt sie dann in eine Queue, Anzeigegeräte, oder andere Adapter, können dann beim Broker, diese Daten abonnieren.

                      Ist jetzt sicherlich ziemlich verkürzt, da gibt es aber denke ich genug Information im WWW.

                      VG
                      Bernd

                      1 Reply Last reply Reply Quote 1
                      • mickym
                        mickym Most Active @Guest last edited by mickym

                        @stefan247 Ich kann den Post von @dp20eic nur unterstreichen. Gut kommunizieren müssen die Adapter ja nicht, aber wer alles unter einem Hut haben möchte, der installiert EINEN mqtt-Broker und gewöhnt sich an, mit JSON Strings zu hantieren. Das mag auf den ersten Blick unkomfortabler erscheinen, hat aber in der Praxis Vorteile, wenn man mehrere Informationen in EINEM Objekt hat. Ich empfehle zudem mosquitto als externen Broker zu verwenden, da der mqtt-Adapter als Broker manchmal Probleme macht und dann den mit dem mqtt-Adapter als Client zu betreiben und alle topics mit # einzubinden (zu abonnieren oder auf Denglisch zu subscriben) .

                        Der Zigbee2MQTT Adapter ist EINE rühmliche Ausnahme, da er auch die Interpretation der topics über einen externen mqtt-Broker zulässt und nicht wie die anderen Adapter einen Broker simuliert.
                        Bei allen anderen Adaptern (sonoff, etc... ) werdet ihr immer das Problem haben, dass diese nur so gut funktionieren, solange sie die topics die von den Geräten geliefert werden, verstehen und interpretieren können. Außerdem kann man sich an die Dokumentation des Herstellers halten.

                        Bei mir sind alle Systeme die mqtt sprechen dann unter einem Adapter mit Standardport 1883 eingebunden. Ein welches Gerät kommuniziert spricht über welchen Port mqtt gibt es somit nicht.

                        d44c04ab-9036-4b67-a473-ab55510a7e42-image.png

                        Zu dem kann man wenn man nicht den sonoff Adapter nutzt auch die topics/prefix Kombination frei anpassen:
                        597caa3f-bd73-4070-8bf6-0330bea3c5e9-image.png
                        So hat man unter jedem Gerät eigene cmnd, stat und tele Äste. Selbst hier hat man die Möglichkeit über das topic hierarchische Strukturen aufzubauen, wie ich es sonst bei den anderen Geräten gemacht habe. Also erst Gerätetyp, dann Raum und dann Gerät selbst. Und auch wenn ich mir hier keine Freunde mache, der SONOFF Adapter ist KEIN Mqtt Adapter, sonder simuliert einen Mqtt Broker. Der einzige iobroker-Adapter, der nativ die Informationen so ausgibt, wie sie vom Gerät geliefert werden, ist der MQTT-Adapter.

                        Auch bei Shellies oder Zigbee2mqtt kann man die topics frei strukturieren - was mit den Adapter nicht geht:
                        98b96b3f-afed-4a75-8197-827ae9d20cd0-image.png

                        Wie gesagt man sollte sich halt etwas mit Objekten und JSON beschäftigen, was aber KEIN Hexenwerk ist.

                        ? 1 Reply Last reply Reply Quote 0
                        • ?
                          A Former User @mickym last edited by A Former User

                          .......................................

                          T mickym 2 Replies Last reply Reply Quote 0
                          • T
                            ticaki Developer @Guest last edited by ticaki

                            @stefan247

                            Wenn du alles auf Mqtt abgestimmt hast ist es kein Hexenwerk, wenn du mit allem anfängst irgendwie schon 🙂

                            Ich benutze alles und werde mir unter alias.0 mit der Zeit eine ordentliche Struktur aufbauen der es dann egal ist ob ich davor mqtt, einen adapter oder ein Skript habe. Bis dato hab ich das nicht ordentlich sortiert, aber da jetzt langsam mal dieses oder jenes Gerät den Geist auf gibt, ist es dann doch schön einen Datenpunkt zu haben der nur ein Link ist.

                            1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @Guest last edited by

                              @stefan247 Also das sind alles Objekte. Auf eine Eigenschaft in einem Attribut eines Objektes greifst Du über Blockly mit dem Attribut zu. Du kannst auch eine Eigenschaft über einen Alias extrahieren:

                              https://forum.iobroker.net/post/980575

                              In dem Beitrag habe ich beschrieben wie Du über einen Alias eine Eigenschaft extrahiertst.

                              Ich glaube @ticaki hat sogar ein Javascript geschrieben -um aus einem JSON einzelne Datenpunkte zu machen. Ich habe einen Subflow in NodeRed gemacht der Dir immer alle Einzelpunkte schreibst.

                              https://forum.iobroker.net/topic/43856/json-oder-javascript-objekt-in-iobroker-datenpunkte-zerlegen

                              Beispiele siehst Du im ersten Post als Beispiel 4,5,6.

                              Wie gesagt später wirst Du aber ggf. froh sein, nicht alles in eigenen Datenpunkten zu haben. Lediglich wenn Du in VIS was anzeigen willst, dann solltest Du den Wert extrahieren. Das machst Du dann wie anfangs beschrieben über einen Alias.

                              ? 1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User @mickym last edited by A Former User

                                .....................................

                                mickym 1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @Guest last edited by

                                  @stefan247 Na dann war der Wert vielleicht in einem Objekt - so kann man das nicht sagen. Aber wenn es im Tasmota vorhanden ist, dann ist es auch im mqtt vorhanden. Ganz sicher.

                                  ? 1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User @mickym last edited by A Former User

                                    ......................................

                                    mickym 1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @Guest last edited by

                                      @stefan247 Die Datenpunkte sind wahrscheinlich in einem der Objekte.

                                      3242b6ef-e88b-4a71-b53a-19b3de63b7f6-image.png

                                      Entweder Du extrahierst die Werte wie beschrieben mittels eines Alias oder nutzt ggf. meinen NodeRed Flow. Aber meist braucht man ja nicht alles Werte

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      504
                                      Online

                                      31.9k
                                      Users

                                      80.3k
                                      Topics

                                      1.3m
                                      Posts

                                      6
                                      17
                                      700
                                      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