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 @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

                              649
                              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