Ankündigung

Einklappen
Keine Ankündigung bisher.

Openhab sendet Schaltbefehl doppelt

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

    Openhab sendet Schaltbefehl doppelt

    Hallo zusammen,

    ich habe eine frische OpenHab Installation (auf Banana Pi via apt-get) und diese mit dem KNX-Binding an den Bus angebunden.
    Ein Test-Schaltvorgang über HABPanel funktioniert - die Gruppenadresse wird nur zweimal gesendet. Ich sehe im OpenHab Logfile und im Gruppenmonitor immer zwei Einträge für einen Befehl.

    Bereits beim Speichern der Items-Datei (Licht.items) erhalte ich zwei Einträge in der Logdatei:

    [Dir Watcher] 2017-09-17 20:53:58.542 [INFO ] [el.core.internal.ModelRepositoryImpl]:130 - Refreshing model 'Licht.items'
    [Dir Watcher] 2017-09-17 20:53:58.687 [INFO ] [el.core.internal.ModelRepositoryImpl]:130 - Refreshing model 'Licht.items'


    Ich habe die Logausabe um den Thread-Name (in diesem Fall Dir Watcher) und die Zeilennummer (hier: 130) erweitert. Der gleiche Thread erkennt die Änderung kurz nacheinander - das macht mich schonmal misstrauisch.

    Wenn ich dann den Switch im HABPanel drücke, werden folgende Logausgaben erzeugt:

    [Log dispatcher] 2017-09-17 20:56:13.902 [INFO ] [tuwien.auto.calimero ]:51 - calimero.link.192.168.178.102:3671: send message to 0/0/8, wait for confirmation
    [EventAdminThread #1] 2017-09-17 20:56:13.914 [DEBUG] [.binding.knx.internal.bus.KNXBinding]:150 - Wrote value 'OFF' to datapoint 'command DP 0/0/8 LIC_AZ_L15_1, DPT main 0 id 1.001, low priority'
    [Log dispatcher] 2017-09-17 20:56:13.950 [INFO ] [tuwien.auto.calimero ]:51 - calimero.link.192.168.178.102:3671: send message to 0/0/8, wait for confirmation
    [EventAdminThread #3] 2017-09-17 20:56:13.955 [DEBUG] [.binding.knx.internal.bus.KNXBinding]:150 - Wrote value 'OFF' to datapoint 'command DP 0/0/8 LIC_AZ_L15_1, DPT main 0 id 1.001, low priority'


    Im Gruppenmonitor sehe ich folgendes:

    # Zeit Dienst Flags Prio Quell-Adresse Quell-Name Ziel-Adresse Ziel-Name Rout Typ DPT Info
    3139 17.09.2017 20:56:13,953 vom Bus Niedrig 15.10.1 - 0/0/8 LIC_AZ_L15_1 schalten 6 GroupValueWrite 1.001 Schalten $00 | Aus
    3140 17.09.2017 20:56:14,002 vom Bus Niedrig 15.10.1 - 0/0/8 LIC_AZ_L15_1 schalten 6 GroupValueWrite 1.001 Schalten $00 | Aus

    Wer kann mir weiterhelfen?

    Anbei meine Konfiguration:

    OpenHab2 Version: 4.0.8
    KNX-Bindiung: 1.10


    /etc/openhab2/services/knx.cfg
    # KNX gateway IP address
    # (optional, if serialPort or connection type 'ROUTER' is specified)
    ip=192.168.178.102

    # Local KNX Binding bus address.
    # Use it, when two or more openHAB Instances are connected to the same KNX bus.
    # (optional, defaults to 0.0.0)
    busaddr=15.10.1

    # Ignore local KNX Events, prevents internal events coming from
    # 'openHAB event bus' a second time to be sent back to the 'openHAB event bus'.
    # Note: To send back events second time is a Bug, but for backward compatibility, the behavior is not changed.
    # For new installations, its recommend to set "ignorelocalevents=true"
    # (optional, defaults to false)
    ignorelocalevents=true

    # KNX IP connection type. Could be either TUNNEL or ROUTER (optional, defaults to TUNNEL)
    # Note: If you cannot get the ROUTER mode working (even if it claims it is connected),
    # use TUNNEL mode instead with setting both the ip of the KNX gateway and the localIp.
    type=TUNNEL

    # KNX gateway port (optional, defaults to 3671)
    # Note: If you use eibd, setting to 6720
    #port=

    # Local endpoint to specify the multicast interface, no port is used (optional)
    localIp=192.168.178.115



    /etc/openhab2/items/Licht.items
    Switch LIC_AZ_L15_1 "Licht Arbeitszimmer" (EG_AZ) { knx="0/0/8" }
    Switch LIC_FL0_L15_1 "Licht Kellerflur" (FL0) { knx="0/0/20" }



    Danke für eure Hilfe!

    Gruß,
    Martin

    #2
    Also, eine openHAB2-Version 4.0.8 gibt es nicht wir sind gerade bei openHAB2.2.0, die heutige Build Number ist 1039.
    Das beschriebene Problem ist bekannt und in Arbeit. Der Fix wurde schon als Commit bereitgestellt, vor dem Merge muss das aber noch abgenickt werden. Genaueres erfährst Du unter https://github.com/openhab/openhab1-addons/pull/5288
    Merken

    Kommentar


      #3
      Danke Udo für deine schnelle Antwort. Ich hab die Version aus 4.0.8 aus der Kafka Konsole ermittelt in dem ich dort Version eingegeben habe.
      Aber ok - was auch immer das für eine Versionsangabe ist - es ist nicht die von openHAB

      Ich plane meine KNX-Installation um Homematic-Funksender zu erweitern und habe mir die Homematic CCU2 angeschafft. Die Integration möchte ich
      über openHAB realisieren. Nach Installation der KNX und Homematic Bindings hatte ich nur das Problem, dass beim Schalten des oben genannten Lichtes einmal der Zustand AN und kurz darauf (ca. 1 Sekunde) der Zustand AUS gesendet wurde. Dann hab ich den Gruppenmonitor in der ETS aktiviert und das oben genannte Problem bereits bei der Anbindung von OpenHAB und KNX entdeckt.

      Da mein Vorhaben nicht zeitkritisch ist - welche Versionen von OpenHAB und KNX-Binding würdet ihr mir empfehlen?
      Wird es euer Ansicht nach in den nächsten Wochen eine stabile Version von OpenHAB2 und KNX-Binding 2 geben oder sollte ich erstmal mit OpenHAB 1 starten?

      Freu mich auf eine Einschätzung..

      Falls mich doch das Experiment-Fieber packt:
      Wie komme ich an eine SNAPSHOT Version vom KNX-Binding 2.x - gibt es irgendwo ein (Maven) Repository auf dem die Artefakte zum Download bereitliegen?
      Nach langer Suche habe ich einen CI Server unter https://openhab.ci.cloudbees.com/ und ein Repository unter https://openhab.jfrog.io gefunden.
      Aber dort finde ich kein KNX Binding 2.x...

      VG
      Martin

      Kommentar


        #4
        Kafka Konsole...

        Die Version, die Du da gesehen hast, ist die Version von Karaf (auf der karaf Konsole). Wenn Du Dich aber in die Konsole einloggst, also mit ssh openhab@localhost -p 8101, dann ist die allererste Ausgabe die der openhAB-Version.
        Wenn Du openHAB unter debian installiert hast, reicht es, das Repository auf unstable umzustellen, dann lädt apt-get immer den letzten build.
        Wenn Du openhabian einsetzt, gibt es in openhabian-config eine entsprechende Option, um die letzte Version einzurichten.
        Wenn Du openHAB manuell einsetzt, musst Du Dir die zip-Datei jeweil hier holen: https://openhab.ci.cloudbees.com/job...0-SNAPSHOT.zip

        Ein knx2 Binding gibt es vorerst noch nicht, das ist in Arbeit, aber es kommt erst, wenn es auch endanwendertauglich ist Momentan ist der Stand, dass es sogar mehrere knx 2 Bindings geben wird, eines für die grundsätzliche Funktion und mindestens ein weiteres für automatisierte Übernahme der Daten aus der ETS und erweiterten Konfigurationen.

        Wer knx kennt, erkennt schnell, dass es bei der Anbindung an openHAB mehrere grundsätzliche Probleme gibt:
        • In knx gibt unterschiedlichste Geräte unterschiedlichster Komplexität (könnte man mit Things abbilden)
        • Die einzelnen Daten sind aber noch kleinteiliger als ein einzelnes Item oder auch nur ein einzelner Channel.
        • Es gibt massig Datentypen in knx, die bisher nicht korrekt übergeben werden können
        • Eingang und Ausgang der Daten liegen eventuell (aber nicht unbedingt) auf unterschiedlichen Gruppenadressen
        • Gruppenadressen sind in knx frei definiert, es gibt keine Regeln, welche GA welche Funktion übernimmt
        • ETS bietet unterschiedliche Exports, je nach ETS Version
        • Ausgerechnet die benötigten Daten sind nicht ohne Weiteres aus dem ETS-Export zu extrahieren
        • Es gibt keinen Autodiscovery Mechanismus, der alle GA zuverlässig erkennen könnte, weil knx die GA nur bei Bedarf über den Bus schickt.
        • Im Gegenzug hat openHAB keine Möglichkeit, alle GA abzufragen. Nur solche, die in ETS als readable markiert sind, können auch abgefragt werden.


        Dazu kommt noch, dass die Entwickler an einigen Stellen uneins sind, wie knx funktioniert

        Ich bezweifele stark, dass es ein knx2 Binding geben wird, welches alle Punkte zur Zufriedenheit aller Anwender abhaken kann. Wichtiger ist auch, dass die grundlegende Funktion korrekt abläuft. Das sollte nach dem Merge des Fixes hoffentlich der Fall sein, dann halt mit der Version 1.
        Zuletzt geändert von udo1toni; 18.09.2017, 18:28.

        Kommentar


          #5
          dann hoffen wir mal alle, das das Basic-Binding für openhab2 bald in die public Beta Phase geht.
          Ich habe so das Gefühl, das 80% aller User mit dem aktuellen Stand mehr als zufrieden sind ;-)
          --
          Gruß
          Lothar

          Kommentar


            #6
            Eher un...

            Kommentar


              #7
              Ich habe das gleiche Problem denke ich. Hier mal ein Auzug aus dem ETS Monitor. Manchmal schaltet er doppelt manchmal viermal und bei anderen in Endlos in einer Schleife.

              Code:
              1    21.09.2017 22:17:01,551    vom Bus        Low    15.15.252    -    0/2/41    BK Keller Büro    6    GroupValueWrite      1.001 Schalten    $01 | Ein
              2    21.09.2017 22:17:04,570    vom Bus        Low    15.15.252    -    0/2/41    BK Keller Büro    6    GroupValueWrite      1.001 Schalten    $01 | Ein
              ...
              19    21.09.2017 22:18:10,153    vom Bus        Low    1.1.40    VisuControl Easy    0/2/3    Wohn Decke 3 andimmen    6    GroupValueWrite      1.001 Schalten    $00 | Aus
              20    21.09.2017 22:18:10,185    vom Bus        Low    15.15.252    -    0/2/3    Wohn Decke 3 andimmen    6    GroupValueWrite      1.001 Schalten    $00 | Aus
              21    21.09.2017 22:18:10,358    vom Bus        Low    1.1.5    6197/11 2f-Steuerbaustein, REG    0/2/3    Wohn Decke 3 andimmen    5    GroupValueWrite      1.001 Schalten    $00 | Aus
              22    21.09.2017 22:18:13,206    vom Bus        Low    15.15.252    -    0/2/3    Wohn Decke 3 andimmen    6    GroupValueWrite      1.001 Schalten    $00 | Aus
              23    21.09.2017 22:18:13,429    vom Bus        Low    1.1.5    6197/11 2f-Steuerbaustein, REG    0/2/3    Wohn Decke 3 andimmen    5    GroupValueWrite      1.001 Schalten    $00 | Aus
              24    21.09.2017 22:18:16,227    vom Bus        Low    15.15.252    -    0/2/3    Wohn Decke 3 andimmen    6    GroupValueWrite      1.001 Schalten    $00 | Aus
              25    21.09.2017 22:18:16,439    vom Bus        Low    1.1.5    6197/11 2f-Steuerbaustein, REG    0/2/3    Wohn Decke 3 andimmen    5    GroupValueWrite      1.001 Schalten    $00 | Aus
              26    21.09.2017 22:18:19,240    vom Bus        Low    15.15.252    -    0/2/3    Wohn Decke 3 andimmen    6    GroupValueWrite      1.001 Schalten    $00 | Aus
              27    21.09.2017 22:18:19,441    vom Bus        Low    1.1.5    6197/11 2f-Steuerbaustein, REG    0/2/3    Wohn Decke 3 andimmen    5    GroupValueWrite      1.001 Schalten    $00 | Aus
              28    21.09.2017 22:18:22,251    vom Bus        Low    15.15.252    -    0/2/3    Wohn Decke 3 andimmen    6    GroupValueWrite      1.001 Schalten    $00 | Aus
              29    21.09.2017 22:18:22,470    vom Bus        Low    1.1.5    6197/11 2f-Steuerbaustein, REG    0/2/3    Wohn Decke 3 andimmen    5    GroupValueWrite      1.001 Schalten    $00 | Aus
              30    21.09.2017 22:18:25,262    vom Bus        Low    15.15.252    -    0/2/3    Wohn Decke 3 andimmen    6    GroupValueWrite      1.001 Schalten    $00 | Aus
              31    21.09.2017 22:18:25,481    vom Bus        Low    1.1.5    6197/11 2f-Steuerbaustein, REG    0/2/3    Wohn Decke 3 andimmen    5    GroupValueWrite      1.001 Schalten    $00 | Aus
              32    21.09.2017 22:18:28,291    vom Bus        Low    15.15.252    -    0/2/3    Wohn Decke 3 andimmen    6    GroupValueWrite      1.001 Schalten    $00 | Aus
              33    21.09.2017 22:18:28,510    vom Bus        Low    1.1.5    6197/11 2f-Steuerbaustein, REG    0/2/3    Wohn Decke 3 andimmen    5    GroupValueWrite      1.001 Schalten    $00 | Aus
              34    21.09.2017 22:18:31,308    vom Bus        Low    15.15.252    -    0/2/3    Wohn Decke 3 andimmen    6    GroupValueWrite      1.001 Schalten    $00 | Aus
              35    21.09.2017 22:18:31,504    vom Bus        Low    1.1.5    6197/11 2f-Steuerbaustein, REG    0/2/3    Wohn Decke 3 andimmen    5    GroupValueWrite      1.001 Schalten    $00 | Aus
              36    21.09.2017 22:18:34,331    vom Bus        Low    15.15.252    -    0/2/3    Wohn Decke 3 andimmen    6    GroupValueWrite      1.001 Schalten    $00 | Aus
              37    21.09.2017 22:18:34,548    vom Bus        Low    1.1.5    6197/11 2f-Steuerbaustein, REG    0/2/3    Wohn Decke 3 andimmen    5    GroupValueWrite      1.001 Schalten    $00 | Aus
              Soll ich jetzt der Anweisung von "lewie" hier https://github.com/openhab/openhab1-addons/issues/4547 folgen oder auf openHab1 wechseln? Das hab ich jetzt nicht ganz verstanden.

              Kommentar


                #8
                Wenn Du sicher bist, alles korrekt konfiguriert zu haben (insbesondere auch auf knx-Seite) und trotzdem ständige Telegrammwiederholungen hast, kannst Du natürlich versuchen, ob es mit OH1 besser klappt. Allerdings ist das knx Binding identisch (wird von OH2 beim kompilieren aus den OH1-Quellen eingebunden) und ich kann mir vorstellen, dass die Probleme auch unter OH1 auftreten.
                Ich nutze produktiv immer noch OH1.8.0 und bereite schon seit einer gefühlten Ewigkeit den Umstieg vor, aber da ich noch keine zwingenden Gründe für einen Umstieg habe, lasse ich mich da nicht hetzen
                Ansonsten, wie unter #2 erwähnt: wir warten auf den Merge des Patches, vielleicht klappt es dann zuverlässig.

                Kommentar


                  #9
                  Hi, schaltet er auch doppelt wenn du es über das Basic UI machst? (Browser Problem?)
                  Bei mir läuft alles auf Windows basis aber ich kann keines der Fehler feststellen.

                  Funktioniert dein Status richtig? ich sehe du hast aktuell nur den befehlt drinnen.
                  Switch LIC_AZ_L15_1 "Licht Arbeitszimmer" (EG_AZ) { knx="0/0/8<STATUS" }

                  kann es sein das die Probleme nur mit Linux sind? alle die solge oder ähnliche Probleme beschreiben nutzen fast immer openhabian oder ubuntu.

                  nen guten alten ESXI hat wohl selten jemand im Einsatz :F

                  Gruß

                  Kommentar


                    #10
                    Ich habe mir jetzt OpenHAB 2.1.0 unter Windows installiert und exakt das gleiche Verhalten.
                    Ich habe die Konfiguration von oben 1 zu 1 übernommen (und nur die localIP) angepasst.

                    Das Licht schaltet, er sendet aber immer zwei Telegramme.

                    Auch nach Installation von openHAB 2.2.0 Build #1048 zeigt openHAB das gleiche Verhalten.
                    Zuvor musste ich übrigens den Pfad zum init-Skript korrigieren (wie hier beschrieben: https://community.openhab.org/t/init...ws-10/33407/25)


                    Funktioniert dein Status richtig? ich sehe du hast aktuell nur den befehlt drinnen.
                    Switch LIC_AZ_L15_1 "Licht Arbeitszimmer" (EG_AZ) { knx="0/0/8<STATUS" }
                    Das verstehe ich nicht. Das Licht schaltet sich AN oder AUS, nur das Telegramm wird doppelt versendet.

                    Jetzt versuche ich es mal mit OpenHAB 1.x :-(

                    Kommentar


                      #11
                      ... und mit OpenHAB 1.x funktioniert es problemlos. Nur nutze ich hier nicht Hubpanel sondern die klassische UI mit folgender Sidemap:

                      sitemap Haus label="Haus"
                      {
                      Frame {
                      Switch item=LIC_AZ_L15_1 label="Arbeitszimmer Licht" icon="light"
                      }
                      }

                      @
                      udo1toni:Ich verstehe also warum du nicht umsteigst :-)

                      Kommentar


                        #12
                        Also wenn, dann müsstest Du schon auf OH2.2.0 wechseln, aber bisher ist der Patch noch nicht gemerged (es sei denn, ich hätte da was verpasst...)

                        Kommentar


                          #13
                          Hallo!

                          Ich habe das exakt selbe Verhalten mit OH2 wie von mbengl beschrieben.
                          Sollte es sich tatsächlich um das gleiche KNX-Binding handeln wie in OH1, dann kann ich sagen, dass es da sauber funktioniert.

                          Kommentar


                            #14
                            Das mit den doppelt gesendeten Telegrammen tritt bei mir nicht mehr auf nachdem ich in den items bei jedem betroffenem item ein autoupdate="false" eingefügt habe.
                            Code:
                            Switch Licht_Bad_Erdgeschoss_Decke "Licht Bad Erdgeschoss Decke" <light> [ "Lighting" ] {autoupdate="false",knx="0/2/30"}
                            Des Weiteren geht es bei mir bis jetzt nur im TUNNEL Modus, ich habe mir nochmal extra einen Router (MDT) gekauft aber auch mit diesem habe ich es noch nicht geschafft auf den ROUTER Modus umzustellen.

                            In der KNX-Config muss bei mir ignorelocalevents=true aktiviert sein, die Parameter busaddr und ip müssen auch richtig gesetzt sein.

                            Meine knx.cfg sieht so aus:

                            Code:
                            # KNX gateway IP address 
                            # (optional, if serialPort or connection type 'ROUTER' is specified)
                            ip=192.168.0.251
                            #ip=224.0.23.12 
                            
                            # Local KNX Binding bus address.
                            # Use it, when two or more openHAB Instances are connected to the same KNX bus.
                            # (optional, defaults to 0.0.0)
                            busaddr=2.1.1
                            
                            # Ignore local KNX Events, prevents internal events coming from
                            # 'openHAB event bus' a second time to be sent back to the 'openHAB event bus'.
                            # Note: To send back events second time is a Bug, but for backward compatibility, the behavior is not changed.
                            # For new installations, its recommend to set "ignorelocalevents=true"
                            # (optional, defaults to false)
                            ignorelocalevents=true
                            
                            # KNX IP connection type. Could be either TUNNEL or ROUTER (optional, defaults to TUNNEL)
                            # Note: If you cannot get the ROUTER mode working (even if it claims it is connected), 
                            # use TUNNEL mode instead with setting both the ip of the KNX gateway and the localIp.
                            type=TUNNEL
                            # type=ROUTER
                            
                            # KNX gateway port (optional, defaults to 3671)
                            # Note: If you use eibd, setting to 6720
                            # port=12004
                            # port=3671
                            
                            # Local endpoint to specify the multicast interface, no port is used (optional)
                            # localIp=192.168.0.47

                            Kommentar


                              #15
                              Für den ROUTER-Mode gelten folgende Voraussetzungen:
                              1. Ein knx/IP-Router.
                              2. Der knx/IP-Router sollte als Router konfiguriert sein, also eine Busadresse besitzen, die auf .0 endet. (Ich habe selbst keinen knx/IP-Router, kann das also nicht verifizieren - im Zweifel könnte es aber schief gehen, weil der Router nicht als Router läuft...)
                              3. die Konfiguration in openHAB muss korrekt sein
                              • ip=224.0.23.12 (falls nicht eine andere MULTICAST-IP im knx/IP-Router eingetragen wurde), diese IP ist default gesetzt, sollte also entfallen können
                              • port=3671 (falls nicht ein anderer Port im knx/IP-Router eingetragen wurde), dieser Port ist default gesetzt, sollte also entfallen können
                              • type=ROUTER
                              • localIp=IP der Schnittstelle, über die der Multicast empfangen werden kann; üblicherweise gibt es nur eine...

                              Das Problem mit Ip und Port ist, dass Du sie vermutlich schon mindestens einmal gesetzt hattest. Es reicht dann nicht, sie einfach auszukommentieren, denn openHAB liest zwar neue Werte aus den *.cfg-Dateien ein, ignoriert aber auskommentierte Werte (und ändert damit auch nicht die schon in der internen Konfiguration hinterlegten Einträge). Du musst also entweder die Multicast-IP trotzdem angeben, oder die karaf Konsole bemühen und die Konfiguration des knx-Bindings von Hand löschen (dazu zuerst die knx.cfg umbenennen oder alle Einträge auskommentieren, die nicht gesetzt werden sollen, anschließend in die Karaf Konsole einloggen, die knx-Konfiguration zum Editieren selektieren und alle Einträge löschen).

                              Die für openHAB benutzte Busadresse muss natürlich frei sein, das ist also eine andere als die des knx/IP-Routers. Da openHAB am Bus als normales Gerät auftritt, sollte die Busadresse von openHAB nicht auf .0 enden

                              Kommentar

                              Lädt...
                              X