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.
    • arteck
      arteck Developer Most Active last edited by

      @frankentronik sagte in MQTT und KNX:

      Der Wert wird aber nicht im KNX gesetzt

      geht es dirket ..im Object ??

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

        @arteck said in MQTT und KNX:

        @frankentronik sagte in MQTT und KNX:

        Der Wert wird aber nicht im KNX gesetzt

        geht es dirket ..im Object ??

        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.

        Das müsste entweder automatisch passieren, oder ich müsste an diesen Schalter per MQTT (Delphi) herankommen.

        Viele Grüße

        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:

          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.

          F 1 Reply Last reply Reply Quote 1
          • 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

                              857
                              Online

                              31.7k
                              Users

                              79.7k
                              Topics

                              1.3m
                              Posts

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