Ankündigung

Einklappen
Keine Ankündigung bisher.

openhab3 KNX binding

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    openhab3 KNX binding

    Hallo!

    Anfängerfrage: ich versuche eine KNX Szene auf OH3 anzusprechen.
    Die Szene ist auf einem DaliGW hinterlegt.

    Ich habe den X1 als Thing angelegt, ebenso das DaliGW mit der phyikalischen Adresse - dass dieses als Offline angezeigt wird ist glaub ich normal?

    1.jpg

    2.jpg
    So, und hier gehts schon los. Lege ich nun im Channel vom KNX-Irgendwas die Gruppenadresse für die Szene an (Number Control) und wo trage ich dann die gewünschte Szenennummer ein?
    Vielleicht hat ja jemand ein paar Screenshots von einem Beispiel.

    Weitere Frage: lege ich alle Aktoren welche ich ansprechen möchte auf der Ebene Thing an und die Funktionen dann darunter als Channel - ich check das nicht ganz.

    Vielleicht hat auch jemand einen guten Doku- Link für OH3 KNX Binding.

    Danke und Gruß
    Tom



    Angehängte Dateien

    #2
    Punkt 1: Warum sollte es normal sein, dass ein Thing offline angezeigt wird?

    Punkt 2: Things sind in openHAB das Abbild von Devices. Entsprechend kann man (muss aber nicht) eine physikalische Adresse angeben. Unterhalb des Things legst Du dann Channel an, letztlich für jede Funktion einen Channel. Es kommt etwas auf die Funktion an, ein Schaltkanal -> ein switch Channel. Ein Temperatursensor -> ein number Channel.
    Etwas anders verhält es sich bei Szenen, denn Szenen "gehören" potentiell nicht nur einem Device. Deshalb gibt es auch keinen Status für die Szene.

    Wenn Du ein Thing anlegst, solltest Du unmittelbar einen sinnvollen Namen vergeben, z.B. device_1_1_12 für das Device mit der physikalischen Adresse 1.1.12 (Punkte sind im Namen nicht erlaubt). Die Szene definierst Du als Number Channel, die GA trägst Du gemeinsam mit dem DPT 17.001 ein, also z.B. 17.001:1/2/3. Number Channel nutzen gewöhnlich DPT 9.001, deshalb ist der DPT in diesem Fall zwingend anzugeben.
    Normalerweise wird man einen solchen Szenen-Channel in einem virtuellen Thing anlegen (also ein Device, was physisch nicht vorhanden ist), denn die Szene ist ja eventuell deviceübergreifend. Logischerweise hat ein solches Thing keine physikalische Adresse!

    Die Doku zu knx findest Du in der offiziellen openHAB Doku: https://www.openhab.org/addons/bindings/knx/

    Kommentar


      #3
      Und kein Number-Control sondern nur Number verwenden. Die Control-Elemente sind für KNX-Fremde Objekte. Die richtige Syntax der GA hat udo1toni ja schon genannt. In openHab musst du die Szenennummern auch mit -1 umrechnen. ETS: 17 -> obenHab: 16

      Ich habe mich in openHab übrigens von den Aktoren logisch losgelöst und arbeite mit Bereichen:
      Bildschirmfoto 2021-02-01 um 09.24.03.png

      Die physikalischen Adressen braucht man ja nicht, sondern nur die GA. Klappt super.

      Kommentar


        #4
        Zitat von udo1toni Beitrag anzeigen
        Punkt 1: Warum sollte es normal sein, dass ein Thing offline angezeigt wird?
        Das habe ich wohl daraus abgeleitet, dass man bei einem KNX Thing nicht unbedingt eine phsik. Adresse hinterlegen muss, wie soll es also dann einen korrekten Status haben.
        Da ich aber eine Adresse hinterlegt habe, sollte es funktionieren - hat es auch schon. Ich habe allerdings im OH3 Forum darüber gelesen, dass einige User ähnliche Probleme haben dass KNX Things sporadisch als online und dann wieder als offline angezeigt werden obwohl nichts an der config geändert wurde. Lösung habe ich noch keine gefunden, werde aber berichten.

        Das mit den Bereichen gefällt mir sehr gut, zumal ich nicht meine komplette KNX Welt dort abbilden möchte, sondern OH "nur" als Schnittstelle zu anderen ANwendungen hin verwenden möchte, wie z.B. KNX Szene über Harmony Fernbedienung auslösen oder Garagentor öffnen beim Starten der Standheizung des Autos (und bevor jemand fragt: die Garage steht nordseitig frei und ist unbeheizt, kann also schon mal unter 0 haben)

        In den KNX Szenen hast du also z.B. einen Channel mit der GA für die jeweilige Szene angelegt - und in die Adresse kommt dan wirklich 18.001:1/2/3 rein (oder was ich halt in der ETS definiert habe. Werde ich gleich heute Abend testen.

        Kommentar


          #5
          Nicht 18.0001 sondern 17.001. Hier mal mein funktionierendes Beispiel:
          Bildschirmfoto 2021-02-01 um 11.24.13.png
          Bildschirmfoto 2021-02-01 um 11.24.34.png
          Bildschirmfoto 2021-02-01 um 11.24.44.png

          Kommentar


            #6
            Super, vielen Dank. Und wo gibst du nun die Szenennummer an? Ist das die 1 in dem gelinkten Item, und wie kommt die da rein?

            EDIT: Ok, grad gecheckt - das mach ich dann über einen Action Command auf den Pages? Jetzt kann ich zumindest die Szene schon so aufrufen.
            Zuletzt geändert von tasteofchaos; 02.02.2021, 21:48.

            Kommentar


              #7
              Unterschied 18.001 <-> 17.001 : In 18.001 darf das Bit 8 auf 1 gesetzt werden, was dann bedeutet, dass diese Szene gespeichert wird. Ansonsten sind beide DPT identisch, d.h. die sechs LSB ergeben eine Dezimalzahl von 0 - 63, was der Szenennummer 1 - 64 entspricht. Bit 7 muss immer auf 0 bleiben. Mit DPT 18.001 könnte man also aus openHAB heraus durch addieren von 128 zur Szenennummer den Aktoren die Anweisung geben, den aktuellen Status unter dieser Szenennummer zu speichern.

              Kommentar


                #8
                Zitat von tasteofchaos Beitrag anzeigen
                Super, vielen Dank. Und wo gibst du nun die Szenennummer an? Ist das die 1 in dem gelinkten Item, und wie kommt die da rein?

                EDIT: Ok, grad gecheckt - das mach ich dann über einen Action Command auf den Pages? Jetzt kann ich zumindest die Szene schon so aufrufen.
                Du brauchst natürlich ein Item dazu. Ich nutze es per Sitemap, damit ich die Lüftung übers Smartphone steuern kann:
                Code:
                Switch item=KNXSzenen_Luftung label="Lüftung" mappings=[0="aus", 1="niedrig", 2="mittel", 3="hoch"]

                Kommentar


                  #9
                  Yes - funktioniert.
                  Mit 2 Rules das Ziel erreicht: sobald ich mit der Harmony eine Aktion (TV, Netflix...) starte wird abhängig von der Tageszeit (KNX Sonnenstand bzw. Tag/Nacht Modus) die gewünschte Szene aufgerufen (die Szene sperrt bei mir die Konstantlichtregelung vom PM und schaltet die 3 Lichtquellen auf hinterlegten Wert)
                  Die zweite Rule entsperrt bei PowerOff Taste der Harmony den PM wieder und somit ist die Konstantlichtregelung wieder aktiv und das Licht geht an.
                  Als Bonus um die bessere Hälfte zu beeindrucken wird über das Sonos zeitgleich noch ein "Gute Nacht" abgespielt

                  Bin zwar noch nicht ganz durch mit dem Thema OH aber glaube das Prinzip nun im Ansatz verstanden zu haben - und bin begeistert. Da ermöglichen sich einem ja extrem viele neue Möglichkeiten, auch wenn ich da nicht an eine Steuerung über die OH App denke (verwende dazu Gira x1). Aber mit den Rules kann man schon extrem viel cooles machen.

                  Danke euch!

                  Kommentar


                    #10
                    Die Idee von openHAB ist auch nicht in erster Linie, Geräte über eine UI zu bedienen, sondern eher, die UI überflüssig zu machen

                    Kommentar


                      #11
                      Wenn du nur openHab für Rules verwendest, nutzt du eigentlich das falsche Tool. Klingt für mich eher nach einem Einsatz von Node-Red. Ist viel leichter eingerichtet, sehr gut grafisch aufbereitet und nachvollziehbarer als openHab.

                      Die entsprechenden Nodes für KNX und Harmony gibts natürlich auch:
                      https://flows.nodered.org/node/node-red-contrib-harmony
                      https://flows.nodered.org/node/node-...b-knx-ultimate (mit Beispiel-Videos)

                      Will dir openHab nicht madig machen, nutze es auch sehr gerne. Jedoch ist openHab meine "Zentrale" und Node-Red das "Arbeitstier" für Automatisierungen & co. Du kannst mit Node-Red auch mit openHab-Items nutzen. Die Möglichkeiten sind quasi grenzenlos

                      Kommentar


                        #12
                        Hallo, könntest Du nochmal zusammenfassen, woran es lag, dass Dein Thing als "Offline" angezeigt wurde?
                        Ich habe auch ein paar KNX-Things angelegt, die alle als Offline gekennzeichnet sind, ansonsten aber funktionieren.
                        Mein Code für TunableWhite-Leuchten sieht so aus:
                        Code:
                        UID: knx:device:7335f76354:e970d872e3
                        label: EZ Licht
                        thingTypeUID: knx:device
                        configuration:
                        pingInterval: 600
                        address: 1.1.0
                        readInterval: 0
                        fetch: false
                        bridgeUID: knx:ip:7335f76354
                        channels:
                        - id: Schalten
                        channelTypeUID: knx:switch
                        label: Schalten
                        description: ""
                        configuration:
                        ga: 1/1/0+1/3/0
                        - id: Helligkeit
                        channelTypeUID: knx:dimmer
                        label: Helligkeit
                        description: ""
                        configuration:
                        increaseDecrease: 1/2/0
                        position: 1/2/1+1/3/1
                        switch: 1/1/0+1/3/0
                        - id: TW
                        channelTypeUID: knx:dimmer
                        label: TW
                        description: ""
                        configuration:
                        increaseDecrease: 1/2/2
                        position: 1/2/3+1/3/2

                        Kommentar


                          #13
                          Wenn ein Gerät offline angezeigt wird, aber anstandslos funktioniert, gibt es ein Problem mit der physischen Adresse des Device. Es kann auch die local Source Address der Bridge schuldig sein. Leider heißt dieser Parameter inzwischen Local Device Address, was durch das Wort Device dazu einlädt, hier eine Adresse einzutragen, die das Gateway hält. Das ist aber falsch und führt zu Verbindungsproblemen. Stattdessen muss eine Adresse eingetragen werden, die in knx von keinem Device verwendet wird (auch nicht als sekundäre physische Adresse).

                          Kommentar


                            #14
                            Danke für die Klarstellung, aber das verstehe ich nicht ganz:
                            Mein IP-Interface hat in der ETS die physikalische Adresse 1.1.1
                            Nun habe ich in Openhab3 beim KNX/IP Gateway localSourceAddr: 1.1.1 angegeben, dann wird der Gateway also "Online" angezeigt. Deine Antwort habe ich so verstanden, dass ich hier eben nicht die in der ETS vergebene Adresse angeben darf, also habe ich testweise als localSourceAddr die 1.1.101 angegeben, die ist in der ETS noch frei. Dann geht aber gar nichts mehr.
                            Also habe ich das zurückgestellt und bei meinem Item EZ Licht als address die 1.1.101 hinterlegt. Dann geht zwar wieder alles, das Item wird aber noch immer als offline angezeigt...

                            Kommentar


                              #15
                              Im Thing muss die korrekte physikalische Adresse angegeben werden. In der Bridge muss eine freie physikalische Adresse angegeben werden. Sollte dies nicht funktionieren, solltest Du in der Bridge versuchsweise gar keine physikalische Adresse eintragen. Die physikalischen Adressen sind für die eigentliche Kommunikation irrelevant.

                              Kommentar

                              Lädt...
                              X