Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit KNX und openhab2

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

    Probleme mit KNX und openhab2

    Hallo,

    meine ersten Gehversuche mit openhab2 erweisen sich als schwierig.

    - die Anbindung an KNX ist kein Problem (über eibd Raspberry Pi)
    - die Steuerung eines Dimmers funktioniert überhaupt nicht

    - .items datei:
    Dimmer Licht_EG_Wohnzimmer "Licht Wohnzimmer [%d %%]" <slider> (EG_Wohnzimmer) {knx="1.001:5/1/5+5/1/8,0,5.001:5/1/7+5/1/9"}

    - schalten über Basic UI folgendes verhalten
    ... erstes einstellen auf 50 % funktioniert ohen Probleme aber im KNX - Monitor sehe ich, das ständig Pakete mit Helligkeit auf den Bus geschickt werden
    ... beim ändern auf ander Helligkeit fängt das Licht an zu pulsieren und es werden abwechselnd Pakete altem Hellikeitswert und neuem Helligkeitswert auf den Bus geschickt.

    Hat da vielleicht jemand eine Idee was ich da falsch konfiguriert habe oder was man einstellen muß.

    Grüße

    Jürgen

    #2
    Die Frage ist ja, welche GA welche Funktion haben. Eine Item Definition bei mir:
    Code:
    Dimmer Light_GF_Kitchen_Ceiling  "Küchendecke [%.0f %%]" { knx="4/5/0+<4/5/6,5.001:4/5/2+<5.001:4/5/7" }
    Im einzelnen:
    4/5/0 ist der Befehl An/Aus,
    4/5/6 ist der Status An/Aus
    4/5/2 ist der Befehl Absolutwert setzen
    4/5/7 ist der Status Absolutwert.
    Ich bin mir nicht zu 100% sicher, ob der DPT wiederholt werden muss, habe das aber so bei mir drin stehen. Wichtig ist, dass der Status ausschließlich vom Dimmer rückgemeldet wird und jeder Dimmer eine exklusive Rückmelde GA pro Status hat.
    Weiterhin muss in der knx.cfg ignorelocalevents=true und eine gültige exklusive Busadresse für openHAB2 angegeben werden, sonst reagiert openHAB2 auf die eigenen Telegramme.

    Kommentar


      #3
      Hallo,

      udo1toni danke für den Tip der Parameter ignorelocalevents war das Problem.

      Jetzt wird zwar der Bus nicht mehr geflutet, aber zuverlässig funktioniert der openhab nicht.

      Dimmer Licht_EG_Wohnzimmer "Licht Wohnzimmer [%d %%]" <slider> (EG_Wohnzimmer) {knx="1.001:5/1/5+5/1/8,0,5.001:5/1/7+5/1/9"}

      5/1/5 Befehl An/Aus
      5/1/8 Status An/Aus wird zyklisch gesendet
      5/1/7 Absolutwert setzen
      5/1/9 Status Absolutwert wird zyklisch gesendet

      Wenn das Licht nicht von openhab geändert wird, so wird der Status des Lichtes (An/Aus) nicht korrekt geändert! Vor allen dingen schreibt openhab
      die Absolutwerte, welche von einer anderen Stelle geändert werden, nocheinmal auf den Bus?! Kann man das verhindern?
      Das Zeichen "<" bedeutet ja, das openhab zyklisch den Status abfrägt!? Deshalb habe ich das bei mir nicht konfiguriert, da der Status ja vom Aktor gesendet
      wird.

      Grüße

      Kommentar


        #4
        Das Zeichen "<" bedeutet ja, das openhab zyklisch den Status abfrägt!?
        Nein. Das < bedeutet, dass der Status beim Start von openHAB einmalig vom Bus erfragt wird.

        Warum sendest Du den Status zyklisch? Das sollte eigentlich nicht nötig sein und müllt den Bus unnötig zu. Einzig bei Sensoren (z.B. Temperatur) mag ein zyklisches Senden sinnvoll sein, im Allgemeinen ist aber Senden bei Wertänderung wesentlich besser.

        Lass den 1. DPT weg, der ist wirklich unnötig - die Wiederholung des DPT für die 2. GA der 2. Gruppe jedoch eventuell nicht, was dann auch der Grund wäre, warum es immer noch nicht richtig funktioniert.

        "Eventuell" deshalb, weil ich es nicht sicher weiß, ich kann mir aber gut vorstellen, dass man den DPT 5.001 bei beiden GA angeben muss - "keine Fehlermeldung" ist in diesem Fall kein Indiz dafür, dass die sparsame Schreibweise erlaubt ist.

        Kommentar


          #5
          Nein. Das < bedeutet, dass der Status beim Start von openHAB einmalig vom Bus erfragt wird.
          Achso ... das ist nur der Fall wenn man autoRefresh gesetzt hat.

          Die Werte werden von meinem Aktor doch nicht zyklisch gesendet, sondern nur bei Werteänderung.

          Aber openhab schreibt jedes mal, wenn der Aktor eine Statusänderung in die entsprechenden GA's meldet, diese Änderung in die demenstprechenden nicht
          Status GA's.
          z.B.: {knx="1.001:5/1/5+5/1/8,0,5.001:5/1/7+5/1/9"}
          - vom Aktor wird in die GA 5/1/8 aus gesendet (da dieser z.B. über Taster ausgeschaltet wurde)
          - danach sendet openhab in die GA 5/1/5 aus
          - in der Visualisierung von openhab ändert sich das Licht aber nicht auf aus

          Kommentar


            #6
            Zitat von schorb Beitrag anzeigen
            z.B.: {knx="1.001:5/1/5+5/1/8,0,5.001:5/1/7+5/1/9"}
            Hast du mal versucht, anstelle der 0 für relatives Dimmen eine GA mit korrekter Syntax einzusetzen?

            Kommentar


              #7
              Gast danke für den Hinweis.

              Habe es auf {knx="1.001:5/1/5+5/1/8,5.001:5/1/7+5/1/9"} geänder, was laut Doku so ok sein sollte.
              Es hat sich am Verhalten allerdings nichts geändert.

              Kommentar


                #8
                Zitat von schorb Beitrag anzeigen
                Habe es auf {knx="1.001:5/1/5+5/1/8, 5.001:5/1/7+5/1/9"} geänder, was laut Doku so ok sein sollte.
                Es hat sich am Verhalten allerdings nichts geändert.
                Bei mir gehören zum Dimmer in OpenHAB drei GA-Typen und nicht nur zwei: Schalten, Dimmen relativ, Dimmen absolut.

                /* Dimmer EA + RM, DIM, WERT + RM_WERT*/
                Dimmer LD_W_01 "Wohnz. Sofa [%d %%]" (OG_Wohnzimmer, gLampen) { knx="1/2/15+<1/2/18, 1/2/16, 1/2/17+<1/2/19"}

                Edit: Nun habe ich in der Doku den Hinweis gefunden, daß man ohne relatives Dimmen "deine" Syntax nutzen kann. Demnach wäre das also korrekt und nicht das Problem.
                Zuletzt geändert von Gast; 27.12.2016, 16:15.

                Kommentar


                  #9
                  Ja, ich habe hier das relative Dimmen auch aus dem Binding entfernt, eine 0 an der entsprechenden Stelle ist falsch (eigentlich sollte das in der openhab.log auch gemeldet werden, aber manchmal wird sowas ja einfach stillschweigend ignoriert).

                  Nochmals der Hinweis, dass der DPT für die erste GA Grupe unnötig ist, in der zweiten GA Gruppe aber eventuell zweimal angegeben werden muss, also besser:
                  Code:
                  Dimmer Licht_EG_Wohnzimmer "Licht Wohnzimmer [%d %%]" <slider> (EG_Wohnzimmer) {knx="5/1/5+<5/1/8,5.001:5/1/7+<5.001:5/1/9"}
                  PS: Zur besseren Lesbarkeit von Postings ist es sinnvoll, Code auch als Code zu kennzeichnen...

                  Kommentar


                    #10
                    Hallo Zusammen,

                    schon einmal danke für Euere Hilfe. Nachdem ich jetzt den neuesete Snapshot von openhab2 eingespielt habe sind diese Probleme nicht mehr vorhanden.
                    Es werden nicht unnötig Telegramme auf den Bus geschickt und die Aktualisierung der GUI funktioniert ohne Probleme.
                    Somit scheint es doch ein "Feature" beim KNX Binding gewesen zu sein.

                    Dann kann ich mein Projekt fortsetzen ...

                    Grüße

                    Kommentar


                      #11
                      Hi,
                      Ich möchte mich hier einmal anhängen.
                      Mein Problem ist, dass ich einen DALI Aktor habe (ABB DG/S1.1, bei dem die GA für Schalten und Rückmeldung Schalten bzw Dimmwert und Rückmeldung Dimmwert gleich sind. Ich habe in der ETS gar nicht die Möglichkeit eine andere GA für die Statusabfrage zu verwenden.
                      Bisher (1.8) hat das auch gut funktioniert - aber nachdem ich heute auf openHAB2 umgestellt habe, laufen mir all die Lampen, die über DALI laufen in eine Endlosschleife.
                      Wie kann ich das lösen? ignorelocalevents=true habe ich gesetzt. Lediglich die Busadresse habe ich nicht gesetzt, da ich dachte, dass dies bei einer einfachen Anbindung nicht nötig ist?

                      Danke
                      Matthias

                      Kommentar


                        #12
                        Damit ignorelocalevents=true greifen kann, muss openHAB seine Busadresse kennen (um die eigenen Telegrammen von den empfangenen zu unterscheiden), also doch, das ist nötig (und wie bei allen knx Konfigurationen darf diese Adresse nicht von anderen Busteilnehmern genutzt werden).

                        Ich kenne mich mit DALI nicht aus, wenn ich es beim querlesen richtig verstanden habe, könntest Du zwei Kommunikationsobjekte nutzen, um die bis zu 64 DALI Teilnehmer zu adressieren und mit ihnen zu interagieren, also Befehle abzusetzen oder gezielt den Status zu erfragen. Das passt nicht mit der Philosophie von openHAB zusammen, bei der es immer pro Kanal/Teilnehmer ein Item gibt, welches diesen Kanal/Teilnehmer in openHAB repräsentiert.
                        Soweit ich mich erinnere, gibt es für OH2 ein DALI Binding (welches über ein eigenes Gateway direkt mit DALI spricht, ohne Umweg über knx).

                        Kommentar


                          #13
                          Guten Morgen,

                          Danke für die schnelle Rückmeldung. Ich habe es gestern dann doch noch geschafft (was ich in den letzten 1,5 Jahren nicht schaffte) und bekomme vom DALI Gateway jetzt die Statusmeldung auf eine eigene GA. Somit funktioniert das Ganze jetzt wieder.
                          Die Sache mit der Busadresse verstehe ich jedoch noch immer nicht ganz. Was ist diese Busadresse, bzw. wo wird sie festgelegt?

                          Danke auch für den Tipp mit dem DALI Binding! Schaue ich mir an.

                          Gruß
                          Matthias

                          Kommentar


                            #14
                            Hallo,

                            Was ist diese Busadresse, bzw. wo wird sie festgelegt?
                            in der KNX - Binding konfiguration kannst Du die Bus - Adresse setzen:
                            knx:busaddr=
                            Im KNX - Bus hat jedes Gerät (Aktor/Sensor) eine Bus - Addresse, welche man über die ETS beim in Betrieb nehmen eines neuen Gerätes vergibt (bzw. automatisch vergeben lässt). Grüße Jürgen

                            Kommentar


                              #15
                              Zitat von schrobbl Beitrag anzeigen
                              Im KNX - Bus hat jedes Gerät (Aktor/Sensor) eine Bus - Addresse, welche man über die ETS beim in Betrieb nehmen eines neuen Gerätes vergibt (bzw. automatisch vergeben lässt).
                              Das ist mir schon klar, aber ich openHAB ist ja kein 'Gerät' im herkömmlichen Sinn.
                              Wenn ich mir jedoch die Bustelegramme so ansehe, scheint es immer eine Adresse zu sein, die als Quell-Adresse für jene Telegramme aufscheint, die offenbar von openHAB kommen. Also nehme ich jetzt einmal an, dass dies die Adresse ist, die ich in in die knx.cfg eintragen muss?

                              Kommentar

                              Lädt...
                              X