Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Automatisierung
    5. MQTT und KNX

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    MQTT und KNX

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Frankentronik @Marc Berg last edited by

      @marc-berg said in MQTT und KNX:

      @frankentronik sagte in MQTT und KNX:

      Ja. Wenn man im Objekt (KNX Iobroker) auf true oder false drückt. kommt ein Fenster, welches den Wert (auch aus Delphi) übernimmt. Dort ist ein Schalter mit Wert senden. Dann wird die Aktion ausgeführt.

      Leider schreibst du nichts zu deiner MQTT-Umgebung (also welcher Broker, welcher Adapter).
      Ich nehme an, du nutzt den MQTT Adapter als Client oder Broker. Dieser schreibt MQTT Nachrichten als "acknowledged" in die Objekte. Damit reagiert dein KNX Adapter richtigerweise nicht.
      Abhilfe: Entweder den MQTT-Client Adapter nutzen oder per Skript/Blockly/Node Red den KNX State setzen.

      Hallo
      In Delphi nutze ich den TMSMQTT Client
      Im IOBroker den mqtt Broker/Client V5.2.0 eingestellt als Server/Broker

      Was ist dann der MQTT-Client Adapter?

      Viele Grüße

      Stefan

      Marc Berg 1 Reply Last reply Reply Quote 0
      • Marc Berg
        Marc Berg Most Active @Frankentronik last edited by

        @frankentronik sagte in MQTT und KNX:

        Was ist dann der MQTT-Client Adapter?

        Das ist ein ioBroker Adapter, der installiert werden muss und der als MQTT Client läuft. Hier hast du den Vorteil, dass man das "Ack" Flag abschalten kann:

        91ce2460-ce4c-4807-9f48-6677175be7da-grafik.png

        Du müsstest also im MQTT Adapter das Publizieren der KNX States abschalten (ich nehme an, das hast du gemacht)
        7757c3a4-1147-4a80-80e2-6fa90843c6aa-grafik.png

        und stattdessen den MQTT-Client Adapter für den Datenpunkt (wie immer der auch heißt) aktivieren. Wie das MQTT Topic heißt, kannst du definieren.

        F 1 Reply Last reply Reply Quote 0
        • F
          Frankentronik @Marc Berg last edited by

          @marc-berg said in MQTT und KNX:

          @frankentronik sagte in MQTT und KNX:

          Was ist dann der MQTT-Client Adapter?

          Das ist ein ioBroker Adapter, der installiert werden muss und der als MQTT Client läuft. Hier hast du den Vorteil, dass man das "Ack" Flag abschalten kann:

          91ce2460-ce4c-4807-9f48-6677175be7da-grafik.png

          Du müsstest also im MQTT Adapter das Publizieren der KNX States abschalten (ich nehme an, das hast du gemacht)
          7757c3a4-1147-4a80-80e2-6fa90843c6aa-grafik.png

          und stattdessen den MQTT-Client Adapter für den Datenpunkt (wie immer der auch heißt) aktivieren. Wie das MQTT Topic heißt, kannst du definieren.

          Der Client läuft aber in Delphi. Im IOBrocker benötige ich den Server. Deshalb habe ich den MQTT Broker/Client installiert und als Server eingerichtet.
          Ich werde morgen mal TMS anschreiben, was die dazu sagen. In dem Befehl, den ich gerade verwendet habe, gibt es ein Retain-Flag. Dieser hat aber keinerlei Auswirkung. Vom ACK steht auch nichts im Datenblatt.

          Viele Grüße und Danke

          Marc Berg Homoran 2 Replies Last reply Reply Quote 0
          • Marc Berg
            Marc Berg Most Active @Frankentronik last edited by Marc Berg

            @frankentronik sagte in MQTT und KNX:

            Der Client läuft aber in Delphi. Im IOBrocker benötige ich den Server. Deshalb habe ich den MQTT Broker/Client installiert und als Server eingerichtet.

            Ja, ich weiß. Und mit dem MQTT-Client Adapter kommt ein weiterer Client hinzu.

            Ich werde morgen mal TMS anschreiben, was die dazu sagen. In dem Befehl, den ich gerade verwendet habe, gibt es ein Retain-Flag. Dieser hat aber keinerlei Auswirkung. Vom ACK steht auch nichts im Datenblatt.

            Gut gemeinter Rat: Beschäftige dich mal kurz mit den ioBroker Grundlagen (insbesondere das Thema "ack/bestätigt"-Flag).
            https://www.youtube.com/watch?v=p5FyeifYUnw

            Dann wird vielleicht klarer, was ich meine.

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

              @frankentronik sagte in MQTT und KNX:

              Der Client läuft aber in Delphi.

              Ja, du brauchst einen MQTT Broker, der muss eigentlich nur die Pakete verwalten können.

              du brauchst aber ggf. mehrere Clients, die publishen oder subscriben.

              https://www.iobroker.net/#de/adapters/adapterref/iobroker.mqtt-client/README.md
              https://www.iobroker.net/#de/adapters/adapterref/iobroker.mqtt/README.md
              (etwas ältere Doku!)

              @frankentronik sagte in MQTT und KNX:

              Vom ACK steht auch nichts im Datenblatt.

              ist ja auch iobroker spezifisch

              1 Reply Last reply Reply Quote 0
              • F
                Frankentronik @Marc Berg last edited by

                @marc-berg said in MQTT und KNX:

                @frankentronik sagte in MQTT und KNX:

                Der Client läuft aber in Delphi. Im IOBrocker benötige ich den Server. Deshalb habe ich den MQTT Broker/Client installiert und als Server eingerichtet.

                Ja, ich weiß. Und mit dem MQTT-Client Adapter kommt ein weiterer Client hinzu.

                Ich werde morgen mal TMS anschreiben, was die dazu sagen. In dem Befehl, den ich gerade verwendet habe, gibt es ein Retain-Flag. Dieser hat aber keinerlei Auswirkung. Vom ACK steht auch nichts im Datenblatt.

                Gut gemeinter Rat: Beschäftige dich mal kurz mit den ioBroker Grundlagen (insbesondere das Thema "ack/bestätigt"-Flag).
                https://www.youtube.com/watch?v=p5FyeifYUnw

                Dann wird vielleicht klarer, was ich meine.

                Das mit ACK ist schon klar. Ich verstehe nur noch nicht, warum ich einen weiteren Client im IOBroker brauche.
                Das würde ja bedeuten, ich greife nicht aufs Objekt (KNX) direkt zu (was ja funktioniert), sondern muss von Delphi (Client) -> Server -> Client->auf KNX zugreifen.
                Das müsste doch funktionieren, wenn entweder der Server generel kein ACK sendet, oder ich das von Delphi aus steuern kann. Habe ehrlich gesagt keine Lust, für jeden KNX Datenpunkt nochmal ein Script oder Client Datenpunkte zu erstellen.

                Marc Berg Homoran 2 Replies Last reply Reply Quote 0
                • Marc Berg
                  Marc Berg Most Active @Frankentronik last edited by

                  @frankentronik sagte in MQTT und KNX:

                  Das müsste doch funktionieren, wenn entweder der Server generel kein ACK sendet, oder ich das von Delphi aus steuern kann.

                  Es geht halt nicht mit dem MQTT-Adapter, da er seine Datenpunkte immer mit "ack" Flag schreibt.

                  Habe ehrlich gesagt keine Lust, für jeden KNX Datenpunkt nochmal ein Script oder Client Datenpunkte zu erstellen.

                  Das musst du doch auch nicht tun. Mit dem Vorschlag musst du weder scripten noch separate Datenpunkte anlegen:

                  1. Installation MQTT-Client Adapter
                  2. Konfiguration der neuen Instanz mit den Verbindungdaten zum MQTT-Broker (in deinem Fall der MQTT Adapter)
                  3. Aktivieren des MQTT-Client Adapters auf dem vorhandenen(!) KNX-Datenpunkt (über das Zahnrädchen rechts)
                    a) nur "Subscription" aktivieren und den Haken bei "ack" deaktivieren
                    b) setzen eines beliebigen Topics (z.B. "KNX/Datenpunkt1")
                  4. vom Delphi-Client publishest du auf das Topic "KNX/Datenpunkt1"

                  In diesem Szenario benutzt du den MQTT-Adapter lediglich als Broker, der theoretisch auch gegen einen Mosquitto oder etwas anderes ausgetauscht werden könnte. Darum unbedingt den Eintrag in "publish own states" für den KNX-Namensraum wieder entfernen.

                  F 1 Reply Last reply Reply Quote 1
                  • Homoran
                    Homoran Global Moderator Administrators @Frankentronik last edited by

                    @frankentronik sagte in MQTT und KNX:

                    Ich verstehe nur noch nicht, warum ich einen weiteren Client im IOBroker brauche.

                    wie auch @Marc-Berg schreibt

                    @homoran sagte in MQTT und KNX:

                    du brauchst einen MQTT Broker, der muss eigentlich nur die Pakete verwalten können.

                    für alles andere sind Clients zuständig.
                    lediglich der iobroker MQTT Adapter im Broker Modus, kann einiges nehr, aber auch nicht alles was ein vollwertiger Client kann.

                    Dazu gibt es den MQTT Client Adapter.
                    da brauchst du nichts zu scripten, sondern nur in den Objekten am jeweiligen state die spezifischen Einstellungen vorzunehmen

                    1 Reply Last reply Reply Quote 0
                    • F
                      Frankentronik @Marc Berg last edited by

                      @marc-berg said in MQTT und KNX:

                      @frankentronik sagte in MQTT und KNX:

                      Das müsste doch funktionieren, wenn entweder der Server generel kein ACK sendet, oder ich das von Delphi aus steuern kann.

                      Es geht halt nicht mit dem MQTT-Adapter, da er seine Datenpunkte immer mit "ack" Flag schreibt.

                      Habe ehrlich gesagt keine Lust, für jeden KNX Datenpunkt nochmal ein Script oder Client Datenpunkte zu erstellen.

                      Das musst du doch auch nicht tun. Mit dem Vorschlag musst du weder scripten noch separate Datenpunkte anlegen:

                      1. Installation MQTT-Client Adapter
                      2. Konfiguration der neuen Instanz mit den Verbindungdaten zum MQTT-Broker (in deinem Fall der MQTT Adapter)
                      3. Aktivieren des MQTT-Client Adapters auf dem vorhandenen(!) KNX-Datenpunkt (über das Zahnrädchen rechts)
                        a) nur "Subscription" aktivieren und den Haken bei "ack" deaktivieren
                        b) setzen eines beliebigen Topics (z.B. "KNX/Datenpunkt1")
                      4. vom Delphi-Client publishest du auf das Topic "KNX/Datenpunkt1"

                      In diesem Szenario benutzt du den MQTT-Adapter lediglich als Broker, der theoretisch auch gegen einen Mosquitto oder etwas anderes ausgetauscht werden könnte. Darum unbedingt den Eintrag in "publish own states" für den KNX-Namensraum wieder entfernen.

                      Hallo zusammen
                      Vielen Dank.
                      Geht nun. Objekte lassen sich schalten.
                      Wenn ich das richtig sehe, muss ich das dann auch bei jedem KNXDatenpunkt machen und jeweils einen Topic Namen vergeben.

                      Zu abonnieren direkt aufs KNX-Objekt oder auch über den MQTT Client?

                      Viele Grüße

                      Stefan

                      Marc Berg 1 Reply Last reply Reply Quote 0
                      • Marc Berg
                        Marc Berg Most Active @Frankentronik last edited by

                        @frankentronik sagte in MQTT und KNX:

                        Wenn ich das richtig sehe, muss ich das dann auch bei jedem KNXDatenpunkt machen und jeweils einen Topic Namen vergeben.

                        ... oder du lässt die Topic-Bezeichnung einfach so wie vorgeschlagen ("knx.0. ...")

                        Zu abonnieren direkt aufs KNX-Objekt oder auch über den MQTT Client?

                        Die Frage verstehe ich leider nicht.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        1.0k
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        knx mqtt
                        4
                        16
                        925
                        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