Ankündigung

Einklappen
Keine Ankündigung bisher.

Doppelte Aktivität auf KNX-Bus

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

    Doppelte Aktivität auf KNX-Bus

    Moin moin.

    Ich habe ein seltsames Phänomen mit dem Openhab KNX-Binding (Binding Version 1.9, Openhab 2).
    Immer, wenn ich über Openhab etwas auslöse, dann kriege ich das Signal zweimal auf den KNX-BUS. Ich sehe das im Busmonitor der ETS-Software.

    Beispiel-Auszug des Busmonitors:
    # Zeit Dienst Flags Prio Quell-Adresse Quell-Name Ziel-Adresse Ziel-Name Rout Typ DPT Info Iack
    11 13.12.2016 19:48:41,298 vom Bus Low 0.0.1 - 1/0/15 - 6 GroupValueWrite $01 | Ein LL_ACK
    12 13.12.2016 19:48:41,300 vom Bus Low 0.0.1 - 1/0/15 - 6 GroupValueWrite $01 | Ein LL_ACK
    Währenddessen sagt Openhab folgendes:
    19:48:41.299 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'Licht_W' received command ON
    19:48:41.301 [INFO ] [marthome.event.ItemStateChangedEvent] - Licht_W changed from 0,0,0 to 0,0,100

    Das entsprechende Item sieht wie folgt aus:
    Color Licht_W "W-Licht oben" <switch> (OG_Schlafzimmer) {knx="1/0/15"}


    Ist das normal oder mache ich etwas falsch? Habt ihr das Problem auch?



    #2
    Hast Du in der knx.cfg ignorelocalevents=true gesetzt? Hast Du eine Busadresse für openHAB vergeben (ebenfalls in der knx.cfg)?

    Kommentar


      #3
      Zitat von udo1toni Beitrag anzeigen
      Hast Du in der knx.cfg ignorelocalevents=true gesetzt? Hast Du eine Busadresse für openHAB vergeben (ebenfalls in der knx.cfg)?
      Ich habe "ignorelocalevents=true" gesetzt. Mit der Busadresse habe ich gerade mal rumgespielt. Wenn ich bspw. "busaddr=0.0.3" setze, kriege ich trotzdem 2 Telegramme auf den KNX-Bus. Der Unterschied ist dann lediglich die Quell-Adresse im Bus-Monitor.

      Kommentar


        #4
        Ich konnte das Problem inzwischen selbst lösen bzw. die Lösung selbst finden. Und zwar hier: https://github.com/openhab/openhab2-addons/issues/503

        Um es kurz zu machen: Es gab früher einen Bug im KNX-Binding, der ohne "ignorelocalevents=true" genau zu oben beschriebenem Problem geführt hat. In Kombination mit Openhab2 ist dieser Bug mit dem aktuellen KNX-Binding in Version 1.9 wieder da, obwohl "ignorelocalevents=true" gesetzt ist. Die Lösung ist der Einsatz dieses Bindings: https://github.com/lewie/openhab/raw...0-SNAPSHOT.jar
        Dieses muss nach /usr/share/openhab2/addons kopiert werden und das Binding über die PaperUI deinstalliert werden. Sobald das 2.0-KNX-Binding veröffentlicht wird, soll das Problem auch ohne Fix behoben sein.

        //Edit
        Leider zu früh gefreut. Das kommt davon, wenn man an zu vielen Schrauben gleichzeitig dreht. Das "Problem" hat anscheinend etwas mit der hörenden Busadresse zu tun. Wenn ich ein Item nämlich z.B. so definiere:
        Switch Licht1 "Licht1" (OG_Schlafzimmer) { knx="1/1/0+<2/1/0" }
        dann wird nur ein Event auf den Bus geschickt. Und im Log steht auch nur "Item 'Licht1' received command ON".

        Vielleicht habe ich hier gar kein richtiges Problem. Möglicherweise muss das alles so. Ich werde mich mal noch etwas intensiver mit der Materie beschäftigen.
        Zuletzt geändert von turboPasqual; 14.12.2016, 18:25.

        Kommentar


          #5
          Hey,

          hast du mittlerweile eine Lösung dazu gefunden?
          Bei mir kamen die Telegramme sogar 4x. Was natürlich super ist wenn die Lampe, die geschaltet werden soll, am Präsenzmelder hängt und danach gleich wieder anschaltet. (Macht 4x Diskolicht..)

          Mit ignorelocalevents=true hat sich nichts geändert.
          Was funktioniert hat war: "{knx="1/1/0", autoupdate="false"}das hat es auf 2x reduziert.

          ich probiere mal deine Item Definition aus.

          lg Nina

          Kommentar


            #6
            Entschuldige die extrem späte Antwort, aber bei mir steht der Einzug ins neue Hause bald an und ich komme im Moment zu nichts anderem. Deswegen bin ich hier auch noch kein Stück weitergekommen. Sorry.

            Kommentar


              #7
              Wie schon erwähnt, reicht es nicht aus, ignorelocelevents auf true zu setzen, es muss auch busaddr auf einen gültigen Wert gesetzt werden, das muss natürlich eine freie Busadresse sein.

              Kommentar


                #8
                Genau das geschilderte Verhalten ist mir in meiner OH2 Testinstallation auch aufgefallen, trotz gültiger busaddr. Ich hab dazu einen Bug eingetragen (5021):

                Kommentar


                  #9
                  Hey,

                  ich habe genau das selbe Problem ..OpenHAB 2 schickt 4mal ein Ein (bzw. auch Aus) Telegramm.
                  Nun ich habe schon jegliche Webseiten durchsucht und nur folgendes gefunden:
                  ignorelocalevents=true in der knx.cfg (Hat leider keine Auswirkung).
                  Wie auch Celera habe ich versucht das AutoUpdate auf false zu setzen. Dies hat zwar funktioniert also der Bus schreibt nur einmal Ein, aber ich kann kein Aus Befehl mehr schicken, da OpenHAB immer noch meint, dass es ausgeschaltet ist.
                  Mir ist noch aufgefallen, dass dieser Fehler beim Dimmen nicht auftritt.
                  Auch wie in manchen englischen Foren beschrieben finde ich kein Update vom KNX Binding (vermeintlich gibt es schon die Version 2.0???)
                  Diese Version gibt es auf GitHub jedoch nutz mir das nicht weiter, da ich ja eine .jar Datei brauche.
                  Hat vielleicht noch jemand eine Idee wie man das eventuell lösen kann?

                  LG

                  Kommentar


                    #10
                    Ist ein bekannter Bug der wohl seit November 2015 immer noch offen ist...
                    https://github.com/openhab/openhab2-addons/issues/503

                    Da hilft nur ignorieren und tapfer auf ein neues Binding warten....
                    Zuletzt geändert von zaphood; 30.01.2017, 22:13. Grund: Update: Binding contributed 06.01.2017: https://github.com/openhab/openhab2-addons/pull/21/commits

                    Kommentar


                      #11
                      Erstmal danke für deine Antwort zaphood hier meine Ergänzung:

                      Ich habe zuvor als Interface den EibPort 2 von BabTec benützt.
                      Nun habe ich mir das IP Interface von MDT bestellt und es ist heute angekommen ...siehe da es funktioniert einwandfrei.
                      Komischerweise schickt es immer noch 2 Telegramme, aber das ignoriere ich, denn jetzt schaltet alles problemlos und vor allem sehr schnell.

                      Kommentar


                        #12
                        Das klingt genau wie in dem Thread hier: https://knx-user-forum.de/forum/supp...räge-reaktion
                        Die doppelten Einträge werden mit "IGNORELOCALEVENTS" zwar ignoriert, aber dennoch weiterhin erzeugt. Daher auch mein Hinweis auf das (hoffentlich bald mal erscheinende) KNX 2.0 Binding...

                        Ich habe bei meinen Tests festgestellt, dass der TUNNEL Mode offenbar durch diese vielen Pakete oft der bremsende Faktor zu sein scheint. Kann mir eigentlich nur vorstellen, daß das an den ACK Paketen liegt: im Tunnel Modus wird m.W. jeder Befehl vom Bus rückbestätigt. Wenn hier also mehrere Befehle (Szene) durchrauschen, muss der OH2 auf jedes ACK in mehrfacher Form warten, das macht alles zäh wie Kaugummi.

                        Deinen Postings nach würde ich vermuten, dass du den EIBPORT auch im Tunnel Modus benutzt hattest, was das Verhalten erklären würde. Eventuell hat der im Zusammenspiel mit OH2 das Problem ebenfalls beeinflusst. Ggf. hätte sich das mit einem kommerziellen Router / Interface eher wie bei mir gezeigt ("nur" doppelte Pakete anstelle deiner vierfachen) - das ist aber wirklich reine Spekulation meinerseits.

                        Schön, daß es jetzt alles flutscht ;-)

                        Enjoy

                        Gruss
                        Frank

                        Kommentar


                          #13
                          Hänge mich mal dran, bei mir werden die Telegramme 3x angezeigt...

                          Kommentar


                            #14
                            Wie immer die Frage wie genau ist die Anbindung an knx realisiert?

                            Kommentar


                              #15
                              Dann reiche ich das für mich auch mal nach:

                              Verbindung zum KNX über den eibd der auf einem Wiregate läuft und dort wie folgt gestartet wird:
                              Code:
                               
                                /usr/bin/eibd -e 1.1.254 -S -D -i -T --tpuarts-disch-reset --tpuarts-ack-all-group -d -u --pid-file=/var/run/eibd.pid -c tpuarts:/dev/ttyS0
                              In openHAB sind alle Parameter auf default, bis auf die folgenden:
                              knx:ip=192.168.xx.yy
                              knx:ignorelocalevents=true
                              knx:autoReconnectPeriod=30

                              Jockel




                              Kommentar

                              Lädt...
                              X