Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX Taster 8-fach plus IR Empfänger über openHAB ansteuern?

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

    KNX Taster 8-fach plus IR Empfänger über openHAB ansteuern?

    Hallo, nach einigen Recherchen habe ich mich für openhab entschieden und freue mich, hier jetzt im Forum zu sein. Unser Haus wurde vor über 20 Jahren mit einem EIB gebaut. Nun möchte ich den vorhandenen Bus für eine Visualisierung und Steuerung, etc nutzen. Ich habe mir ein IP Gateway (Weinzierl 731) eingerichtet, kann jetzt schon Licht schalten, dimmen, Rolläden auf/ab fahren ....

    Ich bin aber absoluter Anfänger und bin noch sehr viel am nachlesen und probieren.

    Woran ich aber aktuell scheitere ist folgendes: Wir haben im Wohnzimmer einen programmierbaren 8-fach Taster mit IR Schnittstelle. Über jede dieser 8 Tasten (oder über die dazugehörige Fernbedienung) wird ein Lichtszenario ausgeführt, d.h. Steckdosen und Lampen im Wohnzimmer entsprechend ein/aus geschaltet und zwei Lampen auf definierte Helligkeiten gedimmt.

    Die Programmierung der Szenarien (der einzelnen 8 Tasten) erfolgt aktuell so, dass man sich das Szenario im Wohnzimmer wunschgemäss einstellt und dann auf eine der 8 Tasten speichert. Abgerufen werden sie dann durch Drücken der jeweiligen Taste. Dann werden die Steckdosen und zwei Lampen entsprechend ein/aus geschaltet und auf den Sollwert gedimmt.

    Das möchte ich jetzt auch in openhab übernehmen. Am einfachsten wäre es vermutlich, wenn ich mit openhab das Betätigen der einzelnen Hardware-Tasten auslösen könnte. Dann wäre ich fertig. Das scheint aber nicht zu gehen?!

    Hat jemand eine Idee? Kann ich irgendwie die Parmeter der einzelnen Szenarien aus dem 8 Fach Taster lesen? Dann könnte ich damit anschlianschließend die GA ansprechen und entsprechend einstellen. Zusätzlich müsste ich in letzter Konsequenz auch ggf. eine neue Konfiguration für jede Taste schreiben können.

    Die grundlegende Frage ist vermutlich, ob man einen Taster ansprechen, betätigen und/oder auslesen kann?


    #2
    Erst mal ist wichtig, zu verstehen, dass Du nicht den Taster ansteuerst. Der Taster wird sich mit hoher Wahrscheinlichkeit auch nicht die Sollwerte der verschiedenen Aktoren merken (das mag aber anders sein, da kommt es auf das Modell an)
    Ich vermute, dass es sich um eine reine Szenensteuerung handelt. Der Taster hat auf seinen acht Tasten die Werte eins bis acht hinterlegt, welche jeweils an die selbe(!) Gruppenadresse gesendet werden. Dabei wird bei einem langen Tastendruck der Speichern-Befehl gesendet, bei einem kurzen Tastendruck wird der Laden-Befehl gesendet.
    Die IR-Fernbedienung steuert dann tatsächlich den Taster, der daraufhin die passenden Befehle sendet.
    Die eigentliche Schaltstellung wird aber nicht im Taster gespeichert, sondern im jeweiligen Aktor (egal ob Schalt- oder Dimmaktor). Alle Aktorkanäle, die angesteuert werden, hören auf die selbe(!) GA, über die dann der Szenenbefehl samt Nummer empfangen wird.
    In openHAB kannst Du Szenenbefehle ganz einfach mit einem number Channel versenden, wichtig ist dabei aber, dass Du den DPT 17.001 mit angibst. Also z.B. GA = 5/2/29, dann schreibst Du als Parameter für den number Channel unter ga: 17.001:5/2/29
    Speichern der Einstellungen von openHAB aus ist eher schwierig (ginge aber, wenn Du als DPT 18.001 angibst und dann jeweils 128 hinzuzählst - Bit 7 bestimmt über lesen/schreiben, Bit 5-0 ergibt die Szenennummer, Bit 6 ist reserviert und muss immer 0 sein).

    Eine weitere Sache, die in dem Zusammenhang zu beachten ist: in knx gibt es Szenenspeicher (abhängig vom Gerät) von 1 - 64 (manche Geräte haben nur 32 oder nur 16 Szenenspeicher, aber die Zählung beginnt immer bei 1)
    In Wirklichkeit ist der Szenenwert aber 0-basiert. openHAB rechnet hier nicht um, das heißt, willst Du die knx-Szene 1 aufrufen, musst Du eine 0 senden. Willst Du knx-Szene 8 aufrufen, musst Du eine 7 senden (usw.)
    Außerdem gibt es (immer noch) ein unschönes Verhalten, openHAB setzt den empfangenen (Integer) Szenenwert einfach in eine Float Zahl um, d.h. es hängt immer ein .0 hinten dran. Aus 4 wird also 4.0 usw. Anschließend beschwert openHAB sich über ungültige Werte aber es funktioniert trotzdem, immerhin.

    Wie oben erwähnt ist es natürlich immer noch möglich, dass der Taster selbst der Szenenspeicher ist. Dann würde tatsächlich der Taster die Befehle an die Aktoren senden - unwahrscheinlich, aber immerhin möglich. In diesem Fall wird der Taster aber über einen GA steuerbar sein, eben um die Szenen auch von anderswo abrufen zu können. Alternativ könntest Du dann immer noch die entsprechenden Werte in openHAB in einer Rule hinterlegen und aus openHAB heraus die Szenen unabhängig steuern. Wenn die Szenen häufiger an den Tastern angepasst werden, ist das doof, weil openHAB von dieser Änderung im Zweifel nichts mitbekommen wird.

    Kommentar


      #3
      Vor 20 Jahren war es durchaus üblich, dass es spezielle Szenen-Schalter gab. Am besten den Schalter mal demontieren (ggf. ist hinter dem Beschriftungsfeld eine Verriegelung/Schraube und die Modellnummer des Tasteraufsatz (steht auf der Rückseite) hier nennen. Ohne Infrarot wäre das Äquivalent der 2094 LZ.

      Kommentar


        #4
        Zitat von udo1toni Beitrag anzeigen
        Erst mal ist wichtig, zu verstehen, dass Du nicht den Taster ansteuerst. Der Taster wird sich mit hoher Wahrscheinlichkeit auch nicht die Sollwerte der verschiedenen Aktoren merken (das mag aber anders sein, da kommt es auf das Modell an)
        Ich vermute, dass es sich um eine reine Szenensteuerung handelt. Der Taster hat auf seinen acht Tasten die Werte eins bis acht hinterlegt, welche jeweils an die selbe(!) Gruppenadresse gesendet werden. Dabei wird bei einem langen Tastendruck der Speichern-Befehl gesendet, bei einem kurzen Tastendruck wird der Laden-Befehl gesendet.
        Die IR-Fernbedienung steuert dann tatsächlich den Taster, der daraufhin die passenden Befehle sendet.
        Die eigentliche Schaltstellung wird aber nicht im Taster gespeichert, sondern im jeweiligen Aktor (egal ob Schalt- oder Dimmaktor). Alle Aktorkanäle, die angesteuert werden, hören auf die selbe(!) GA, über die dann der Szenenbefehl samt Nummer empfangen wird.
        In openHAB kannst Du Szenenbefehle ganz einfach mit einem number Channel versenden, wichtig ist dabei aber, dass Du den DPT 17.001 mit angibst. Also z.B. GA = 5/2/29, dann schreibst Du als Parameter für den number Channel unter ga: 17.001:5/2/29
        Speichern der Einstellungen von openHAB aus ist eher schwierig (ginge aber, wenn Du als DPT 18.001 angibst und dann jeweils 128 hinzuzählst - Bit 7 bestimmt über lesen/schreiben, Bit 5-0 ergibt die Szenennummer, Bit 6 ist reserviert und muss immer 0 sein).

        Eine weitere Sache, die in dem Zusammenhang zu beachten ist: in knx gibt es Szenenspeicher (abhängig vom Gerät) von 1 - 64 (manche Geräte haben nur 32 oder nur 16 Szenenspeicher, aber die Zählung beginnt immer bei 1)
        In Wirklichkeit ist der Szenenwert aber 0-basiert. openHAB rechnet hier nicht um, das heißt, willst Du die knx-Szene 1 aufrufen, musst Du eine 0 senden. Willst Du knx-Szene 8 aufrufen, musst Du eine 7 senden (usw.)
        Außerdem gibt es (immer noch) ein unschönes Verhalten, openHAB setzt den empfangenen (Integer) Szenenwert einfach in eine Float Zahl um, d.h. es hängt immer ein .0 hinten dran. Aus 4 wird also 4.0 usw. Anschließend beschwert openHAB sich über ungültige Werte aber es funktioniert trotzdem, immerhin.

        Wie oben erwähnt ist es natürlich immer noch möglich, dass der Taster selbst der Szenenspeicher ist. Dann würde tatsächlich der Taster die Befehle an die Aktoren senden - unwahrscheinlich, aber immerhin möglich. In diesem Fall wird der Taster aber über einen GA steuerbar sein, eben um die Szenen auch von anderswo abrufen zu können. Alternativ könntest Du dann immer noch die entsprechenden Werte in openHAB in einer Rule hinterlegen und aus openHAB heraus die Szenen unabhängig steuern. Wenn die Szenen häufiger an den Tastern angepasst werden, ist das doof, weil openHAB von dieser Änderung im Zweifel nichts mitbekommen wird.
        Super, vielen Dank für die schnelle Antwort. Das klingt ja recht plausibel und einigermaßen einfach. Das werde ich am Wochenende mal ausprobieren. Noch eine Frage dazu: Wo bekomme ich solche Infos her. Ist sowas irgendwo dokumentiert?

        Kommentar


          #5
          Zitat von tobiasr Beitrag anzeigen
          Vor 20 Jahren war es durchaus üblich, dass es spezielle Szenen-Schalter gab. Am besten den Schalter mal demontieren (ggf. ist hinter dem Beschriftungsfeld eine Verriegelung/Schraube und die Modellnummer des Tasteraufsatz (steht auf der Rückseite) hier nennen. Ohne Infrarot wäre das Äquivalent der 2094 LZ.
          Vielen Dank. Ich probiere erstmal den Vorschlag von udo1toni aus. Wenn das nicht funktioniert, werde ich mal das genaue Schalter oder nachsehen.

          Kommentar


            #6
            Schau dir doch einfach mal das Handbuch vom Taster an. Aber dafür muss man ihn ausbauen. Wenn du das nicht willst, kannst weiter im dunkeln fischen.

            Kommentar


              #7
              Ich finde nichts zum Gebrauch vom number channel?! Wie schicke ich eine Szenennummer mit Hilfe eines number channels an die GA?

              Kommentar


                #8
                Wir haben im Wohnzimmer 8-fach-Taster mit Infrarot von Merten. Stelle doch mal ein Foto ein, vielleicht sind es solche. Dann wird es konkreter.

                Der Hinweis von tobiasr, sie auszubauen, ist auch korrekt. Der Ausbau geht ratzfatz.
                openHAB 4.2

                Kommentar


                  #9
                  20230414_091529.jpg Hier mal ein paar Fotos:

                  20230414_091429.jpg 20230414_091410.jpg

                  Leider ist der eije Aufkleber teilweise abgezogen. Man kann noch "Jung " lesen.
                  Angehängte Dateien

                  Kommentar


                    #10
                    Wenn ich den Thread https://knx-user-forum.de/forum/%C3%...nabs-universal richtig deute, ist tobiasr tatsächlich der richtie Ansprechpartner für dich
                    openHAB 4.2

                    Kommentar


                      #11
                      https://downloads.jung.de/public/de/...094irlz_td.pdf

                      https://downloads.jung.de/public/de/..._2094lz_td.pdf

                      https://downloads.jung.de/public/de/...e_2094irlz.vd1

                      Der zweite Link beschreibt den Zusammenhang von Szenen-Nebenstellen (Kaskade genannt) recht gut.

                      Nachtrag: Mit der ETS (auch Demo) kannst du entsprechend Test-Gruppenadressen senden, ganz ohne OpenHab verstanden zu haben.

                      Kommentar


                        #12
                        Der einzige Unterschied besteht darin, ob zwingend bereits eine GA für die Lichtszene parametriert ist oder nicht. Hätte ich evtl. oben noch herausstellen sollen.

                        Wäre der Taster "nur" ein gewöhnlicher Taster, der Lichtszenen im Aktor speichert oder abruft, so müsste er über eine GA für diese Aufgabe mit den Aktoren verknüpft sein.

                        So (dieses Modell mit Szenenspeicher) ist er über die normalen GA mit den Aktoren verknüpft.
                        Aber es gibt ja die Option, über das KO 17 eine Szenennebenstelle zu verbinden. openHAB ist in diesem Fall eine Szenennebenstelle. Man muss also nur in KO 17 eine GA eintragen (falls bereits eine eingetragen ist, kann man natürlich die vorhandene nehmen).

                        Nehmen wir an, es ist in KO 17 die GA 2/3/4 gesetzt, dann muss in openHAB ein Number Channel wie folgt konfiguriert werden:
                        Code:
                        Type number : scene "Szene" [ ga="17.001:2/3/4" ]
                        Die Schreibweise ist die einer *.things Datei, die Zuordnung über die Main UI sollte aber ebenfalls nicht schwerfallen:
                        In die ID des Channels kommt scene (Du kannst auch jegliche andere Bezeichnung wählen, scene ist halt sprechend für die Funktion)
                        In das Label kommt Szene (auch hier gilt sinngemäß die Aussage zur ID)
                        im Feld Geräteadresse wird 17.001:2/3/4 eingetragen.

                        Der Channel wird anschließend mit einem Number Item verlinkt.

                        Nun kannst Du je nach verwendeter GUI (Main UI Pages, HABPanel, Sitemap...) ein Widget erstellen, welches die Wert 0 - 7 an das Item senden kann.
                        openHAB erhält keine Rückmeldung über eine Szene. Szenen sind allgemein "Fire and forget", das heißt, eine Szene ist nicht "aktiv" und "inaktiv", sondern eine Szene wird aufgerufen.

                        Kommentar


                          #13
                          Es scheint so, als wenn jede Taste immer die gleichen GA anspricht. Das spricht dafür, dass die Einstellungen nicht im Taster selbst gespeichert sind. Ich vergolge jetzt den Vorschlag von udo1toni. Ich mache es über Main UI (erstmal nur für eine GA, habe aber noch ein Verständnisproblem:

                          1. Thing anlegen
                          Das hat dann folgenden Code:

                          UID: knx:device:2e09b2b3ff
                          label: Scene
                          thingTypeUID: knx:device
                          configuration:
                          pingInterval: 600
                          readInterval: 0
                          fetch: true
                          bridgeUID: knx:ip:98af19c06b​

                          2. Number Channel hinzufügen:

                          Code:
                          UID: knx:device:2e09b2b3ff
                          label: Scene
                          thingTypeUID: knx:device
                          configuration:
                          pingInterval: 600
                          readInterval: 0
                          fetch: true
                          bridgeUID: knx:ip:98af19c06b
                          channels:
                          - id: TestScene
                          channelTypeUID: knx:number
                          label: Tetstszene
                          description: ""
                          configuration:
                          ga: 17.001:1/1/18


                          ​3. Mit Number Icon verlinken:

                          Ich wähle "Add link to them ..." -> "create a new item"-> keine Category?-> Speichen

                          Wenn ich die Testszene dann auswähle steht dort gross "Null über "Analyze"". Tippe ich auf "Null" bekomme ich eine x-Achse mit Datum.
                          Habe ich erstmal ignoriert.

                          4. Widget für z.B. Sitemap:

                          Hier bin ich noch komplett lost: Ich wähle "Pages">"New Sitemap">"Scene">"Item">"Testszene"
                          Jetzt brauche ich aber ja noch ein geeignetes Icon, wo ich ein Scene (0-7) eingeben o.ä. kann und dann muss die Szenennummer dann ja auch noch an die GA geschickt werden?!

                          5. Mehrere GA

                          Advanced Frage: Falls 1-4 funktioniert, wie löse ich das dann für die 8 GA die der Taster bei einem Tastendruck ansteuert?
                          Schreibt man die GA einfach mit einem "+" hintereinander weg?


                          Kommentar


                            #14
                            Es scheint so, als wenn jede Taste immer die gleichen GA anspricht. Das spricht dafür, dass die Einstellungen nicht im Taster selbst gespeichert sind.
                            Ähm, nein. das genaue Gegenteil ist der Fall.

                            Die Funktionsweise eines Szenenspeichers läuft folgendermaßen ab:
                            Es gibt im Szenenspeicher für jeden zu steuernden Aktorkanal einen Speicherplatz pro Taste. Der Szenenspeicher kann dabei Schaltaktorkanäle und Dimmaktorkanäle ansteuern, jeweils pro Kanal einstellbar.

                            Stell es Dir als Matrix der Größe 8 x 8 vor, wobei die Zeile durch die Taste bestimmt wird und die Spalte jeweils die einzelnen Aktorkanäle repräsentiert.
                            Für jede der acht Spalten werden zwei GA hinterlegt, die eine dient zum Lesen des Aktorstatus (aka Rückmelde-GA), die andere dient zum Schreiben des Aktorstatus (also um den Befehl an den Aktor zu senden).
                            Beim langen Tastendruck einer Taste wird von allen Rückmelde-GA der aktuelle Wert geholt und im passenden Speicherplatz der Tastenzeile gespeichert.
                            Beim kurzen Tastendruck einer Taste werden aus der Zeile die acht Werte gelesen und an die passenden GA gesendet.

                            Damit Du die Szenen auch aus openHAB heraus aufrufen kannst, muss eine GA im KO 17 (Kommunikationsobjekt 17) des Szenenspeichers hinterlegt sein. An diese GA kannst Du dann den Szenenbefehl senden.
                            Falls Du die Szenen von mehreren Orten auslösen kannst (also nicht nur über die IR-Fernbedienung, sondern über andere Taster, die keinen eigenen Szenenspeicher ansteuern), dann ist mit ziemlicher Sicherheit dort auch schon eine GA eingetragen. Der Szenenspeicher reagiert aber nur auf die GA, er sendet niemals auf dieser GA.
                            Denkbar ist auch, dass noch weitere Szenenspeicher als Kaskade angebunden sind (das wäre der Fall, wenn man mehr als acht Aktorkanäle steuern will), dann könnten auch die KO 16 und 18 verwendet werden (diese dienen der Kopplung von Master und Slaves bei der Kaskade).
                            Zuletzt geändert von udo1toni; 14.04.2023, 19:35.

                            Kommentar


                              #15
                              😕 Also kommen die Infos doch aus dem Taster?

                              Komplett Reset!

                              Hier das Busprotokoll:

                              Zeilen 1-8 = eine Taste am 8-fach-Taster gedrückt
                              Zeilen 9-14 = eine andere Taste am 8-fach-Taster gedrückt


                              grafik.png
                              1/1/10 (Rückmeldung 1/1/11) und 1/1/12 (Rückmeldung 1/1/13) sind z.B. zwei Steckdosen. 1/1/16 (Rückmeldung 1/1/17) ist eine Deckenbeleutchtung mit Wert. 1/1/20 (Rückmeldung 1/1/21) ist eine andere Deckenbeleutchtung mit Wert.

                              1.1.93 ist ein 6-fach-Schaltaktor für die Terassenbeleuchtung und Steckdosen 1/1/10 und 1/1/12
                              1.1.95 ist ein Steuerbaustein u.a. für Dimmen für 1/1/16 und 1/1/20


                              Hier ein Screenshot aus der Topologie zum 8-fach Taster:

                              grafik.png

                              grafik.png

                              Die Parameter dazu sehen so aus:

                              grafik.png

                              z.B. für eine Lichtszene dann so:

                              grafik.png

                              Sonderfunktion "Kaskadierbetrieb = aus"​:

                              grafik.png

                              Mein Fazit: Ich muss irgendwie auslesen, welche Werte die Ausgänge 1-8 der jeweiligen Lichtszene haben und diese Werte dann entsprechend irgendwie and die Gruppenadressen schicken? Richtig verstanden?











                              Kommentar

                              Lädt...
                              X