Ankündigung

Einklappen
Keine Ankündigung bisher.

openHAB2 mit KNX Binding führt nichts (erfolgreich) aus

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

    openHAB2 mit KNX Binding führt nichts (erfolgreich) aus

    Guten Tag miteinander,

    ich probiere in den letzten Tagen meine ersten Schritte im Bereich KNX und openHAB2. Dabei ist das Ziel, ein bestehendes KNX-Projekt (welches nicht von mir programmiert wurde) als Erweiterung über openHAB2 zu steuern. Ich habe zwar das KNX-Projekt des Gebäudes vorliegen, kann selber jedoch nicht wirklich damit umgehen (traue es mich auch nicht wirklich, bevor ich was zerschieße). Für das Nachschlagen von Adressen und Co fernab des BUS sollte es aber allemal reichen.

    Ich möchte Euch im Detail einmal sagen, wie ich vorgegangen bin. Ich bin momentan der Meinung, dass alles korrekt sein müsste. Jedoch möchte meine Test-Lampe einfach nicht auf die Befehle aus openHAB2 reagieren.

    Installation

    Als Zielsystem soll ein Windows 10 Laptop (erst einmal) herhalten. Dieser ist frisch installiert.

    Ich habe als erstes Oracle Java SE Development Kit 8u144 (32 Bit) (http://www.oracle.com/technetwork/ja...s-2133151.html) heruntergeladen und auf dem Ziel installiert.

    Anschließend habe ich die Systemvariable mit dem Installationsverzeichnis von Java angelegt.
    Code:
    JAVA_HOME
    Nun wurde openHAB2 in der Stable Version 2.1.0 heruntergeladen (https://bintray.com/openhab/mvn/down...nhab-2.1.0.zip).

    Dieses habe ich wie im Artikel http://docs.openhab.org/installation/windows.html beschrieben installiert, wobei ich den Bereich "Updating the openHAB Runtime" nicht durchgeführt habe. openHAB2 läuft bei mir somit nun als Windows Dienst.

    Per Browser das Standard Package gewählt und hier die Paper UI geöffnet.

    Anschließend zur Sicherheit einmal den Rechner neu gestartet.

    Dann wurde über die Paper UI das KNX Binding installiert.
    Code:
    binding-knx1 - 1.10.0
    Nun musste das Binding noch konfiguriert werden. Dazu habe ich mir aus dem ETS-Projekt die IP-Konfigurationen des KNX IP Interface IP000.01 (MDT) geholt.
    IP-Interface.png
    Code:
    conf/services/knx.cfg
    
    # KNX gateway IP address
    # (optional, if serialPort or connection type ‚ROUTER‘ is specified)
    # IP-Konfiguration 1 des „KNX IP Interface“ 1.4.200 (ermittelt aus ETS)
    ip=192.168.1.2
    
    ignorelocalevents=true
    type=TUNNEL
    
    # Local endpoint to specify the multicast interface, no port is used (optional)
    # IP-Adresse des Windows-PCs auf dem openHAB2 läuft (und an dem ich momentan arbeite)
    localIp=192.168.1.5
    Dann wurde eine leere Datei für die Things angelegt.

    Anschließend habe ich meinen Test-Schalter in der manuell angelegten Datei home.items hinterlegt. Hierzu habe ich mir aus dem ETS-Projekt den gewünschten Aktor herausgesucht (Binärausgang 6194/22) und dessen Gruppenadresse notiert. Für das "Schalten" hat er die 1/3/12 hinterlegt. Für "Status Schalten" ist die 1/3/13 definiert.
    Aktor.png
    Code:
    conf/items/home.items
    
    Switch SW_UG_LI "Licht" <LIGHT> { knx="1/3/12" }
    Über die angelegte Sitemap konnte ich mir den Schalter auf der problemlos hinterlegen.
    Code:
    conf/sitemaps/home.sitemap
    
    sitemap home label="Testseite"
    {
        Frame label="Test"
        {
            Switch item="SW_UG_LI
        }
    }
    Nach dem Anschließen an das vorhandene KNX IP Interface IP000.01 (MDT) und einem Rechnerneustart habe ich frohen Mutes versucht den Aktor über den Schalter zu steuern. Leider ohne Erfolg. Es passiert einfach gar nichts.

    Die Befehle werden laut Log von openHAB2 interpretiert:
    Code:
    userdata/logs/events.log
    
    2017-09-01 13:31:18.511 [ItemCommandEvent          ] - Item 'SW_UG_LI' received command ON
    2017-09-01 13:31:18.699 [ItemStateChangedEvent     ] - SW_UG_LI changed from NULL to ON
    2017-09-01 13:31:23.579 [ItemCommandEvent          ] - Item 'SW_UG_LI' received command OFF
    2017-09-01 13:31:23.722 [ItemStateChangedEvent     ] - SW_UG_LI changed from ON to OFF
    Die Anbindung an den BUS sieht meiner Meinung nach auch gut aus.
    Code:
    Sep 01, 2017 1:31:02 PM org.apache.karaf.main.lock.SimpleFileLock lock
    INFORMATION: Trying to lock C:\openHAB2\userdata\tmp\lock
    Sep 01, 2017 1:31:02 PM org.apache.karaf.main.lock.SimpleFileLock lock
    INFORMATION: Lock acquired
    Sep 01, 2017 1:31:02 PM org.apache.karaf.main.Main$KarafLockCallback lockAquired
    INFORMATION: Lock acquired. Setting startlevel to 100
    2017-09-01 13:31:05.928 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'home.items'
    2017-09-01 13:31:07.146 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'home.sitemap'
    2017-09-01 13:31:07.225 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'home.things'
    2017-09-01 13:31:07.225 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'home.things' is either empty or cannot be parsed correctly!
    2017-09-01 13:31:07.777 [INFO ] [.dashboard.internal.DashboardService] - Started dashboard at http://192.168.1.5:8080
    2017-09-01 13:31:07.902 [INFO ] [.dashboard.internal.DashboardService] - Started dashboard at https://192.168.1.5:8443
    2017-09-01 13:31:07.964 [INFO ] [basic.internal.servlet.WebAppServlet] - Started Basic UI at /basicui/app
    2017-09-01 13:31:07.980 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui
    2017-09-01 13:31:07.980 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel
    2017-09-01 13:31:08.089 [INFO ] [nx.internal.connection.KNXConnection] - Established connection to KNX bus on 192.168.1.2:3671 in mode TUNNEL.
    2017-09-01 13:31:34.800 [INFO ] [nx.internal.connection.KNXConnection] - Closing KNX connection
    2017-09-01 13:31:34.815 [INFO ] [panel.internal.HABPanelDashboardTile] - Stopped HABPanel
    2017-09-01 13:31:34.815 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Stopped Paper UI
    2017-09-01 13:31:34.815 [INFO ] [basic.internal.servlet.WebAppServlet] - Stopped Basic UI
    2017-09-01 13:31:34.831 [INFO ] [.dashboard.internal.DashboardService] - Stopped dashboard
    2017-09-01 13:31:45.574 [WARN ] [eclipse.jetty.servlet.ServletHandler] -
    javax.servlet.ServletException: A MultiException has 1 exceptions.  They are:
    1. java.lang.IllegalStateException: ServiceLocatorImpl(__HK2_Generated_2,3,21935062) has been shut down
    
        at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:489)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at com.eclipsesource.jaxrs.publisher.internal.ServletContainerBridge.service(ServletContainerBridge.java:76)[9:com.eclipsesource.jaxrs.publisher:5.3.1.201602281253]
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)[81:org.eclipse.jetty.servlet:9.2.19.v20160908]
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)[81:org.eclipse.jetty.servlet:9.2.19.v20160908]
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71)[172:org.ops4j.pax.web.pax-web-jetty:4.3.0]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)[79:org.eclipse.jetty.security:9.2.19.v20160908]
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:287)[172:org.ops4j.pax.web.pax-web-jetty:4.3.0]
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)[81:org.eclipse.jetty.servlet:9.2.19.v20160908]
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)[172:org.ops4j.pax.web.pax-web-jetty:4.3.0]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.Server.handle(Server.java:499)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)[71:org.eclipse.jetty.io:9.2.19.v20160908]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[83:org.eclipse.jetty.util:9.2.19.v20160908]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[83:org.eclipse.jetty.util:9.2.19.v20160908]
        at java.lang.Thread.run(Thread.java:748)[:1.8.0_144]
    Caused by: A MultiException has 1 exceptions.  They are:
    1. java.lang.IllegalStateException: ServiceLocatorImpl(__HK2_Generated_2,3,21935062) has been shut down
    
        at org.jvnet.hk2.internal.FactoryCreator.getFactoryHandle(FactoryCreator.java:106)[150:org.glassfish.hk2.locator:2.4.0.b34]
        at org.jvnet.hk2.internal.FactoryCreator.dispose(FactoryCreator.java:173)[150:org.glassfish.hk2.locator:2.4.0.b34]
        at org.jvnet.hk2.internal.SystemDescriptor.dispose(SystemDescriptor.java:526)[150:org.glassfish.hk2.locator:2.4.0.b34]
        at org.glassfish.jersey.process.internal.RequestScope$Instance.remove(RequestScope.java:532)[157:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.process.internal.RequestScope$Instance.release(RequestScope.java:549)[157:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:319)[157:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)[158:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)[158:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        ... 26 more
    Caused by: java.lang.IllegalStateException: ServiceLocatorImpl(__HK2_Generated_2,3,21935062) has been shut down
        at org.jvnet.hk2.internal.ServiceLocatorImpl.checkState(ServiceLocatorImpl.java:2288)[150:org.glassfish.hk2.locator:2.4.0.b34]
        at org.jvnet.hk2.internal.ServiceLocatorImpl.getServiceHandleImpl(ServiceLocatorImpl.java:629)[150:org.glassfish.hk2.locator:2.4.0.b34]
        at org.jvnet.hk2.internal.ServiceLocatorImpl.getServiceHandle(ServiceLocatorImpl.java:622)[150:org.glassfish.hk2.locator:2.4.0.b34]
        at org.jvnet.hk2.internal.ServiceLocatorImpl.getServiceHandle(ServiceLocatorImpl.java:640)[150:org.glassfish.hk2.locator:2.4.0.b34]
        at org.jvnet.hk2.internal.FactoryCreator.getFactoryHandle(FactoryCreator.java:103)[150:org.glassfish.hk2.locator:2.4.0.b34]
        ... 34 more
    2017-09-01 13:31:45.574 [WARN ] [org.eclipse.jetty.server.HttpChannel] - /rest/sitemaps/home/home?_=e9d8121ef4123
    javax.servlet.ServletException: javax.servlet.ServletException: A MultiException has 1 exceptions.  They are:
    1. java.lang.IllegalStateException: ServiceLocatorImpl(__HK2_Generated_2,3,21935062) has been shut down
    
        at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:88)[172:org.ops4j.pax.web.pax-web-jetty:4.3.0]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.Server.handle(Server.java:499)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)[71:org.eclipse.jetty.io:9.2.19.v20160908]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[83:org.eclipse.jetty.util:9.2.19.v20160908]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[83:org.eclipse.jetty.util:9.2.19.v20160908]
        at java.lang.Thread.run(Thread.java:748)[:1.8.0_144]
    Caused by: javax.servlet.ServletException: A MultiException has 1 exceptions.  They are:
    1. java.lang.IllegalStateException: ServiceLocatorImpl(__HK2_Generated_2,3,21935062) has been shut down
    
        at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:489)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at com.eclipsesource.jaxrs.publisher.internal.ServletContainerBridge.service(ServletContainerBridge.java:76)[9:com.eclipsesource.jaxrs.publisher:5.3.1.201602281253]
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)[81:org.eclipse.jetty.servlet:9.2.19.v20160908]
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)[81:org.eclipse.jetty.servlet:9.2.19.v20160908]
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71)[172:org.ops4j.pax.web.pax-web-jetty:4.3.0]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)[79:org.eclipse.jetty.security:9.2.19.v20160908]
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:287)[172:org.ops4j.pax.web.pax-web-jetty:4.3.0]
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)[81:org.eclipse.jetty.servlet:9.2.19.v20160908]
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)[172:org.ops4j.pax.web.pax-web-jetty:4.3.0]
        ... 8 more
    Caused by: A MultiException has 1 exceptions.  They are:
    1. java.lang.IllegalStateException: ServiceLocatorImpl(__HK2_Generated_2,3,21935062) has been shut down
    
        at org.jvnet.hk2.internal.FactoryCreator.getFactoryHandle(FactoryCreator.java:106)[150:org.glassfish.hk2.locator:2.4.0.b34]
        at org.jvnet.hk2.internal.FactoryCreator.dispose(FactoryCreator.java:173)[150:org.glassfish.hk2.locator:2.4.0.b34]
        at org.jvnet.hk2.internal.SystemDescriptor.dispose(SystemDescriptor.java:526)[150:org.glassfish.hk2.locator:2.4.0.b34]
        at org.glassfish.jersey.process.internal.RequestScope$Instance.remove(RequestScope.java:532)[157:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.process.internal.RequestScope$Instance.release(RequestScope.java:549)[157:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:319)[157:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)[158:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)[158:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        ... 26 more
    Caused by: java.lang.IllegalStateException: ServiceLocatorImpl(__HK2_Generated_2,3,21935062) has been shut down
        at org.jvnet.hk2.internal.ServiceLocatorImpl.checkState(ServiceLocatorImpl.java:2288)[150:org.glassfish.hk2.locator:2.4.0.b34]
        at org.jvnet.hk2.internal.ServiceLocatorImpl.getServiceHandleImpl(ServiceLocatorImpl.java:629)[150:org.glassfish.hk2.locator:2.4.0.b34]
        at org.jvnet.hk2.internal.ServiceLocatorImpl.getServiceHandle(ServiceLocatorImpl.java:622)[150:org.glassfish.hk2.locator:2.4.0.b34]
        at org.jvnet.hk2.internal.ServiceLocatorImpl.getServiceHandle(ServiceLocatorImpl.java:640)[150:org.glassfish.hk2.locator:2.4.0.b34]
        at org.jvnet.hk2.internal.FactoryCreator.getFactoryHandle(FactoryCreator.java:103)[150:org.glassfish.hk2.locator:2.4.0.b34]
        ... 34 more
    2017-09-01 13:31:45.574 [WARN ] [org.eclipse.jetty.server.HttpChannel] - Could not send response error 500: javax.servlet.ServletException: javax.servlet.ServletException: A MultiException has 1 exceptions.  They are:
    1. java.lang.IllegalStateException: ServiceLocatorImpl(__HK2_Generated_2,3,21935062) has been shut down
    Ich habe keine Idee, was ich falsch gemacht haben könnte. Habe ich das mit den Gruppenadressen des Aktors falsch verstanden oder stimmt etwas an der Konfiguration nicht. Was ich mir vielleicht noch vorstellen könnte ist, dass durch die mehreren Linien die hier hinterlegt sind, das von openHAB2 gesendete Signal einfach nicht durchgelassen wird. Kann das vielleicht sein?

    Ich freue mich auf Eure Hilfe.

    Viele Grüße
    Christian
    Zuletzt geändert von bemano; 01.09.2017, 19:16.

    #2
    Da knx bisher ein OH1-Binding ist, musst Du für das Binding kein Thing anlegen, und eine leere Thing-Datei schon gar nicht. Allerdings sieht man ja schön im Log, dass sowohl openHAB startet als auch augenscheinlich erfolgreich Kontakt zu knx aufnimmt:
    Code:
    2017-09-01 13:31:08.089 [INFO ] [nx.internal.connection.KNXConnection] - Established connection to KNX bus on 192.168.1.2:3671 in mode TUNNEL.
    Anschließend geht aber irgendwas gewaltig schief und openHAB beendet sich selbst mit einer MultiException. Oder hast Du das von außen verursacht?

    Was das nicht funktionierende Schalten auf dem Bus betrifft: kommentiere bitte mal den Parameter localIp aus der knx.cfg aus.

    ACHTUNG! Da Du den Wert schon gesetzt hast, reicht einfaches Auskommentieren nicht, Du musst zusätzlich in die karaf Konsole und dort die Konfiguration anpassen.

    Login mit putty auf localhost:8101 mit dem Usernamen openhab. Wenn die Passwortabfrage kommt, mit habopen antworten.

    Anschließend gibst Du
    Code:
    config:edit org.openhab.knx
    config:property-delete localIp
    config:update
    ein.
    Danach sollte der Parameter gelöscht sein.

    Kommentar


      #3
      Guten Morgen,

      erst einmal vielen Dank für Deine Antwort.

      Ich habe nach meinem Test den Dienst von openHAB2 schnell beendet, da ich das Log so übersichtlich wie möglich haben wollte. Ich bin bisher davon ausgegangen, dass die Exception dabei auftritt.

      Ich nehme die home.things heraus. War der Meinung leer dürfte sie nichts kaputt machen.

      Deine vorgeschlagene Konfig-Anpassung kann ich leider erst Montag, wenn ich es schaffe vielleicht schon morgen testen. Ich bin gespannt und gebe eine Rückmeldung.

      Bis dahin vielen Dank,
      Christian

      Kommentar


        #4
        Zitat von bemano Beitrag anzeigen
        Ich nehme die home.things heraus. War der Meinung leer dürfte sie nichts kaputt machen.
        Ja, kaputt macht sie sicher nichts, nur unnütz ist sie halt.

        Kommentar


          #5
          Die Konfiguration habe ich soeben mal angepasst und getestet (bin mal schnell rüber gefahren, bin doch so neugierig). Leider brachte dies jedoch keinen Erfolg. Hier noch mal die aktuellen Logs.

          Code:
          events.log
          
          2017-09-02 15:38:21.610 [ItemCommandEvent          ] - Item 'SW_UG_LI' received command ON
          2017-09-02 15:38:21.746 [ItemStateChangedEvent     ] - SW_UG_LI changed from NULL to ON
          2017-09-02 15:38:23.308 [ItemCommandEvent          ] - Item 'SW_UG_LI' received command OFF
          2017-09-02 15:38:23.368 [ItemStateChangedEvent     ] - SW_UG_LI changed from ON to OFF
          2017-09-02 15:38:26.040 [ItemCommandEvent          ] - Item 'SW_UG_LI2' received command ON
          2017-09-02 15:38:29.692 [ItemCommandEvent          ] - Item 'SW_UG_LI2' received command OFF
          2017-09-02 15:38:32.474 [ItemCommandEvent          ] - Item 'SW_UG_LI2' received command ON
          2017-09-02 15:38:34.387 [ItemCommandEvent          ] - Item 'SW_UG_LI2' received command OFF
          2017-09-02 15:38:36.524 [ItemCommandEvent          ] - Item 'SW_UG_LI3' received command ON
          2017-09-02 15:38:36.537 [ItemStateChangedEvent     ] - SW_UG_LI3 changed from NULL to ON
          2017-09-02 15:38:38.089 [ItemCommandEvent          ] - Item 'SW_UG_LI3' received command OFF
          2017-09-02 15:38:38.101 [ItemStateChangedEvent     ] - SW_UG_LI3 changed from ON to OFF
          2017-09-02 15:38:40.239 [ItemCommandEvent          ] - Item 'SW_UG_LI3' received command ON
          2017-09-02 15:38:40.251 [ItemStateChangedEvent     ] - SW_UG_LI3 changed from OFF to ON
          2017-09-02 15:38:42.240 [ItemCommandEvent          ] - Item 'SW_UG_LI3' received command OFF
          2017-09-02 15:38:42.263 [ItemStateChangedEvent     ] - SW_UG_LI3 changed from ON to OFF
          2017-09-02 15:38:43.892 [ItemCommandEvent          ] - Item 'SW_UG_LI' received command ON
          2017-09-02 15:38:43.954 [ItemStateChangedEvent     ] - SW_UG_LI changed from OFF to ON
          2017-09-02 15:38:45.630 [ItemCommandEvent          ] - Item 'SW_UG_LI' received command OFF
          2017-09-02 15:38:45.704 [ItemStateChangedEvent     ] - SW_UG_LI changed from ON to OFF
          2017-09-02 15:38:49.209 [ItemCommandEvent          ] - Item 'SW_UG_LI3' received command ON
          2017-09-02 15:38:49.232 [ItemStateChangedEvent     ] - SW_UG_LI3 changed from OFF to ON
          2017-09-02 15:38:53.134 [ItemCommandEvent          ] - Item 'SW_UG_LI3' received command OFF
          2017-09-02 15:38:53.134 [ItemStateChangedEvent     ] - SW_UG_LI3 changed from ON to OFF
          2017-09-02 15:41:37.323 [ItemCommandEvent          ] - Item 'SW_UG_LI3' received command ON
          2017-09-02 15:41:37.343 [ItemStateChangedEvent     ] - SW_UG_LI3 changed from OFF to ON
          2017-09-02 15:41:38.912 [ItemCommandEvent          ] - Item 'SW_UG_LI3' received command OFF
          2017-09-02 15:41:38.912 [ItemStateChangedEvent     ] - SW_UG_LI3 changed from ON to OFF
          2017-09-02 15:41:39.424 [ItemCommandEvent          ] - Item 'SW_UG_LI2' received command ON
          2017-09-02 15:41:40.927 [ItemCommandEvent          ] - Item 'SW_UG_LI' received command ON
          2017-09-02 15:41:40.995 [ItemStateChangedEvent     ] - SW_UG_LI changed from OFF to ON
          2017-09-02 15:41:45.127 [ItemCommandEvent          ] - Item 'SW_UG_LI3' received command ON
          2017-09-02 15:41:45.147 [ItemStateChangedEvent     ] - SW_UG_LI3 changed from OFF to ON
          2017-09-02 15:41:47.845 [ItemCommandEvent          ] - Item 'SW_UG_LI3' received command OFF
          2017-09-02 15:41:47.845 [ItemStateChangedEvent     ] - SW_UG_LI3 changed from ON to OFF
          2017-09-02 15:41:57.132 [ItemCommandEvent          ] - Item 'SW_UG_LI3' received command ON
          2017-09-02 15:41:57.156 [ItemStateChangedEvent     ] - SW_UG_LI3 changed from OFF to ON
          2017-09-02 15:42:12.783 [ItemCommandEvent          ] - Item 'SW_UG_LI3' received command OFF
          2017-09-02 15:42:12.783 [ItemStateChangedEvent     ] - SW_UG_LI3 changed from ON to OFF
          Code:
          openhab.log
          
          Sep 02, 2017 3:37:41 PM org.apache.karaf.main.lock.SimpleFileLock lock
          INFORMATION: Trying to lock C:\openHAB2\userdata\tmp\lock
          Sep 02, 2017 3:37:41 PM org.apache.karaf.main.lock.SimpleFileLock lock
          INFORMATION: Lock acquired
          Sep 02, 2017 3:37:41 PM org.apache.karaf.main.Main$KarafLockCallback lockAquired
          INFORMATION: Lock acquired. Setting startlevel to 100
          2017-09-02 15:38:00.763 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'home.items'
          2017-09-02 15:38:02.839 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'home.sitemap'
          2017-09-02 15:38:03.870 [INFO ] [.dashboard.internal.DashboardService] - Started dashboard at http://192.168.1.5:8080
          2017-09-02 15:38:03.995 [INFO ] [.dashboard.internal.DashboardService] - Started dashboard at https://192.168.1.5:8443
          2017-09-02 15:38:04.152 [INFO ] [basic.internal.servlet.WebAppServlet] - Started Basic UI at /basicui/app
          2017-09-02 15:38:04.198 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui
          2017-09-02 15:38:04.230 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel
          2017-09-02 15:38:05.058 [INFO ] [nx.internal.connection.KNXConnection] - Established connection to KNX bus on 192.168.1.2:3671 in mode TUNNEL.
          2017-09-02 15:38:15.216 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'SW_UG_LI2' from KNX bus: timeout waiting for group read response: timeout
          2017-09-02 15:38:15.216 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '1/3/13' = '2'
          2017-09-02 15:38:25.346 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'SW_UG_LI2' from KNX bus: timeout waiting for group read response: timeout
          2017-09-02 15:38:25.346 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '1/3/13' = '1'
          2017-09-02 15:38:35.483 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'SW_UG_LI2' from KNX bus: timeout waiting for group read response: timeout
          2017-09-02 15:38:35.483 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '1/3/13' = '0'
          2017-09-02 15:38:45.612 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'SW_UG_LI2' from KNX bus: timeout waiting for group read response: timeout
          2017-09-02 15:38:45.612 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Give up, could not read address '1/3/13' after '3' retries.
          2017-09-02 15:47:42.402 [WARN ] [tuwien.auto.calimero                ] - KNXnet/IP Tunneling 192.168.1.2:3671: close connection - no heartbeat response
          2017-09-02 15:47:42.433 [WARN ] [nx.internal.connection.KNXConnection] - KNX link has been lost (reason: no heartbeat response on object tunneling link link (closed) 192.168.1.2:3671 TP1 medium, device 0.0.0, hopcount 6)
          2017-09-02 15:47:42.433 [ERROR] [.binding.knx.internal.bus.KNXBinding] - Received detach Event.
          Ich tendiere immer mehr dahin, dass ggf. die unterschiedlichen Linien nicht miteinander kommunizieren können und die Signale daher gar nicht am Aktor ankommen. Leider habe ich hier nur ein IP Interface innerhalb der Heizungs-Linie. Schalter SW_UG_LI3 sollte jedoch auf einer Adresse innerhalb der Heizungs-Linie liegen, dort konnte ich aber auch keine Änderungen feststellen.

          Sehr seltsam alles .

          Kommentar


            #6
            Normalerweise werden alle Gruppenbefehle zwischen getrennten Linien gefiltert, um den Bus nicht zu überlasten. In der ETS musst Du alle Gruppenadressen markieren, damit sie nicht gefiltert werden.

            Kommen denn die ganzen Events von der UI, oder von einem "echten" Schalter, der in openHAB empfangen wird?
            Zuletzt geändert von udo1toni; 02.09.2017, 18:21.

            Kommentar


              #7
              Du meinst ich lausche einfach Mal per openHAB, was auf dem BUS so ankommt, an welchem mein IP-Interface hängt? Interessante Idee! Kann ich dies einfach über die Switch-Syntax mit der von mir zu wählenden Gruppe Adresse?

              Code:
              Switch Schalter "mein Testschalter" { knx="<a/b/c" }

              Kommentar


                #8
                Ich meinte eher, auf der Linie, an der Du Dich befindest, sind ja auch Geräte angeschlossen. Wenn Du die in openHAB anlegst, müsste openHAB ja mitbekommen, wenn Du z.B. einen Schalter betätigst, oder z.B. eine Temperatur über den Bus rein kommt.

                Du kannst auch das Logging für das knx-Binding auf debug ändern:
                Code:
                // login karaf:
                ssh openhab@localhost -p 8101
                // (password habopen)
                log:set DEBUG org.openhab.binding.knx
                Rückgängig machst Du das später, in dem Du das DEBUG mit DEFAULT (oder wahlweise z.B. INFO) ersetzt. Anschließend kannst Du mit log:tail an der karaf Konsole mitverfolgen, was im log landet.
                Wenn knx im DEBUG-Modus loggt, werden alle Gruppentelegramme, die über den Bus kommen angezeigt, auch solche, für die openHAB kein passendes Item findet - damit kann man also prima sehen, ob die Verbindung überhaupt funktioniert.

                Kommentar


                  #9
                  Dein geschriebener Code war Gold wert! Ich konnte über das Logging sehen, dass Signale erkannt werden. Diese gehörten alle zu den Heizungs-Gruppenadressen. Über eine entsprechende Text-Anzeige konnte ich mir dann die Soll- sowie Ist-Temperaturen erfolgreich per openHAB2 ausgeben lassen. Die generelle Kommunikation funktioniert also, die Config sollte demnach passen.

                  Dass ich meinen Test-Schalter nicht schalten konnte, wir somit an den Filter-Einstellungen der Linienkoppler liegen. Mein nächstes Problem wird also sein, die gewünschten Gruppenadresse erreichbar zu machen. Hier werde ich jedoch ohne ETS nicht weiterkommen. Hier muss ich mich mal ein wenig einlesen. Momentan weiß ich noch nicht, wie ich die Einstellungen vornehmen soll, da ich bisher nur den einen Zugang per IP-Interface in der Heizungslinie gefunden habe. Vielleicht haben "die Programmierer" immer extra eine Schnittstelle angeschlossen und diese nach erledigter Arbeit wieder mitgenommen...

                  Ich denke mal die Schnittstelle aus dem Heizungsnetz kann ich nicht "mal eben" für die Programmierung der anderen Linien "einfach umhängen", da die Gruppenadresse der Schnittstelle dann nicht zur Linie passt, korrekt?

                  Dir udo1toni noch einmal vielen Dank für die Hilfe. Du hast mir sehr weitergeholfen .

                  Kommentar


                    #10
                    Nein, zum programmieren kann man sich "irgendwo" am Bus ankoppeln, vorzugsweise natürlich am obersten Ast, also z.B. an der Hauptlinie oder am Backbone. Grundsätzlich kann man Linienkoppler "durchlässig" machen. ETS "weiß" automatisch, welche Gruppenadressen linienübergreifend benötigt werden und setzt entsprechend automatisch Filter. Wenn man nun zusätzliche GA sehen möchte, muss man die halt entsprechend kennzeichnen ("Gruppenadresse nicht filtern").

                    Kommentar


                      #11
                      Zitat von udo1toni Beitrag anzeigen
                      Wenn man nun zusätzliche GA sehen möchte, muss man die halt entsprechend kennzeichnen ("Gruppenadresse nicht filtern").
                      Oder besser noch: ein Dummy-Gerät an der Adresse platzieren, wo openHAB lauscht und die GAs dort einpflegen.
                      Dann wird die GA nur in die Filtertabellen der Koppler eingetragen, wo es erforderlich ist.

                      Gruß, Klaus

                      Kommentar


                        #12
                        Das heißt ich lege einen Dummy-Aktor auf der openHAB2-Linie an und lasse diesen auf alle in openHAB2 benötigen Adressen lauschen. Dadurch wird bei den betroffenen Linienkopplern automatisch die Adresse mit in den Filter aufgenommen...?!

                        Dann muss ich aber nach dem Konfigurieren des Dummies noch die "Applikation" aller Koppler neu übertragen, richtig?

                        Mein Problem wird hier wieder sein, dass ich aktuell gar nicht unbedingt an alle benötigten Koppler dran komme (weil mein Interface in der Heizungs-Linie hängt).

                        Kommentar


                          #13
                          Genau.
                          Und wenn die Schnittstellen-Adresse stimmt, kommst du von überall an die Koppler dran.

                          Kommentar

                          Lädt...
                          X