Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter KNX v1.0.x

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter KNX v1.0.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      loverz @cvidal last edited by

      @cvidal said in Test Adapter KNX v1.0.x:

      @lessthanmore Ja Traum, hab Write auf True gesetzt und Read auf false, Lief direkt. Besten dank euch allen.

      Hab noch mal ne frage bzgl. Position Anzeigen.
      Ich habe die Objekte "Position anzeigen" und "Position anfahren"
      Wenn ich Manuell meine Rollladen fahre bekomme ich den % Wert nur auf "Position anzeigen" und nicht auf "Position anfahren".
      Ich brauche den aktuellen Wert im Objekt "Position anfahren" um den Shuttercontrol Adapter nutzen zu können. Bekomme ich das ohne ETS hin?

      Gruß Christian

      Ich hab dafür ein Blockly gemacht, welches nach dem fahren Position anfahren mit dem Wert von Position AKTUALISIERT, nicht steuert, dann sind beide Werte synchron. Das braucht man auch für YAHKA (Apple homekit) so.

      1 Reply Last reply Reply Quote 0
      • L
        lessthanmore @loverz last edited by

        @loverz Ich habe auch keinen Logikbaustein und nutze auch die Logik nicht, die mit vielen Geräten bereits mitkommt. Die Logik in der KNX ist wirklich viel zu schwach, kennt nur UND und ODER.
        Aber du kannst auch verdammt viel mit Szenen machen. Meine Rollläden bspw. laufen alle über Szenen.
        Ich habe dafür nur eine einzige GA, auf die ich lediglich eine Szenennummer schicke und die Rollläden dementsprechend fahren.
        Sonnenschutz lässt sich auch prima mit den Aktoren von MDT umsetzen und die kosten nicht viel.

        Mir ist vor allem wichtig so viel wie möglich in der KNX laufen zu haben um unabhängig vom ioBroker zu sein; siehe KNX Adapter. Es kann immer mal sein, dass ein Entwickler keine Lust mehr hat oder schlimmeres passiert.

        Lichter kann man auch super über Szenen steuern und die meisten Aktoren bringen das mit (DALI bspw.).
        Und selbst wenn du die Logik im Skript in ioBroker hast, so musst du von ioBroker lediglich eine GA mit einer Szene beschreiben, etc.

        Ich habe mir node-red erstmals vor genau zwei Tagen installiert. Für node-red werden unzählige Module angeboten und für knx gibt es mehrere (ultimate, easy, etc.).
        Im Modul selbst hinterlegst du lediglich die IP Adresse deines Gateways oder Router:
        2021-09-23_20-30-27.png

        Du verlinkst dann einen Datenpunkt aus ioBroker mit einer GA und der Wert von ioBroker wird direkt auf die GA geschrieben. Beim Update aus KNX kommend sollte man allerdings darauf achten, dass ioBroker, der den Wert aktualisiert, nicht direkt wieder an den Bus schickt. Hatte ich hübsche Disko hier im Haus weil alles an/ aus, usw. gegangen ist 🙄

        Aber wenn du wirklich über 300 Gruppenadressen hast, dann ist das schon eine Hausnummer und dann verstehe ich das auch.

        L 1 Reply Last reply Reply Quote 0
        • L
          loverz @lessthanmore last edited by

          @lessthanmore danke für den kleinen Gedankenausflug 🙂

          Hab auch die MDT Aktoren, aber nie die Szenen verwendet.

          Ich verfolge einen anderen Denkansatz:
          -KNX für Grundfunktionen, sodass auch ohne iobroker alles manuell funktioniert.
          -iobroker für die Automationen bzw. Logiken. Natürlich mache ich mach da ein Stückweit abhängig, aber wenn mal alles läuft muss ich ja nicht updaten. Ist ja alles Offline, das relativiert alles ein wenig.

          L 1 Reply Last reply Reply Quote 0
          • L
            lessthanmore @loverz last edited by

            @loverz Ja, da bin ich ganz bei dir.
            Wenn du node-red mal ausprobieren willst und Fragen hast, schreib mich einfach an. Hier geht es ja um den KNX Adapter.

            Im Übrigen kannst du mit dem ultimate Modul auch deine Gruppenadressen importieren. Aber es ist natürlich deutlich mehr Arbeit als mit dem Adapter, der schon alle Datenpunkte anlegt.

            L 1 Reply Last reply Reply Quote 0
            • L
              loverz @lessthanmore last edited by

              @lessthanmore Hab nun meine ganzen Objekte händisch korrigiert.
              Also:
              -Statusobjekte mit Write=false und Read=true
              -Schaltobjekte mit Write=true und Read=false

              Nach dem Updaten auf die aktuellste Version des KNX Adapters bekomme ich direkt wieder keine Rollo-Positionen, wenn diese gefahren sind.

              Muss wohl wieder auf 1.0.20 runter...

              L 1 Reply Last reply Reply Quote 0
              • L
                lessthanmore @loverz last edited by

                @loverz StatusGA müsste glaube ich beides true sein, also write und read. Nur dann reagiert der Adapter auf ein GroupValueRead.
                Warum hast du nicht erst ein Update gemacht?
                Die Verknüpfung zwischen Schalt und Status DP wurde ja erst nach 1.0.20 eingeführt.
                Hast du in deinen Skripten wirklich so oft die Statusadresse verwendet? Oder eher die Schaltadresse?
                Denn du müsstest in der ETS ja nur die Status GA umbenennen.
                Dann Update vom Adapter und Projekt neu importieren damit alles sauber angelegt wird.

                L 1 Reply Last reply Reply Quote 0
                • L
                  loverz @lessthanmore last edited by

                  @lessthanmore ich habe erst die Objekte händisch angepasst, weil ich wusste, dass der Adapter Probleme macht. Hab es nun bestimmt schon 4 mal veruscht upzudaten.

                  Ich habe in meinen Scripten alle möglichen Objekte verwendet, ich will da nicht nochmal ran, die laufen einwandfrei.

                  Nun werde ich bei den Status Adressen noch zusätzlich den Write auf True setzen und die letzte Chance geben....

                  L M 2 Replies Last reply Reply Quote 0
                  • L
                    lessthanmore @loverz last edited by

                    @loverz Ich glaube wir drehen uns im Kreis.
                    Probier es, aber weitere Probleme sind dann recht wahrscheinlich bzw. können nicht ausgeschlossen werden.

                    1 Reply Last reply Reply Quote 0
                    • M
                      mpenno @loverz last edited by

                      @loverz
                      Ich versuche mal zu helfen. Bei mir klappt es recht gut.
                      Ich nutze:

                      • KNX-Adapter: 1.0.45
                      • ETS-Version: 5.7.4

                      Meine Jalousie im Badezimmer wird von einem ABB JAL-Aktor angetrieben. Befehle wie auf und ab gehen, sowie die direkte Positionsansteuerung. Bei der Badezimmerjalousie nutzte ich ausschließlich die Positionsansteuerung über ioBroker und der ioGO-App.
                      Die Schaltgruppenadresse:
                      bfce3e50-3574-482c-b7a0-ec5126296fcf-grafik.png

                      Die zugehörige Statusgruppenadresse:
                      f6c2aee6-f61b-4060-b805-329edf0c58a2-grafik.png

                      Die KNX-Objekte am Aktor:
                      d5b7f8ab-6a5f-4877-8f57-8350a8b78a23-grafik.png

                      Das KNX-Schaltobjekt im ioBroker:
                      fdd97866-9554-4dd1-8541-2e10b78f7d0d-grafik.png

                      Die Objekt-Eigenschaften der Schaltadresse:

                      {
                        "_id": "knx.0.Jalousie.Jalousie_Position.Jalousie_Position_Badezimmer",
                        "type": "state",
                        "common": {
                          "name": "Jalousie Position Badezimmer",
                          "type": "number",
                          "role": "value",
                          "unit": "%",
                          "max": 100,
                          "min": 0,
                          "read": false,
                          "write": true
                        },
                        "native": {
                          "dpt": "DPT5.001",
                          "address": "2/1/205",
                          "addressRefId": "P-02CE-0_GA-376",
                          "statusGARefId": "P-02CE-0_GA-377",
                          "actGARefId": "",
                          "objRef": "O-13_R-1388",
                          "devName": "M-0002_A-A064-14-83B7",
                          "devInst": "P-02CE-0_DI-56",
                          "objectSize": "",
                          "update": false
                        },
                        "from": "system.adapter.knx.0",
                        "user": "system.user.admin",
                        "ts": 1603985491838,
                        "acl": {
                          "object": 1636,
                          "owner": "system.user.admin",
                          "ownerGroup": "system.group.administrator",
                          "state": 1636
                        }
                      }
                      

                      Das KNX-Statusobjekt im ioBroker:
                      efe6d4fc-4bc9-4953-b620-0c0984474d08-grafik.png

                      Die Objekt-Eigenschaften der Statusadresse:

                      {
                        "_id": "knx.0.Jalousie.Jalousie_Position_Status.Jalousie_Position_Badezimmer_Status",
                        "type": "state",
                        "common": {
                          "name": "Jalousie Position Badezimmer Status",
                          "type": "number",
                          "role": "value",
                          "unit": "%",
                          "max": 100,
                          "min": 0,
                          "read": true,
                          "write": false
                        },
                        "native": {
                          "dpt": "DPT5.001",
                          "address": "2/2/205",
                          "addressRefId": "P-02CE-0_GA-377",
                          "statusGARefId": "",
                          "actGARefId": "P-02CE-0_GA-376",
                          "objRef": "O-33_R-1407",
                          "devName": "M-0002_A-A064-14-83B7",
                          "devInst": "P-02CE-0_DI-56",
                          "objectSize": ""
                        },
                        "from": "system.adapter.knx.0",
                        "user": "system.user.admin",
                        "ts": 1603985491844,
                        "acl": {
                          "object": 1636,
                          "owner": "system.user.admin",
                          "ownerGroup": "system.group.administrator",
                          "state": 1636
                        }
                      }
                      

                      Das Alias-Objekt, mit denen ich seit einer Weile ausschließlich arbeite. Es reicht dieses eine Aliasobjekt auf die Schaltadresse. Ein Alias auf die Statusadresse ist nicht notwendig:
                      b369a1ae-2cc8-4cd2-ace6-d058a06ad525-grafik.png

                      Die Objekt-Eigenschaften des Alias-Objektes:

                      {
                        "type": "state",
                        "common": {
                          "name": "Rollladen",
                          "type": "number",
                          "role": "level.blind",
                          "unit": "%",
                          "max": "100",
                          "min": "0",
                          "read": false,
                          "write": true,
                          "alias": {
                            "id": "knx.0.Jalousie.Jalousie_Position.Jalousie_Position_Badezimmer",
                            "read": "val*1",
                            "write": ""
                          },
                          "desc": "Geziehlte Position anfahren",
                          "states": "",
                          "custom": []
                        },
                        "native": {},
                        "from": "system.adapter.javascript.0",
                        "user": "system.user.admin",
                        "ts": 1603996490851,
                        "_id": "alias.0.Rollladen.Raum_203_Badezimmer.Rollladen_Position",
                        "acl": {
                          "object": 1636,
                          "state": 1636,
                          "owner": "system.user.admin",
                          "ownerGroup": "system.group.administrator"
                        }
                      }
                      

                      Hier mal die Steuerung mittels der Android App ioGO:
                      569c325f-11d6-42c0-8679-089220ed42c0-grafik.png

                      Wichtig ist, dass wenn du die ioBroker-Objekteigenschaften änderst, musst Du den KNX-Adapter neustarten. War zumindestens bei mir so.

                      Es sollte keinen Grund geben, dass es bei Dir nicht so klappt. Auch wenn Du die Aliase nicht nutzt. Dann würdest Du direkt mit dem Schaltobjekt arbeiten.

                      Du solltest aber zukünftig die Aliase nutzen, damit Du nicht die festen Objektadressen in den Scripten nutzt. Das Anlegen der Aliase macht kurz etwas Arbeit. Ich nutze dazu pro Gerät ein Script, damit ich nicht soviel klicken muss.

                      Bei mir geht mit dem KNX-Adapter fast alles. Nach einem anfänglichen Geisterhaus beim Starten des KNX-Adapters, wo viel an und aus bzw. Rollläden hoch- und runter fuhren, musste ich nur die KNX-Flags in Ordnung bringen und auf die richtige Verbindung zwischen Schalt- und Status-GA im ioBroker sorgen (siehe meinen Vorrednern). Das geht zum Teil automatisch beim Einlesen, nur ganz selten musste ich es manuell korrigieren.

                      Nur mit Datum und Zeitobjekten will es bei mir zwischen ioBroker und KNX nicht so richtig. Falls mir da jemand weiterhelfen kann. Zum Beispiel welcher Objekttyp: String, Number oder Mixed der richtige ist...

                      Viele Grüße
                      Michael

                      L 1 Reply Last reply Reply Quote 0
                      • L
                        loverz @mpenno last edited by loverz

                        @mpenno danke für ausführliche Erklärung.

                        Die Positionsansteuerung funktioniert bei mir einwandfrei, nur die Positionen, welche von KNX nach iobroker gehen sollen kommen nicht an.

                        Die Flags der Objekte sind so wie bei dir: Schalt-Objekte Write=True; Read=False. Status-Objekte Write=False; Read=True.

                        Der einzige Unterschied scheint meine Benennung in ETS zu sein:
                        Wohnzimmer_Rollladen_Nord_Position_anfahren
                        Wohnzimmer_Rollladen_Nord_Position

                        Ich hab also die Benennung von der Schalt-GA nicht zu 100% im Namen von der Status-GA. Daran kann es aber doch nicht liegen mensch 😞

                        Mich ärgert es, dass doch beim 1.0.20 alles geht und danach nicht mehr!

                        Die Alias-Objekt hast du nur gemacht um zukünftige Umbenennungen einfacher zu gestalten, habe ich das richtig verstanden?

                        L 1 Reply Last reply Reply Quote 0
                        • L
                          lessthanmore @loverz last edited by lessthanmore

                          @loverz said in Test Adapter KNX v1.0.x:

                          Wohnzimmer_Rollladen_Nord_Position_anfahren

                          Dann ändere nur einmal diese GA zu:
                          Wohnzimmer_Rollladen_Nord_Position_anfahren_Status

                          und du wirst ein Wunder erleben 😉

                          Kannst sie ja mal zu Testzwecken umbenennen. Nur daran liegt es nämlich.
                          Es geht ja nach Version 1.0.20 nicht nur um die Eigenschaften read und write, sondern auch um die Pärchen, also
                          addressRefId
                          statusGARefId
                          actGARefId

                          Das gilt es eben händisch anzupassen wenn man die GA in der ETS nicht umbenennen möchte/ kann.

                          L 1 Reply Last reply Reply Quote 0
                          • L
                            loverz @lessthanmore last edited by loverz

                            @lessthanmore also doch. Es liegt echt am Namen... Das ist aber ehrlich gesagt sehr doof gemacht vom Adapter...

                            Ich werde testweise mal ein Pärchen und die dazugehörigen Scripte umbenennen und mich anschließend nochmal melden.

                            Aber wenn dann muss ich doch die andere GA
                            Wohnzimmer_Rollladen_Nord_Position umbenennen in:
                            Wohnzimmer_Rollladen_Nord_Position_anfahren_Status oder nicht?

                            L 1 Reply Last reply Reply Quote 0
                            • L
                              lessthanmore @loverz last edited by lessthanmore

                              @loverz Ja, richtig. Hatte die falsche GA zitiert.
                              anfahren ist die Schalt GA und anfahren_Status die Status GA.
                              Wie soll der Adapter denn erkennen dass die beiden zusammen gehören wenn sie nicht gleich heißen bzw. identisch sind?
                              Der Adapter kennt lediglich die Adresse, Bezeichnung und die Flags.
                              Nach welcher Logik würdest du es denn machen?
                              Wie gesagt, diese Abfrage kam erst nach 1.0.20 weshalb es bei Versionen vorher bei dir keine Probleme gab.

                              L 1 Reply Last reply Reply Quote 0
                              • L
                                loverz @lessthanmore last edited by loverz

                                @lessthanmore der Adapter muss das doch gar nicht wissen, ob die zusammen gehören, das ist doch der Punkt! 1.0.20 weiß das auch nicht.

                                Der Adapter soll einfach nur dafür sorgen, dass wenn mein Rollladen Aktor auf die Status GA einen Wert (z.B.100%) sendet dies im entsprechenden iobroker Objekt eingetragen wird, das kann doch nicht so schwer sein.

                                L T 2 Replies Last reply Reply Quote 0
                                • L
                                  lessthanmore @loverz last edited by

                                  @loverz Was soll ich dir sagen?
                                  Die Änderung wurde aber implementiert um sie später für weitere Funktionen nutzen zu können.
                                  Zumindest war das wohl mal der Plan.
                                  Nach 1.0.20 prüft der Adapter eben auf Pärchen. Ist so.
                                  Das kann man jetzt doof finden oder nicht, aber es wird sich nicht ändern.
                                  Also benennt man entweder seine Gruppenadressen einmalig sauber in der ETS (RM, Status, etc.) oder man muss alles händisch anpassen.
                                  Oder aber man nutzt weiterhin die 1.0.20 und bleibt auf einer veralteten ETS hängen.

                                  Im Übrigen steckt im Adapter ein bißchen mehr Logik als simples „Shit in, shit out“.
                                  Wenn du nur einen Wert auf den Bus senden willst und einen lesen möchtest tut es eben auch node-red.

                                  L 1 Reply Last reply Reply Quote 0
                                  • T
                                    Tobi68 @loverz last edited by

                                    @loverz sagte in Test Adapter KNX v1.0.x:

                                    @lessthanmore der Adapter muss das doch gar nicht wissen, ob die zusammen gehören, das ist doch der Punkt! 1.0.20 weiß das auch nicht.

                                    Der Adapter soll einfach nur dafür sorgen, dass wenn mein Rollladen Aktor auf die Status GA einen Wert (z.B.100%) sendet dies im entsprechenden iobroker Objekt eingetragen wird, das kann doch nicht so schwer sein.

                                    Äh..
                                    Der Adapter hätte gerne das die zugehörige GAs einen logische Benennung haben..
                                    Mal ganz simpel:

                                    Rolladen EG Wohnzimmer rauf
                                    Rolladen EG Wohnzimmer runter
                                    Rolladen EG Wohnzimmer status
                                    Rolladen EG Wohnzimmer Teil

                                    So ist er programmiert.
                                    Wenn du es gerne anderst hättest brauchst du einen anderen Adapter

                                    Musste ich auch lernen und halt nach richten..
                                    Es ist halt ne ETS für die Umbenennung sinnvoll..

                                    Oder kippst du in deinen Benziner auch ab und zu Diesel..

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      loverz @lessthanmore last edited by

                                      @lessthanmore @Tobi68 alles klar, ich glaub ich bin einfach nicht fähig die Logik zu verstehen.
                                      Das einzige was ich verstanden habe: Es wurde eine neue Funktion implementiert, die man wahrscheinlich in der Zukunft brauchen könnte, dann ist der Entwickler aber weg gegangen. Da es wahrscheinlich nicht mehr weitergehen wird, kann ich auch auf 1.0.20 bleiben, da diese neue Funktionen wohl nie kommen werden.

                                      Was ich aber nochmal fragen muss:
                                      "Entweder man benennt im ETS alles sauber um, oder muss selbst Hand anlegen"
                                      Dieses selbst Hand anlegen beinhaltet das Bearbeiten der RAW-Werte richtig? Ich frage mich nur, wie ich dem Adapter über die RAW-Werte erklären kann, welche Pärchen nun zusammengehören.
                                      Sorry, ich stehe etwas auf dem Schlauch...

                                      L T 2 Replies Last reply Reply Quote 0
                                      • L
                                        lessthanmore @loverz last edited by

                                        @loverz Ich wiederhole mich, aber wir drehen uns im Kreis.

                                        Bis 1.0.20 wurde jede GA einzeln betrachtet und gemäß den Flags in ETS angelegt und deren Attribute entsprechend gesetzt.
                                        2021-09-25_12-38-30.png

                                        Mit 1.0.30 wurden dann erweiterte Statusobjekte (actRefId, etc.) verwendet, um die Funktionen zu erweitern. In erster Linie um im Adapter zu wissen, wenn eine Status GA bspw. eine Rückmeldung erhält, von welchem Schaltobjekt diese Rückmeldung kommt.

                                        2021-09-25_12-40-39.png

                                        Evtl. hatte es damit etwas zu tun, ist aber alles nur Mutmaßung.

                                        Bis 1.0.20: Es müssen die Attribute der Datenobjekte (RAW) manuell angepasst werden, so fern sie nicht korrekt gemäß der Flags angelegt wurden (write und read).
                                        Ab 1.0.30: Gleiches wie oben + die jeweiligen Schalt und Status Datenpunkte müssen miteinander verbunden werden.

                                        Schau dir die Screenshots von @Tobi68 an. Dort siehst du für jeden Datenpunkt die zusätzlichen Attribute adressRefId, statusGARefId und actGARefId. Wenn du die Werte betrachtest, dann siehst du, dass diese in den jeweiligen Datenpunkten verknüpft sind.
                                        addressRefId ist die eindeutige ID pro GA.
                                        Im Schaltdatenpunkt befindet sich die entsprechende addressRefId des Statusdatenpunktes im Feld statusGARefId.
                                        Im Statusdatenpunkt befindet sich die entsprechende addressRefId des Schaltdatenpunktes im Feld actGARefId.

                                        Die Zeit, die wir hier diskutieren, hättest du übrigens wunderbar verwenden können, um die Gruppenadressen in der GA umzubenennen und die ersten Skripte anzupassen 😀

                                        Wie gesagt, klar kannst du auf der 1.0.20 bleiben. Wenn die bei dir sauber läuft warum auch nicht.
                                        Möchtest du allerdings auf eine neuer ETS Version und machst Änderungen in der ETS, die du dann in den Adapter übertragen möchtest, so geht das nicht mehr.
                                        Selbst mit der aktuellsten Adapter Version ist ein Import der ETS Version 5.7.6 bereits nicht mehr möglich.
                                        Jetzt können wir natürlich auch gerne noch darüber diskutieren, ob es sinnvoll ist oder nicht die ETS Version aktuelle zu halten, aber das würde dann wohl den Rahmen sprengen.
                                        Gleiches gilt auch für deine nodejs Version 😉

                                        Was wenn Kay in nächster Zeit am Adapter weitermacht? Oder ein anderer Entwickler warum auch immer übernimmt? Dann musst du den Schritt eh gehen. Aber mehr als spekulieren können wir nicht.

                                        T L 2 Replies Last reply Reply Quote 0
                                        • T
                                          Tobi68 @loverz last edited by

                                          @loverz :

                                          Meines Wissens ist der Entwickler nicht weggegangen..
                                          Der wartet auf die neue ETS, oder würdest du auch noch ETS3 Sachen supporten.. alles in der Freizeit?

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            Tobi68 @lessthanmore last edited by

                                            @lessthanmore sagte in Test Adapter KNX v1.0.x:

                                            Die Zeit, die wir hier diskutieren, hättest du übrigens wunderbar verwenden können, um die Gruppenadressen in der GA umzubenennen und die ersten Skripte anzupassen

                                            Der war gut!
                                            War auch für mich ne harte Schule, aber so verliert Mann als Einsteiger die Scheu vor der ETS..

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            647
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            knx adapter
                                            93
                                            719
                                            136247
                                            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