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

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • 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.
    • frankthegreat
      frankthegreat last edited by

      Ja,klar. Was muss ich tun?

      1 Reply Last reply Reply Quote 0
      • frankthegreat
        frankthegreat last edited by

        @chefkoch009

        Wohin soll ich die Datei schicken?

        1 Reply Last reply Reply Quote 0
        • S
          sourex last edited by sourex

          Hi,
          nachdem ich mit der Hilfe von Chefkoch meine Dimmer endlich ans laufen bekommen habe hänge ich nun an meiner Heizung fest.
          Ich habe es mit der Namensgebung versucht die bei den Dimmer funktioniert, da werden nur die Statis empfange im IO aber nicht der absolut Wert.

          Aktuell habe ich sie anders benannt und folgendes Phänomen tritt auf:
          Frisch eingelesen sind die absolut Werte richtig (sprich 23°C --> BAD) wenn aber nun als nächstes die zyklischen Stellwerte meiner Ventile gesendet werden überschreibt er sie absolut Temp mit dem Stellwert des Befehls ??

          hier mal die Jsons:
          {
          "id": "knx.0.Heizung.Heizung_absolut.Bad_absolut",
          "type": "state",
          "common": {
          "name": "Bad absolut ",
          "type": "number",
          "read": false, <---- habe ich auch schon testweise auf read gestellt, ohne Erfolg
          "write": true,
          "role": "level.number",
          "min": -273,
          "max": 670670 <---- ist das richtig so ?? hatte es bei @samot13 auch schon gesehen
          },
          "native": {
          "dpt": "DPT9.001",
          "address": "3/3/4",
          "addressRefId": "P-01D1-0_GA-305",
          "statusGARefId": "P-01D1-0_GA-296",
          "actGARefId": ""

          {
          "_id": "knx.0.Heizung.Heizung_absolut_Status.Bad_absolut_Status",
          "type": "state",
          "common": {
          "name": "Bad absolut Status",
          "type": "number",
          "read": true,
          "write": false,
          "role": "indicator.dimmer",
          "min": 0,
          "max": 100
          },
          "native": {
          "dpt": "DPT5.001",
          "address": "3/4/4",
          "addressRefId": "P-01D1-0_GA-296",
          "statusGARefId": "",
          "actGARefId": "P-01D1-0_GA-305"

          kann jemand ein Fehler finden ??
          btw.. hat noch jemand bei euch das Problem das wenn ich in der VIS ein Heizungsdatenpunkt verknüpfen möchte das die Vis dann einfriert ??

          Einziger Unterschied zum Licht was tadelos geht, ist das die Heizungs abs Ga ein Ü Flag hat, was hier aber wohl nicht entscheidend ist.

          Garfonso 1 Reply Last reply Reply Quote 0
          • Garfonso
            Garfonso Developer @sourex last edited by

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

            "id": "knx.0.Heizung.Heizung_absolut.Bad_absolut",

            Da steht der Stellwert des Ventils drinnen? Oder was?

            "role": "level.number",
            "min": -273,
            "max": 670670               <---- ist das richtig so ?? hatte es bei @samot13  auch schon gesehen
            

            Da solltest du von Hand eintragen, was minimum und maximum sind. Das weiß der KNX Adapter im Zweifelsfall gar nicht.

            },
            "native": {
            "dpt": "DPT9.001",
            "address": "3/3/4",
            "addressRefId": "P-01D1-0_GA-305",
            "statusGARefId": "P-01D1-0_GA-296",
            "actGARefId": ""

            {
            "_id": "knx.0.Heizung.Heizung_absolut_Status.Bad_absolut_Status",

            Kommt hier jetzt der Status des Ventils oder die Temperatur?
            Nachdem, was du schreibst, ist jetzt die Verknüpfung falsch, denn Ventil-Schalten und Temperatur sind ja zwei Dinge, die nicht miteinander verknüpft sein sollten (also nicht so direkt, wie der Adapter das macht). Als "quickfix" kannst du das "statusGARefId" bzw. actGARefId Feld in den States mal leer machen und dann gucken, ob es so ist, wie du das gerne hättest. Wenn es dann passt, würde ich empfehlen die GAs umzubenennen (sonst musst du das bei jedem Import machen) und zwar, dass die sich mehr unterscheiden (z.B. bei einem "Temperatur" mit dazu nehmen).

            S 1 Reply Last reply Reply Quote 0
            • S
              sourex @Garfonso last edited by

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

              Da steht der Stellwert des Ventils drinnen? Oder was?

              Da wird der absolut Tempwert übermittel an den Heizungsaktor.
              Bei mir werden alle DPT9.001 mit diesen Werten übernommen. Klar ändere die Werte, wollte aber auf das Problem hinweisen.

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

              Nachdem, was du schreibst, ist jetzt die Verknüpfung falsch, denn Ventil-Schalten und Temperatur sind ja zwei Dinge, die nicht miteinander verknüpft sein sollten

              also im KNX ist das kein Problem 🙂
              Ich weiß aber was du meinst und bin jetzt einfach für die VIS übergegangen in "+ Temp" bzw "-Temp" das war kein Problem.

              Garfonso 1 Reply Last reply Reply Quote 0
              • Garfonso
                Garfonso Developer @sourex last edited by

                @sourex
                Vielleicht habe ich auch nicht verstanden, was du wie mit deinen GAs definiert hast... das macht es immer etwas schwer, weil es ja nicht nur einen Weg gibt etwas in KNX zu machen. 🙂

                Also bei mir gibt es z.B. einen Temperatur-Ist Wert mit einer GA. Dann gibt es einen GA für Temperatur-Ziel Wert. Wenn der knx-adapter die miteinander als "statusGA" und "actGA" verheiraten würde, wäre das m.E. Quatsch. Auch z.B. das HQWidget für die Temperatursteuerung akzeptiert ja eine Ist-Temperatur und eine Ziel-Temperatur die man getrennt von der Ist-Temperatur einstellen kann.
                Dazu hab ich noch %-Stellwerte der Ventile z.B. -> die möchte ich auch nicht mit den Temperaturwerten direkt verknüpft haben (die Ventile-Aktoren unterstützen aber leider keine Rückmelde GA, daher gibt es die nicht).
                Insofern sind bei meinen Heizungssachen nirgendwo die "actGARefId" und "statusGARefId" Felder ausgefüllt und die GAs heißen auch alle so, dass der knx-Adapter das nicht automatisch zuordnet und befüllt.

                1 Reply Last reply Reply Quote 0
                • S
                  sourex last edited by

                  @Garfonso
                  verstehe was du meinst. Hast wohl auch recht das diese GAs eigentlich nicht zusammen passen.

                  Neues Problem, unter 1.20 konnte ich Homekit ganz normal nutzten.
                  Nun ist es so das jedes mal wenn ich über Homekit ein Befehl absetzte die Meldung kommt:

                  (8392) Unknown ID

                  demenstprechend wird der Befehlt nicht weitergeleitet 😞

                  kann da jemand weiter helfen ???

                  chefkoch009 1 Reply Last reply Reply Quote 0
                  • chefkoch009
                    chefkoch009 Developer @sourex last edited by

                    @sourex ich benutze kein HomeKit und kenne diese Meldung nicht. Könntest du ein bisschen mehr log zur Verfügung stellen?

                    VG
                    chefkoch009

                    1 Reply Last reply Reply Quote 0
                    • S
                      sourex last edited by

                      klar kann ich. Allerdings ist es nur die eine Meldung die ich geschrieben habe vom KNX,
                      habe deswegen auch mal die vom Homekit dabei gemacht.

                      22.PNG

                      chefkoch009 1 Reply Last reply Reply Quote 0
                      • chefkoch009
                        chefkoch009 Developer @sourex last edited by

                        @sourex entfern mal das / aus der mittelgruppe.

                        VG
                        chefkoch009

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          sourex @chefkoch009 last edited by

                          @chefkoch009
                          in der Tat, alle anderen ohne / gehen.
                          In der 1.20 war das noch kein Problem.
                          Ich werde Licht raus schmeißen, war eh nur zum testen.
                          Ich möchte nichts an dem Licht ändern seitdem du das so zum laufen bekommen hast das es in der VIS alles auch richtig angezeigt wird 🙂

                          1 Reply Last reply Reply Quote 0
                          • frankthegreat
                            frankthegreat @chefkoch009 last edited by

                            @chefkoch009
                            Hab gerade die 1.0.40 auf mein Testsystem geprügelt. Meine Projektdatei lässt sich jetzt ohne Probleme einlesen 👌
                            Ein Nachpflegen der Adressen scheint auf den ersten Blick auch nicht mehr nötig zu sein.
                            Super Arbeit, die du hier ablieferst. 👍
                            Vielen Dank

                            1 Reply Last reply Reply Quote 0
                            • J
                              Jörg D. last edited by

                              Guten Abend,

                              das Update von der 1.0.39 auf die 40 startet der Adapter nicht mehr. Fehler im Log:

                              startInstance knx.0: cannot find start file!

                              Nach Downgrade auf 1.0.39 läuft er wieder.

                              Jörg

                              chefkoch009 1 Reply Last reply Reply Quote 0
                              • chefkoch009
                                chefkoch009 Developer @Jörg D. last edited by

                                @Jörg-D ein Upgrade via github funktioniert auch nicht. Installier es bitte mit npm.

                                VG
                                chefkoch009

                                1 Reply Last reply Reply Quote 0
                                • J
                                  Jörg D. last edited by

                                  Danke! Einen schönen Sonntag 🙂

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    mstrack last edited by

                                    Ich habe ein Problem mit der aktuellen 1.0.41 und dem Senden von Temperaturwerten mit dem DPT 9.001. Beim aktualisieren eines Wertes in iobroker bekomme ich auf die besagte GA nur einen Read und die entsprechende Antwort vom KNX-Bus bzw des Gerätes in der Diagnose der ETS zu sehen. Das Objekt im iobroker bleibt auf dem von mir geänderten Wert.

                                    Nach etlichem Probieren habe ich einen der weiter obe stehenden Tips mit dem zurückgehen auf Version 1.0.20 versucht. damit funktioniert die Kommunikation exakt wie gewünscht.

                                    Grüße Martin

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

                                      @mstrack Hat sich geklärt, ich hatte noch falsche Flags in der ETS gesetzt gehabt und deshalb das komishe Verhalten. Jetzt wo ich alles angepasst habe funktioniert wieder alles wie gewollt.

                                      1 Reply Last reply Reply Quote 0
                                      • tsero
                                        tsero last edited by

                                        Hallo zusammen!

                                        Habe da ein Problem mit Bus Reads ... möchte eine GA auslesen, aber es wird kein GroupValueRead abgesetzt. Bin aktuell auf 1.0.41.
                                        Der DP ist folgendermaßen definiert:

                                        {
                                          "from": "system.adapter.knx.0",
                                          "user": "system.user.admin",
                                          "ts": 1586887293841,
                                          "common": {
                                            "name": "Messen Wind max m/s",
                                            "type": "number",
                                            "role": "value",
                                            "unit": "m/s",
                                            "max": 670670,
                                            "min": 0,
                                            "read": true,
                                            "write": false,
                                            "update": true
                                          },
                                          "native": {
                                            "dpt": "DPT9.005",
                                            "address": "0/1/52",
                                            "addressRefId": "P-01ED-0_GA-55",
                                            "statusGARefId": "",
                                            "actGARefId": "",
                                            "objRef": "O-2_R-631",
                                            "devName": "M-0001_A-9101-01-0F6B-O00C9",
                                            "devInst": "P-01ED-0_DI-620",
                                            "objectSize": ""
                                          },
                                          "acl": {
                                            "object": 1636,
                                            "owner": "system.user.admin",
                                            "ownerGroup": "system.group.administrator",
                                            "state": 1636
                                          },
                                          "_id": "knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s",
                                          "type": "state"
                                        }
                                        

                                        Damit versuche ich einen Wert von der Wetterstation auszulesen:

                                         log("max knx wind = "+getState('knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s').val);
                                        

                                        Aber am Bus passiert gar nichts! Kein Read. Im log sehe ich auch keinen Bus-Request

                                        2020-04-19 13:49:27.541 - info: javascript.0 (10521) Stop script script.js.Tests.JS_tests
                                        2020-04-19 13:49:27.688 - info: javascript.0 (10521) Start javascript script.js.Tests.JS_tests
                                        2020-04-19 13:49:27.703 - info: javascript.0 (10521) script.js.Tests.JS_tests: max knx wind = 0.9
                                        2020-04-19 13:49:27.707 - info: javascript.0 (10521) script.js.Tests.JS_tests: licht EG SZ = true
                                        2020-04-19 13:49:27.708 - info: javascript.0 (10521) script.js.Tests.JS_tests: registered 0 subscriptions and 0 schedules
                                        2020-04-19 13:49:27.719 - silly: knx.0 (11641) States user redis pmessage knx.0.*/knx.0.Schalten.EG.EG_Schlafzimmer_Licht__E10_1:{"val":true,"ack":false,"ts":1587296967716,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1587296746683}
                                        2020-04-19 13:49:38.654 - info: javascript.0 (10521) Stop script script.js.Tests.JS_tests
                                        2020-04-19 13:49:38.791 - info: javascript.0 (10521) Start javascript script.js.Tests.JS_tests
                                        2020-04-19 13:49:38.801 - info: javascript.0 (10521) script.js.Tests.JS_tests: max knx wind = 0.9
                                        2020-04-19 13:49:38.801 - info: javascript.0 (10521) script.js.Tests.JS_tests: licht EG SZ = true
                                        2020-04-19 13:49:38.804 - info: javascript.0 (10521) script.js.Tests.JS_tests: registered 0 subscriptions and 0 schedules
                                        2020-04-19 13:49:38.815 - silly: knx.0 (11641) States user redis pmessage knx.0.*/knx.0.Schalten.EG.EG_Schlafzimmer_Licht__E10_1:{"val":true,"ack":false,"ts":1587296978810,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1587296746683}
                                        

                                        Das einzige was auf den Bus raus geht, ist ein setState, aber sämtliche getStates gehen nicht raus.
                                        Eigentlich sollte doch wenn L und U gesetzt sind ein GroupValueRead gemacht werden, oder? Funktioniert das bei euch?? Oder steh' ich wieder mal auf der Leitung ...

                                        Garfonso 1 Reply Last reply Reply Quote 0
                                        • Garfonso
                                          Garfonso Developer @tsero last edited by

                                          @tsero

                                          getState kann keinen GetValueRead auf dem Bus auslösen. Das ist nur eine Abfrage der ioBroker Datenbank und es wird nicht beim Adapter nachgefragt (und so wie du es verwendest, wird sogar nichtmal die DB gefragt, sondern der Cache des Javascript Adapters). Von daher kann es so nicht gehen.

                                          Was gehen könnte ist, wenn du den State schreibst. Da hatte @chefkoch009 mal etwas implementiert, das wenn read & write Flags im ioBroker beide true ein GetValueRead ausgeführt wird, wenn du darauf mit setState schreibst, siehe auch die Readme des Adapters ( https://github.com/iobroker/iobroker.knx ) (es haben auch die Flags der GA noch etwas zu sagen -> guck am besten nach).

                                          Natürlich musst du dein Skript deutlich anders machen, und zwar eher so:

                                          //log new measurement, ack: true -> only react to readings from bus!
                                          on({ id: 'knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s', ack: true}, (e) => {
                                               log("max knx wind = "+e.state.val);
                                          });
                                          
                                          //trigger GroupValueRead
                                          setState('knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s', 0);
                                          
                                          

                                          Wichtig ist das ack: true beim "on" -> damit reagiert die Funktion nur auf Daten, die vom Bus kommen (sonst würde es auch die 0 ausgeben, die wir unten schreiben). Anstatt 0 schreiben, könnte man auch irgendeine andere Zahl, z.B. den aktuellen Wert oder was negatives. Das man den Wert selber schreibt, muss man bei anderen Skripten / Statistik / Sourceanalytics / History irgendwie im Kopf haben. Daher nutze ich die Funktion nicht so gerne, sondern lasse eigentlich alle meine KNX Geräte zyklisch senden (damit könnte man sich im Skript dann das "setState" sparen).

                                          1 Reply Last reply Reply Quote 0
                                          • tsero
                                            tsero last edited by

                                            @Garfonso

                                            Danke für die Erklärung! Hatte mir schon sowas gedacht. Allerdings bin ich von der Adapter-Doku ausgegangen, und aufgrund von
                                            0bcc8ade-c2cd-4f24-bd8b-bf385a80e9b4-image.png habe ich mir gedacht, ein getState wäre ein Trigger für das GroupValueRead. Bin gerade erst dabei mich in ioBroker einzuarbeiten und da gibt es natürlich noch ein paar Startschwierigkeiten ...

                                            Das mit dem Caching von getStates ist mir auch neu und eine Beschreibung dazu konnte ich auch noch nicht finden. Die Funktionsbeschreibung erwähnt das nämlich nicht.

                                            Wie du schon schreibst, schön ist die Variante nicht. Ich kann den Messwert auch über eine eigene GA anfordern. Denke mal das wird dann die bessere Variante sein. Das würde ich dann ungefähr so machen

                                                setState('knx.0.0_Zentral.0_1_Messwerte.Abfrage_Wind_max',true);
                                                setStateDelayed("javascript.0.scriptEnabled.Wetter.iMaxWind", getState("knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s").val*3.6,2000);
                                            

                                            Kann ich davon ausgehen, dass ich mit einer Verzögerung von 2s dann schon den neuen Wert mit getState bekomme (am Bus sehe ich den Response nach <0,1s). Oder bekomme ich dann noch den Wert aus dem Cache? Bzw. wie kann man den Cache umgehen?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            356
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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